--- gcc-8-8.2.0.orig/debian/NEWS.gcc +++ gcc-8-8.2.0/debian/NEWS.gcc @@ -0,0 +1,917 @@ + GCC 8 Release Series + Changes, New Features, and Fixes + +This page is a "brief" summary of some of the huge number of improvements in +GCC 8. You may also want to check out our Porting_to_GCC_8 page and the full +GCC_documentation. + +Caveats + + * Support for the obsolete SDB/coff debug info format has been removed. The + option -gcoff no longer does anything. + * The Cilk+ extensions to the C and C++ languages have been removed. + * The MPX extensions to the C and C++ languages have been deprecated and + will be removed in a future release. + * The extension allowing arithmetic on std::atomic and types like + std::atomic has been deprecated. + * The non-standard C++0x std::copy_exception function was removed. std:: + make_exception_ptr should be used instead. + * Support for the powerpc*-*-*spe* target ports which have been recently + unmaintained and untested in GCC has been declared obsolete in GCC 8 as + announced here. Unless there is activity to revive them, the next release + of GCC will have their sources permanently removed. + +General Improvements + + * Inter-procedural optimization improvements: + o Reworked run-time estimation metrics leading to more realistic + guesses driving inliner and cloning heuristics. + o The ipa-pure-const pass is extended to propagate the malloc + attribute, and the corresponding warning option -Wsuggest- + attribute=malloc emits a diagnostic for functions which can be + annotated with the malloc attribute. + * Profile driven optimization improvements: + o New infrastructure for representing profiles (both statically + guessed and profile feedback) which allows propagation of + additional information about the reliability of the profile. + o A number of improvements in the profile updating code solving + problems found by new verification code. + o Static detection of code which is not executed in a valid run of + the program. This includes paths which trigger undefined behavior + as well as calls to functions declared with the cold attribute. + Newly the noreturn attribute does not imply all effects of cold to + differentiate between exit (which is noreturn) and abort (which is + in addition not executed in valid runs). + o -freorder-blocks-and-partition, a pass splitting function bodies + into hot and cold regions, is now enabled by default at -O2 and + higher for x86 and x86-64. + * Link-time optimization improvements: + o We have significantly improved debug information on ELF targets + using DWARF by properly preserving language-specific information. + This allows for example the libstdc++ pretty-printers to work with + LTO optimized executables. + * A new option -fcf-protection=[full|branch|return|none] is introduced to + perform code instrumentation to increase program security by checking + that target addresses of control-flow transfer instructions (such as + indirect function call, function return, indirect jump) are valid. + Currently the instrumentation is supported on x86 GNU/Linux targets only. + See the user guide for further information about the option syntax and + section "New Targets and Target Specific Improvements" for IA-32/x86-64 + for more details. + * The -gcolumn-info option is now enabled by default. It includes column + information in addition to just filenames and line numbers in DWARF + debugging information. + * The polyhedral-based loop nest optimization pass -floop-nest-optimize has + been overhauled. It's still considered experimental and may not result in + any runtime improvements. + * Two new classical loop nest optimization passes have been added. -floop- + unroll-and-jam performs outer loop unrolling and fusing of the inner loop + copies. -floop-interchange exchanges loops in a loop nest to improve data + locality. Both passes are enabled by default at -O3 and above. + * The classic loop nest optimization pass -ftree-loop-distribution has been + improved and enabled by default at -O3 and above. It supports loop nest + distribution in some restricted scenarios; it also supports cancellable + innermost loop distribution with loop versioning under run-time alias + checks. + * The new option -fstack-clash-protection causes the compiler to insert + probes whenever stack space is allocated statically or dynamically to + reliably detect stack overflows and thus mitigate the attack vector that + relies on jumping over a stack guard page as provided by the operating + system. + * A new pragma GCC unroll has been implemented in the C family of + languages, as well as Fortran and Ada, so as to make it possible for the + user to have a finer-grained control over the loop unrolling + optimization. + * GCC has been enhanced to detect more instances of meaningless or mutually + exclusive attribute specifications and handle such conflicts more + consistently. Mutually exclusive attribute specifications are ignored + with a warning regardless of whether they appear on the same declaration + or on distinct declarations of the same entity. For example, because the + noreturn attribute on the second declaration below is mutually exclusive + with the malloc attribute on the first, it is ignored and a warning is + issued. + void* __attribute__ ((malloc)) f (unsigned); + void* __attribute__ ((noreturn)) f (unsigned); + + warning: ignoring attribute 'noreturn' because it conflicts with + attribute 'malloc' [-Wattributes] + * The gcov tool can distinguish functions that begin on a same line in a + source file. This can be a different template instantiation or a class + constructor: + File 'ins.C' + Lines executed:100.00% of 8 + Creating 'ins.C.gcov' + + -: 0:Source:ins.C + -: 0:Graph:ins.gcno + -: 0:Data:ins.gcda + -: 0:Runs:1 + -: 0:Programs:1 + -: 1:template + -: 2:class Foo + -: 3:{ + -: 4: public: + 2: 5: Foo(): b (1000) {} + ------------------ + Foo::Foo(): + 1: 5: Foo(): b (1000) {} + ------------------ + Foo::Foo(): + 1: 5: Foo(): b (1000) {} + ------------------ + 2: 6: void inc () { b++; } + ------------------ + Foo::inc(): + 1: 6: void inc () { b++; } + ------------------ + Foo::inc(): + 1: 6: void inc () { b++; } + ------------------ + -: 7: + -: 8: private: + -: 9: int b; + -: 10:}; + -: 11: + 1: 12:int main(int argc, char **argv) + -: 13:{ + 1: 14: Foo a; + 1: 15: Foo b; + -: 16: + 1: 17: a.inc (); + 1: 18: b.inc (); + 1: 19:} + * The gcov tool has more accurate numbers for execution of lines in a + source file. + * The gcov tool can use TERM colors to provide more readable output. + * AddressSanitizer gained a new pair of sanitization options, - + fsanitize=pointer-compare and -fsanitize=pointer-subtract, which warn + about subtraction (or comparison) of pointers that point to a different + memory object: + int + main () + { + /* Heap allocated memory. */ + char *heap1 = (char *)__builtin_malloc (42); + char *heap2 = (char *)__builtin_malloc (42); + if (heap1 > heap2) + return 1; + + return 0; + } + + ==17465==ERROR: AddressSanitizer: invalid-pointer-pair: + 0x604000000010 0x604000000050 + #0 0x40070f in main /tmp/pointer-compare.c:7 + #1 0x7ffff6a72a86 in __libc_start_main (/lib64/ + libc.so.6+0x21a86) + #2 0x400629 in _start (/tmp/a.out+0x400629) + + 0x604000000010 is located 0 bytes inside of 42-byte region + [0x604000000010,0x60400000003a) + allocated by thread T0 here: + #0 0x7ffff6efb390 in __interceptor_malloc ../../../../ + libsanitizer/asan/asan_malloc_linux.cc:86 + #1 0x4006ea in main /tmp/pointer-compare.c:5 + #2 0x7ffff6a72a86 in __libc_start_main (/lib64/ + libc.so.6+0x21a86) + + 0x604000000050 is located 0 bytes inside of 42-byte region + [0x604000000050,0x60400000007a) + allocated by thread T0 here: + #0 0x7ffff6efb390 in __interceptor_malloc ../../../../ + libsanitizer/asan/asan_malloc_linux.cc:86 + #1 0x4006f8 in main /tmp/pointer-compare.c:6 + #2 0x7ffff6a72a86 in __libc_start_main (/lib64/ + libc.so.6+0x21a86) + + SUMMARY: AddressSanitizer: invalid-pointer-pair /tmp/pointer- + compare.c:7 in main + * The store merging pass has been enhanced to handle bit-fields and not + just constant stores, but also data copying from adjacent memory + locations into other adjacent memory locations, including bitwise logical + operations on the data. The pass can also handle byte swapping into + memory locations. + * The undefined behavior sanitizer gained two new options included in - + fsanitize=undefined: -fsanitize=builtin which diagnoses at run time + invalid arguments to __builtin_clz or __builtin_ctz prefixed builtins, + and -fsanitize=pointer-overflow which performs cheap run time tests for + pointer wrapping. + +New Languages and Language specific improvements + +Ada + + * For its internal exception handling used on the host for error recovery + in the front-end, the compiler now relies on the native exception + handling mechanism of the host platform, which should be more efficient + than the former mechanism. + +BRIG (HSAIL) + +In this release cycle, the focus for the BRIGFE was on stabilization and +performance improvements. Also a couple of completely new features were added. + * Improved support for function and module scope group segment variables. + PRM specs define function and module scope group segment variables as an + experimental feature. However, PRM test suite uses them. Now group + segment is handled by separate book keeping of module scope and function + (kernel) offsets. Each function has a "frame" in the group segment offset + to which is given as an argument, similar to traditional call stack frame + handling. + * Reduce the number of type conversions due to the untyped HSAIL registers. + Instead of always representing the HSAIL's untyped registers as unsigned + int, the gccbrig now pre-analyzes the BRIG code and builds the register + variables as a type used the most when storing or reading data to/from + each register. This reduces the number of total casts which cannot be + always optimized away. + * Support for BRIG_KIND_NONE directives. + * Made -O3 the default optimization level for BRIGFE. + * Fixed illegal addresses generated from address expressions which refer + only to offset 0. + * Fixed a bug with reg+offset addressing on 32b segments. In 'large' mode, + the offset is treated as 32bits unless it's in global, read-only or + kernarg address space. + * Fixed a crash caused sometimes by calls with more than 4 arguments. + * Fixed a mis-execution issue with kernels that have both unexpanded ID + functions and calls to subfunctions. + * Treat HSAIL barrier builtins as setjmp/longjump style functions to avoid + illegal optimizations. + * Ensure per WI copies of private variables are aligned correctly. + * libhsail-rt: Assume the host runtime allocates the work group memory. + +C family + + * New command-line options have been added for the C and C++ compilers: + o -Wmultistatement-macros warns about unsafe macros expanding to + multiple statements used as a body of a statement such as if, else, + while, switch, or for. + o -Wstringop-truncation warns for calls to bounded string + manipulation functions such as strncat, strncpy, and stpncpy that + might either truncate the copied string or leave the destination + unchanged. For example, the following call to strncat is diagnosed + because it appends just three of the four characters from the + source string. + void append (char *buf, size_t bufsize) + { + strncat (buf, ".txt", 3); + } + warning: 'strncat' output truncated copying 3 bytes from a + string of length 4 [-Wstringop-truncation] + Similarly, in the following example, the call to strncpy specifies + the size of the destination buffer as the bound. If the length of + the source string is equal to or greater than this size the result + of the copy will not be NUL-terminated. Therefore, the call is also + diagnosed. To avoid the warning, specify sizeof buf - 1 as the + bound and set the last element of the buffer to NUL. + void copy (const char *s) + { + char buf[80]; + strncpy (buf, s, sizeof buf); + … + } + warning: 'strncpy' specified bound 80 equals destination size + [-Wstringop-truncation] + The -Wstringop-truncation option is included in -Wall. + Note that due to GCC bug 82944, defining strncat, strncpy, or + stpncpy as a macro in a system header as some implementations do, + suppresses the warning. + o -Wif-not-aligned controls warnings issued in response to invalid + uses of objects declared with attribute warn_if_not_aligned. + The -Wif-not-aligned option is included in -Wall. + o -Wmissing-attributes warns when a declaration of a function is + missing one or more attributes that a related function is declared + with and whose absence may adversely affect the correctness or + efficiency of generated code. For example, in C++, the warning is + issued when an explicit specialization of a primary template + declared with attribute alloc_align, alloc_size, assume_aligned, + format, format_arg, malloc, or nonnull is declared without it. + Attributes deprecated, error, and warning suppress the warning. + The -Wmissing-attributes option is included in -Wall. + o -Wpacked-not-aligned warns when a struct or union declared with + attribute packed defines a member with an explicitly specified + alignment greater than 1. Such a member will wind up under-aligned. + For example, a warning will be issued for the definition of struct + A in the following: + struct __attribute__ ((aligned (8))) + S8 { char a[8]; }; + + struct __attribute__ ((packed)) A + { + struct S8 s8; + }; + warning: alignment 1 of 'struct S' is less than 8 [-Wpacked- + not-aligned] + The -Wpacked-not-aligned option is included in -Wall. + o -Wcast-function-type warns when a function pointer is cast to an + incompatible function pointer. This warning is enabled by -Wextra. + o -Wsizeof-pointer-div warns for suspicious divisions of the size of + a pointer by the size of the elements it points to, which looks + like the usual way to compute the array size but won't work out + correctly with pointers. This warning is enabled by -Wall. + o -Wcast-align=strict warns whenever a pointer is cast such that the + required alignment of the target is increased. For example, warn if + a char * is cast to an int * regardless of the target machine. + o -fprofile-abs-path creates absolute path names in the .gcno files. + This allows gcov to find the correct sources in projects where + compilations occur with different working directories. + * -fno-strict-overflow is now mapped to -fwrapv -fwrapv-pointer and signed + integer overflow is now undefined by default at all optimization levels. + Using -fsanitize=signed-integer-overflow is now the preferred way to + audit code, -Wstrict-overflow is deprecated. + * The -Warray-bounds option has been improved to detect more instances of + out-of-bounds array indices and pointer offsets. For example, negative or + excessive indices into flexible array members and string literals are + detected. + * The -Wrestrict option introduced in GCC 7 has been enhanced to detect + many more instances of overlapping accesses to objects via restrict- + qualified arguments to standard memory and string manipulation functions + such as memcpy and strcpy. For example, the strcpy call in the function + below attempts to truncate the string by replacing its initial characters + with the last four. However, because the function writes the terminating + NUL into a[4], the copies overlap and the call is diagnosed. + void f (void) + { + char a[] = "abcd1234"; + strcpy (a, a + 4); + … + } + The -Wrestrict option is included in -Wall. + * Several optimizer enhancements have enabled improvements to the -Wformat- + overflow and -Wformat-truncation options. The warnings detect more + instances of buffer overflow and truncation than in GCC 7 and are better + at avoiding certain kinds of false positives. + * When reporting mismatching argument types at a function call, the C and + C++ compilers now underline both the argument and the pertinent parameter + in the declaration. + $ gcc arg-type-mismatch.cc + arg-type-mismatch.cc: In function 'int caller(int, int, + float)': + arg-type-mismatch.cc:5:24: error: invalid conversion from 'int' + to 'const char*' [-fpermissive] + return callee(first, second, third); + ^~~~~~ + arg-type-mismatch.cc:1:40: note: initializing argument 2 of 'int + callee(int, const char*, float)' + extern int callee(int one, const char *two, float three); + ~~~~~~~~~~~~^~~ + * When reporting on unrecognized identifiers, the C and C++ compilers will + now emit fix-it hints suggesting #include directives for various headers + in the C and C++ standard libraries. + $ gcc incomplete.c + incomplete.c: In function 'test': + incomplete.c:3:10: error: 'NULL' undeclared (first use in this + function) + return NULL; + ^~~~ + incomplete.c:3:10: note: 'NULL' is defined in header + ''; did you forget to '#include + '? + incomplete.c:1:1: + +#include + const char *test(void) + incomplete.c:3:10: + return NULL; + ^~~~ + incomplete.c:3:10: note: each undeclared identifier is reported only once + for each function it appears in + $ gcc incomplete.cc + incomplete.cc:1:6: error: 'string' in namespace 'std' + does not name a type + std::string s("hello world"); + ^~~~~~ + incomplete.cc:1:1: note: 'std::string' is defined in header + ''; did you forget to '#include '? + +#include + std::string s("hello world"); + ^~~ + * The C and C++ compilers now use more intuitive locations when reporting + on missing semicolons, and offer fix-it hints: + $ gcc t.c + t.c: In function 'test': + t.c:3:12: error: expected ';' before '}' token + return 42 + ^ + ; + } + ~ + * When reporting on missing '}' and ')' tokens, the C and C++ compilers + will now highlight the corresponding '{' and '(' token, issuing a 'note' + if it's on a separate line: + $ gcc unclosed.c + unclosed.c: In function 'log_when_out_of_range': + unclosed.c:12:50: error: expected ')' before '{' + token + && (temperature < MIN || temperature > MAX) { + ^~ + ) + unclosed.c:11:6: note: to match this '(' + if (logging_enabled && check_range () + ^ + or highlighting it directly if it's on the same line: + $ gcc unclosed-2.c + unclosed-2.c: In function 'test': + unclosed-2.c:8:45: error: expected ')' before '{' + token + if (temperature < MIN || temperature > MAX { + ~ ^~ + ) + They will also emit fix-it hints. + +C++ + + * The value of the C++11 alignof operator has been corrected to match C + _Alignof (minimum alignment) rather than GNU __alignof__ (preferred + alignment); on ia32 targets this means that alignof(double) is now 4 + rather than 8. Code that wants the preferred alignment should use + __alignof__ instead. + * New command-line options have been added for the C++ compiler to control + warnings: + o -Wclass-memaccess warns when objects of non-trivial class types are + manipulated in potentially unsafe ways by raw memory functions such + as memcpy, or realloc. The warning helps detect calls that bypass + user-defined constructors or copy-assignment operators, corrupt + virtual table pointers, data members of const-qualified types or + references, or member pointers. The warning also detects calls that + would bypass access controls to data members. For example, a call + such as: + memcpy (&std::cout, &std::cerr, sizeof std::cout); + results in + warning: 'void* memcpy(void*, const void*, long unsigned int)' + writing to an object of type 'std::ostream' {aka 'class std:: + basic_ostream'} with no trivial copy-assignment [-Wclass- + memaccess] + The -Wclass-memaccess option is included in -Wall. + * The C++ front end has experimental support for some of the upcoming C++2a + draft features with the -std=c++2a or -std=gnu++2a flags, including + designated initializers, default member initializers for bit-fields, + __VA_OPT__ (except that #__VA_OPT__ is unsupported), lambda [=, this] + captures, etc. For a full list of new features, see the_C++_status_page. + * When reporting on attempts to access private fields of a class or struct, + the C++ compiler will now offer fix-it hints showing how to use an + accessor function to get at the field in question, if one exists. + $ gcc accessor.cc + accessor.cc: In function 'void test(foo*)': + accessor.cc:12:12: error: 'double foo::m_ratio' is private + within this context + if (ptr->m_ratio >= 0.5) + ^~~~~~~ + accessor.cc:7:10: note: declared private here + double m_ratio; + ^~~~~~~ + accessor.cc:12:12: note: field 'double foo::m_ratio' can be + accessed via 'double foo::get_ratio() const' + if (ptr->m_ratio >= 0.5) + ^~~~~~~ + get_ratio() + * The C++ compiler can now give you a hint if you use a macro before it was + defined (e.g. if you mess up the order of your #include directives): + $ gcc ordering.cc + ordering.cc:2:24: error: expected ';' at end of member + declaration + virtual void clone() const OVERRIDE { } + ^~~~~ + ; + ordering.cc:2:30: error: 'OVERRIDE' does not name a type + virtual void clone() const OVERRIDE { } + ^~~~~~~~ + ordering.cc:2:30: note: the macro 'OVERRIDE' had not yet been + defined + In file included from ordering.cc:5: + c++11-compat.h:2: note: it was later defined here + #define OVERRIDE override + * The -Wold-style-cast diagnostic can now emit fix-it hints telling you + when you can use a static_cast, const_cast, or reinterpret_cast. + $ gcc -c old-style-cast-fixits.cc -Wold-style-cast + old-style-cast-fixits.cc: In function 'void test(void*)': + old-style-cast-fixits.cc:5:19: warning: use of old-style cast to + 'struct foo*' [-Wold-style-cast] + foo *f = (foo *)ptr; + ^~~ + ---------- + static_cast (ptr) + * When reporting on problems within extern "C" linkage specifications, the + C++ compiler will now display the location of the start of the extern + "C". + $ gcc -c extern-c.cc + extern-c.cc:3:1: error: template with C linkage + template void test (void); + ^~~~~~~~ + In file included from extern-c.cc:1: + unclosed.h:1:1: note: 'extern "C"' linkage started here + extern "C" { + ^~~~~~~~~~ + extern-c.cc:3:39: error: expected '}' at end of input + template void test (void); + ^ + In file included from extern-c.cc:1: + unclosed.h:1:12: note: to match this '{' + extern "C" { + ^ + * When reporting on mismatching template types, the C++ compiler will now + use color to highlight the mismatching parts of the template, and will + elide the parameters that are common between two mismatching templates, + printing [...] instead: + $ gcc templates.cc + templates.cc: In function 'void test()': + templates.cc:9:8: error: could not convert 'vector()' + from 'vector' to 'vector' + fn_1(vector ()); + ^~~~~~~~~~~~~~~~~ + templates.cc:10:8: error: could not convert 'map + ()' from 'map<[...],double>' to 'map<[...],int>' + fn_2(map()); + ^~~~~~~~~~~~~~~~~~ + Those [...] elided parameters can be seen using -fno-elide-type: + $ gcc templates.cc -fno-elide-type + templates.cc: In function 'void test()': + templates.cc:9:8: error: could not convert 'vector()' + from 'vector' to 'vector' + fn_1(vector ()); + ^~~~~~~~~~~~~~~~~ + templates.cc:10:8: error: could not convert 'map + ()' from 'map' to 'map' + fn_2(map()); + ^~~~~~~~~~~~~~~~~~ + The C++ compiler has also gained an option -fdiagnostics-show-template- + tree which visualizes such mismatching templates in a hierarchical form: + $ gcc templates-2.cc -fdiagnostics-show-template-tree + templates-2.cc: In function 'void test()': + templates-2.cc:9:8: error: could not convert 'vector()' + from 'vector' to 'vector' + vector< + [double != int]> + fn_1(vector ()); + ^~~~~~~~~~~~~~~~~ + templates-2.cc:10:8: error: could not convert 'map >, vector >()' from 'map>,vector>' to 'map>,vector>' + map< + map< + [...], + vector< + [double != float]>>, + vector< + [double != float]>> + fn_2(map>, vector> ()); + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + which again works with -fno-elide-type: + $ gcc templates-2.cc -fdiagnostics-show-template-tree -fno-elide-type + templates-2.cc: In function 'void test()': + templates-2.cc:9:8: error: could not convert 'vector()' + from 'vector' to 'vector' + vector< + [double != int]> + fn_1(vector ()); + ^~~~~~~~~~~~~~~~~ + templates-2.cc:10:8: error: could not convert 'map >, vector >()' from + 'map>,vector>' to + 'map>,vector>' + map< + map< + int, + vector< + [double != float]>>, + vector< + [double != float]>> + fn_2(map>, vector> ()); + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Flowing off the end of a non-void function is considered unreachable and + may be subject to optimization on that basis. As a result of this change, + -Wreturn-type warnings are enabled by default for C++. + +Runtime Library (libstdc++) + + * Improved experimental support for C++17, including the following + features: + o Deduction guides to support class template argument deduction. + o std::filesystem implementation. + o std::char_traits and std::char_traits are usable in + constant expressions. + o std::to_chars and std::from_chars (for integers only, not for + floating point types). + * Experimental support for C++2a: std::to_address (thanks to Glen + Fernandes) and std::endian. + * On GNU/Linux, std::random_device::entropy() accesses the kernel's entropy + count for the random device, if known (thanks to Xi Ruoyao). + * Support for std::experimental::source_location. + * AddressSanitizer integration for std::vector, detecting out-of-range + accesses to the unused capacity of a vector. + * Extensions __gnu_cxx::airy_ai and __gnu_cxx::airy_bi added to the + Mathematical Special Functions. + +Fortran + + * The main version of libfortran has been changed to 5. + * Parameterized derived types, a major feature of Fortran 2003, have been + implemented. + * The maximum rank for arrays has been increased to 15, conforming to the + Fortran 2008 standard. + * Transformational intrinsics are now fully supported in initialization + expressions. + * New flag -fc-prototypes to write C prototypes for BIND(C) procedures and + variables. + * If -fmax-stack-var-size is honored if given together with -Ofast, - + fstack-arrays is no longer set in that case. + * New options -fdefault-real-16 and -fdefault-real-10 to control the + default kind of REAL variables. + * A warning is now issued if an array subscript inside a DO loop could lead + to an out-of-bounds-access. The new option -Wdo-subscript, enabled by - + Wextra, warns about this even if the compiler can not prove that the code + will be executed. + * The Fortran front end now attempts to interchange loops if it is deemed + profitable. So far, this is restricted to FORALL and DO CONCURRENT + statements with multiple indices. This behavior be controlled with the + new flag -ffrontend-loop-interchange, which is enabled with optimization + by default. The -Wfrontend-loop-interchange option warns about such + occurrences. + * When an actual argument contains too few elements for a dummy argument, + an error is now issued. The -std=legacy option can be used to still + compile such code. + * The RECL= argument to OPEN and INQUIRE statements now allows 64-bit + integers, making records larger than 2GiB possible. + * The GFORTRAN_DEFAULT_RECL environment variable no longer has any effect. + The record length for preconnected units is now larger than any practical + limit, same as for sequential access units opened without an explicit + RECL= specifier. + * Character variables longer than HUGE(0) elements are now possible on 64- + bit targets. Note that this changes the procedure call ABI for all + procedures with character arguments on 64-bit targets, as the type of the + hidden character length argument has changed. The hidden character length + argument is now of type INTEGER(C_SIZE_T). + +Go + + * GCC 8 provides a complete implementation of the Go 1.10.1 user packages. + * The garbage collector is now fully concurrent. As before, values stored + on the stack are scanned conservatively, but value stored in the heap are + scanned precisely. + * Escape analysis is fully implemented and enabled by default in the Go + frontend. This significantly reduces the number of heap allocations by + allocating values on the stack instead. + +libgccjit + +The libgccjit API gained four new entry points: + * gcc_jit_type_get_vector and + * gcc_jit_context_new_rvalue_from_vector for working with vectors, + * gcc_jit_type_get_aligned + * gcc_jit_function_get_address +The C code generated by gcc_jit_context_dump_reproducer_to_file is now easier- +to-read. + +New Targets and Target Specific Improvements + +AArch64 + + * The Armv8.4-A architecture is now supported. It can be used by specifying + the -march=armv8.4-a option. + * The Dot Product instructions are now supported as an optional extension + to the Armv8.2-A architecture and newer and are mandatory on Armv8.4-A. + The extension can be used by specifying the +dotprod architecture + extension. E.g. -march=armv8.2-a+dotprod. + * The Armv8-A +crypto extension has now been split into two extensions for + finer grained control: + o +aes which contains the Armv8-A AES crytographic instructions. + o +sha2 which contains the Armv8-A SHA2 and SHA1 cryptographic + instructions. + Using +crypto will now enable these two extensions. + * New Armv8.4-A FP16 Floating Point Multiplication Variant instructions + have been added. These instructions are mandatory in Armv8.4-A but + available as an optional extension to Armv8.2-A and Armv8.3-A. The new + extension can be used by specifying the +fp16fml architectural extension + on Armv8.2-A and Armv8.3-A. On Armv8.4-A the instructions can be enabled + by specifying +fp16. + * New cryptographic instructions have been added as optional extensions to + Armv8.2-A and newer. These instructions can be enabled with: + o +sha3 New SHA3 and SHA2 instructions from Armv8.4-A. This implies + +sha2. + o +sm4 New SM3 and SM4 instructions from Armv8.4-A. + * The Scalable Vector Extension (SVE) is now supported as an optional + extension to the Armv8.2-A architecture and newer. This support includes + automatic vectorization with SVE instructions, but it does not yet + include the SVE Arm C Language Extensions (ACLE). It can be enabled by + specifying the +sve architecture extension (for example, -march=armv8.2- + a+sve). By default, the generated code works with all vector lengths, but + it can be made specific to N-bit vectors using -msve-vector-bits=N. + * Support has been added for the following processors (GCC identifiers in + parentheses): + o Arm Cortex-A75 (cortex-a75). + o Arm Cortex-A55 (cortex-a55). + o Arm Cortex-A55/Cortex-A75 DynamIQ big.LITTLE (cortex-a75.cortex- + a55). + The GCC identifiers can be used as arguments to the -mcpu or -mtune + options, for example: -mcpu=cortex-a75 or -mtune=cortex-a75 or as + arguments to the equivalent target attributes and pragmas. + +ARC + + * Added support for: + o Fast interrupts. + o Naked functions. + o aux variable attributes. + o uncached type qualifier. + o Secure functions via sjli instruction. + * New exception handling implementation. + * Revamped trampoline implementation. + * Refactored small data feature implementation, controlled via -G command + line option. + * New support for reduced register set ARC architecture configurations, + controlled via -mrf16 command line option. + * Refurbished and improved support for zero overhead loops. Introduced - + mlpc-width command line option to control the width of lp_count register. + +ARM + + * The -mfpu option now takes a new option setting of -mfpu=auto. When set + to this the floating-point and SIMD settings are derived from the + settings of the -mcpu or -march options. The internal CPU configurations + have been updated with information about the permitted floating-point + configurations supported. See the user guide for further information + about the extended option syntax for controlling architectural extensions + via the -march option. -mfpu=auto is now the default setting unless the + compiler has been configured with an explicit --with-fpu option. + * The -march and -mcpu options now accept optional extensions to the + architecture or CPU option, allowing the user to enable or disable any + such extensions supported by that architecture or CPU such as (but not + limited to) floating-point and AdvancedSIMD. For example: the option - + mcpu=cortex-a53+nofp will generate code for the Cortex-A53 processor with + no floating-point support. This, in combination with the new -mfpu=auto + option, provides a straightforward way of specifying a valid build target + through a single -mcpu or -march option. The -mtune option accepts the + same arguments as -mcpu but only the CPU name has an effect on tuning. + The architecture extensions do not have any effect. For details of what + extensions a particular architecture or CPU option supports please refer + to the documentation. + * The -mstructure-size-boundary option has been deprecated and will be + removed in a future release. + * The default link behavior for Armv6 and Armv7-R targets has been changed + to produce BE8 format when generating big-endian images. A new flag - + mbe32 can be used to force the linker to produce legacy BE32 format + images. There is no change of behavior for Armv6-M and other Armv7 or + later targets: these already defaulted to BE8 format. This change brings + GCC into alignment with other compilers for the ARM architecture. + * The Armv8-R architecture is now supported. It can be used by specifying + the -march=armv8-r option. + * The Armv8.3-A architecture is now supported. It can be used by specifying + the -march=armv8.3-a option. + * The Armv8.4-A architecture is now supported. It can be used by specifying + the -march=armv8.4-a option. + * The Dot Product instructions are now supported as an optional extension + to the Armv8.2-A architecture and newer and are mandatory on Armv8.4-A. + The extension can be used by specifying the +dotprod architecture + extension. E.g. -march=armv8.2-a+dotprod. + * Support for setting extensions and architectures using the GCC target + pragma and attribute has been added. It can be used by specifying #pragma + GCC target ("arch=..."), #pragma GCC target ("+extension"), __attribute__ + ((target("arch=..."))) or __attribute__((target("+extension"))). + * New Armv8.4-A FP16 Floating Point Multiplication Variant instructions + have been added. These instructions are mandatory in Armv8.4-A but + available as an optional extension to Armv8.2-A and Armv8.3-A. The new + extension can be used by specifying the +fp16fml architectural extension + on Armv8.2-A and Armv8.3-A. On Armv8.4-A the instructions can be enabled + by specifying +fp16. + * Support has been added for the following processors (GCC identifiers in + parentheses): + o Arm Cortex-A75 (cortex-a75). + o Arm Cortex-A55 (cortex-a55). + o Arm Cortex-A55/Cortex-A75 DynamIQ big.LITTLE (cortex-a75.cortex- + a55). + o Arm Cortex-R52 for Armv8-R (cortex-r52). + The GCC identifiers can be used as arguments to the -mcpu or -mtune + options, for example: -mcpu=cortex-a75 or -mtune=cortex-r52 or as + arguments to the equivalent target attributes and pragmas. + +AVR + + * The AVR port now supports the following XMEGA-like devices: + ATtiny212, ATtiny214, ATtiny412, ATtiny414, ATtiny416, + ATtiny417, ATtiny814, ATtiny816, ATtiny817, ATtiny1614, + ATtiny1616, ATtiny1617, ATtiny3214, ATtiny3216, ATtiny3217 + The new devices are listed under -mmcu=avrxmega3. + o These devices see flash memory in the RAM address space, so that + features like PROGMEM and __flash are not needed any more (as + opposed to other AVR families for which read-only data will be + located in RAM except special, non-standard features are used to + locate and access such data). This requires that the compiler is + used with Binutils 2.29 or newer so that read-only_data_will_be + located_in_flash_memory. + o A new command-line option -mshort-calls is supported. This option + is used internally for multilib selection of the avrxmega3 + variants. It is not an optimization option. Do not set it by hand. + * The compiler now generates efficient_interrupt_service_routine_(ISR) + prologues_and_epilogues. This is achieved by using the new AVR_pseudo + instruction __gcc_isr which is supported and resolved by the GNU + assembler. + o As the __gcc_isr pseudo-instruction will be resolved by the + assembler, inline assembly is transparent to the process. This + means that when inline assembly uses an instruction like INC that + clobbers the condition code, then the assembler will detect this + and generate an appropriate ISR prologue / epilogue chunk to save / + restore SREG as needed. + o A new command-line option -mno-gas-isr-prologues disables the + generation of the __gcc_isr pseudo instruction. Any non-naked ISR + will save and restore SREG, tmp_reg and zero_reg, no matter whether + the respective register is clobbered or used. + o The feature is turned on per default for all optimization levels + except for -O0 and -Og. It is explicitly enabled by means of option + -mgas-isr-prologues. + o Support has been added for a new AVR_function_attribute no_gccisr. + It can be used to disable __gcc_isr pseudo instruction generation + for individual ISRs. + o This optimization is only available if GCC is configured with GNU + Binutils 2.29 or newer; or at least with a version of Binutils that + implements feature PR21683. + * The compiler no more saves / restores registers in main; the effect is + the same as if attribute OS_task was specified for main. This + optimization can be switched off by the new command-line option -mno- + main-is-OS_task. + +IA-32/x86-64 + + * The x86 port now supports the naked function attribute. + * Better tuning for znver1 and Intel Core based CPUs. + * Vectorization cost metrics has been reworked leading to significant + improvements on some benchmarks. + * GCC now supports the Intel CPU named Cannonlake through - + march=cannonlake. The switch enables the AVX512VBMI, AVX512IFMA and SHA + ISA extensions. + * GCC now supports the Intel CPU named and Icelake through -march=icelake. + The switch enables the AVX512VNNI, GFNI, VAES, AVX512VBMI2, VPCLMULQDQ, + AVX512BITALG, RDPID and AVX512VPOPCNTDQ ISA extensions. + * GCC now supports the Intel Control-flow Enforcement Technology (CET) + extension through -mibt, -mshstk, -mcet options. One of these options has + to accompany the -fcf-protection option to enable code instrumentation + for control-flow protection. + +NDS32 + + * New command-line options -mext-perf, -mext-perf2, and -mext-string have + been added for performance extension instructions. + +Nios II + + * The Nios II back end has been improved to generate better-optimized code. + Changes include switching to LRA, more accurate cost models, and more + compact code for addressing static variables. + * New command-line options -mgprel-sec= and -mr0rel-sec= have been added. + * The stack-smashing protection options are now enabled on Nios II. + +PA-RISC + + * The default call ABI on 32-bit linux has been changed from callee copies + to caller copies. This affects objects larger than eight bytes passed by + value. The goal is to improve compatibility with x86 and resolve issues + with OpenMP. + * Other PA-RISC targets are unchanged. + +PowerPC / PowerPC64 / RS6000 + + * The PowerPC SPE support is split off to a separate powerpcspe port. The + separate port is deprecated and might be removed in a future release. + * The Paired Single support (as used on some PPC750 CPUs, -mpaired, + powerpc*-*-linux*paired*) is deprecated and will be removed in a future + release. + * The Xilinx floating point support (-mxilinx-fpu, powerpc-xilinx-eabi*) is + deprecated and will be removed in a future release. + * Support for using big-endian AltiVec intrinsics on a little-endian target + (-maltivec=be) is deprecated and will be removed in a future release. + +Tile + + * The TILE-Gx port is deprecated and will be removed in a future release. + +Operating Systems + +Windows + + * GCC on Microsoft Windows can now be configured via --enable-mingw- + wildcard or --disable-mingw-wildcard to force a specific behavior for GCC + itself with regards to supporting the wildcard character. Prior versions + of GCC would follow the configuration of the MinGW runtime. This behavior + can still be obtained by not using the above options or by using -- + enable-mingw-wildcard=platform. + +Improvements for plugin authors + + * Plugins can now register a callback hook for when comments are + encountered by the C and C++ compilers, e.g. allowing for plugins to + handle documentation markup in code comments. + * The gdbinit support script for debugging GCC now has a break-on- + diagnostic command, providing an easy way to trigger a breakpoint + whenever a diagnostic is emitted. + * The API for creating fix-it hints now supports newlines, and for emitting + mutually incompatible fix-it hints for one diagnostic. + +Other significant improvements + + 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 2018-04-27. --- gcc-8-8.2.0.orig/debian/NEWS.html +++ gcc-8-8.2.0/debian/NEWS.html @@ -0,0 +1,1353 @@ + + + + + + + + + + + + + + + + + + + + + + + + + +GCC 8 Release Series — Changes, New Features, and Fixes +- GNU Project - Free Software Foundation (FSF) + + + + + + + + + +

GCC 8 Release Series
Changes, New Features, and Fixes

+ +

+This page is a "brief" summary of some of the huge number of improvements +in GCC 8. +You may also want to check out our +Porting to GCC 8 page and the +full GCC documentation. +

+ +

Caveats

+
    +
  • Support for the obsolete SDB/coff debug info format has been + removed. The option -gcoff no longer + does anything.
  • +
  • The Cilk+ extensions to the C and C++ languages have been removed.
  • +
  • + The MPX extensions to the C and C++ languages have been deprecated and + will be removed in a future release. +
  • +
  • + The extension allowing arithmetic on std::atomic<void*> + and types like std::atomic<R(*)()> + has been deprecated.
  • +
  • + The non-standard C++0x std::copy_exception function was + removed. std::make_exception_ptr should be used instead. +
  • +
  • Support for the powerpc*-*-*spe* target ports which have + been recently unmaintained and untested in GCC has been declared + obsolete in GCC 8 as announced + here. + Unless there is activity to revive them, the + next release of GCC will have their sources permanently + removed.

    +
  • +
+ + + +

General Improvements

+
    +
  • Inter-procedural optimization improvements: +
      +
    • Reworked run-time estimation metrics leading to more realistic guesses + driving inliner and cloning heuristics.
    • +
    • The ipa-pure-const pass is extended to propagate the + malloc attribute, and the corresponding warning option + -Wsuggest-attribute=malloc emits a diagnostic for + functions which can be annotated with the malloc + attribute.
    • +
  • +
  • Profile driven optimization improvements: +
      +
    • New infrastructure for representing profiles (both statically guessed + and profile feedback) which allows propagation of additional information + about the reliability of the profile.
    • +
    • A number of improvements in the profile updating code solving problems + found by new verification code.
    • +
    • Static detection of code which is not executed in a valid run of the + program. This includes paths which trigger undefined behavior + as well as calls to functions declared with the cold attribute. + Newly the noreturn attribute does not imply all effects of + cold to differentiate between exit (which + is noreturn) and abort (which is in addition + not executed in valid runs).
    • +
    • -freorder-blocks-and-partition, a pass splitting function + bodies into hot and cold regions, is now enabled by default at -O2 + and higher for x86 and x86-64.
    • +
  • +
  • Link-time optimization improvements: +
      +
    • We have significantly improved debug information on ELF targets + using DWARF by properly preserving language-specific information. + This allows for example the libstdc++ pretty-printers to work with + LTO optimized executables.
    • +
  • +
  • + A new option -fcf-protection=[full|branch|return|none] is + introduced to perform code instrumentation to increase program security by + checking that target addresses of control-flow transfer instructions (such as + indirect function call, function return, indirect jump) are valid. Currently + the instrumentation is supported on x86 GNU/Linux targets only. See the user + guide for further information about the option syntax and section "New Targets + and Target Specific Improvements" for IA-32/x86-64 for more details. +
  • +
  • The -gcolumn-info option is now enabled by default. + It includes column information in addition to just filenames and + line numbers in DWARF debugging information.
  • +
  • + The polyhedral-based loop nest optimization pass + -floop-nest-optimize has been overhauled. It's still + considered experimental and may not result in any runtime improvements. +
  • +
  • + Two new classical loop nest optimization passes have been added. + -floop-unroll-and-jam performs outer loop unrolling + and fusing of the inner loop copies. -floop-interchange + exchanges loops in a loop nest to improve data locality. Both passes + are enabled by default at -O3 and above. +
  • +
  • + The classic loop nest optimization pass -ftree-loop-distribution + has been improved and enabled by default at -O3 and above. + It supports loop nest distribution in some restricted scenarios; it also + supports cancellable innermost loop distribution with loop versioning + under run-time alias checks. +
  • +
  • + The new option -fstack-clash-protection causes the + compiler to insert probes whenever stack space is allocated + statically or dynamically to reliably detect stack overflows and + thus mitigate the attack vector that relies on jumping over + a stack guard page as provided by the operating system. +
  • +
  • + A new pragma GCC unroll has been implemented in the C + family of languages, as well as Fortran and Ada, so as to make it + possible for the user to have a finer-grained control over the loop + unrolling optimization. +
  • +
  • + GCC has been enhanced to detect more instances of meaningless or + mutually exclusive attribute specifications and handle such conflicts + more consistently. Mutually exclusive attribute specifications are + ignored with a warning regardless of whether they appear on the same + declaration or on distinct declarations of the same entity. For + example, because the noreturn attribute on the second + declaration below is mutually exclusive with the malloc + attribute on the first, it is ignored and a warning is issued. +
    +      void* __attribute__ ((malloc)) f (unsigned);
    +      void* __attribute__ ((noreturn)) f (unsigned);
    +
    +      warning: ignoring attribute 'noreturn' because it conflicts with attribute 'malloc' [-Wattributes]
  • +
  • + The gcov tool can distinguish functions that begin + on a same line in a source file. This can be a different template + instantiation or a class constructor: +
    +File 'ins.C'
    +Lines executed:100.00% of 8
    +Creating 'ins.C.gcov'
    +
    +        -:    0:Source:ins.C
    +        -:    0:Graph:ins.gcno
    +        -:    0:Data:ins.gcda
    +        -:    0:Runs:1
    +        -:    0:Programs:1
    +        -:    1:template<class T>
    +        -:    2:class Foo
    +        -:    3:{
    +        -:    4: public:
    +        2:    5:   Foo(): b (1000) {}
    +------------------
    +Foo<char>::Foo():
    +        1:    5:   Foo(): b (1000) {}
    +------------------
    +Foo<int>::Foo():
    +        1:    5:   Foo(): b (1000) {}
    +------------------
    +        2:    6:   void inc () { b++; }
    +------------------
    +Foo<char>::inc():
    +        1:    6:   void inc () { b++; }
    +------------------
    +Foo<int>::inc():
    +        1:    6:   void inc () { b++; }
    +------------------
    +        -:    7:
    +        -:    8:  private:
    +        -:    9:   int b;
    +        -:   10:};
    +        -:   11:
    +        1:   12:int main(int argc, char **argv)
    +        -:   13:{
    +        1:   14:  Foo<int> a;
    +        1:   15:  Foo<char> b;
    +        -:   16:
    +        1:   17:  a.inc ();
    +        1:   18:  b.inc ();
    +        1:   19:}
    +    
    +
  • +
  • The gcov tool has more accurate numbers for execution of lines + in a source file.
  • +
  • The gcov tool can use TERM colors to provide more readable output.
  • +
  • AddressSanitizer gained a new pair of sanitization options, + -fsanitize=pointer-compare and -fsanitize=pointer-subtract, which + warn about subtraction (or comparison) of pointers that point to + a different memory object: +
    +int
    +main ()
    +{
    +  /* Heap allocated memory.  */
    +  char *heap1 = (char *)__builtin_malloc (42);
    +  char *heap2 = (char *)__builtin_malloc (42);
    +  if (heap1 > heap2)
    +      return 1;
    +
    +  return 0;
    +}
    +
    +==17465==ERROR: AddressSanitizer: invalid-pointer-pair: 0x604000000010 0x604000000050
    +    #0 0x40070f in main /tmp/pointer-compare.c:7
    +    #1 0x7ffff6a72a86 in __libc_start_main (/lib64/libc.so.6+0x21a86)
    +    #2 0x400629 in _start (/tmp/a.out+0x400629)
    +
    +0x604000000010 is located 0 bytes inside of 42-byte region [0x604000000010,0x60400000003a)
    +allocated by thread T0 here:
    +    #0 0x7ffff6efb390 in __interceptor_malloc ../../../../libsanitizer/asan/asan_malloc_linux.cc:86
    +    #1 0x4006ea in main /tmp/pointer-compare.c:5
    +    #2 0x7ffff6a72a86 in __libc_start_main (/lib64/libc.so.6+0x21a86)
    +
    +0x604000000050 is located 0 bytes inside of 42-byte region [0x604000000050,0x60400000007a)
    +allocated by thread T0 here:
    +    #0 0x7ffff6efb390 in __interceptor_malloc ../../../../libsanitizer/asan/asan_malloc_linux.cc:86
    +    #1 0x4006f8 in main /tmp/pointer-compare.c:6
    +    #2 0x7ffff6a72a86 in __libc_start_main (/lib64/libc.so.6+0x21a86)
    +
    +SUMMARY: AddressSanitizer: invalid-pointer-pair /tmp/pointer-compare.c:7 in main
    +    
    +
  • +
  • + The store merging pass has been enhanced to handle bit-fields and not + just constant stores, but also data copying from adjacent memory + locations into other adjacent memory locations, including bitwise + logical operations on the data. The pass can also handle byte swapping + into memory locations. +
  • +
  • + The undefined behavior sanitizer gained two new options included in + -fsanitize=undefined: -fsanitize=builtin which + diagnoses at run time invalid arguments to __builtin_clz or + __builtin_ctz prefixed builtins, and + -fsanitize=pointer-overflow which performs cheap run time + tests for pointer wrapping. +
  • +
+ + + +

New Languages and Language specific improvements

+ +

Ada

+
    +
  • For its internal exception handling used on the host for error + recovery in the front-end, the compiler now relies on the native + exception handling mechanism of the host platform, which should + be more efficient than the former mechanism. +
  • +
+ +

BRIG (HSAIL)

+ +

In this release cycle, the focus for the BRIGFE was on stabilization and + performance improvements. Also a couple of completely new features were + added.

+ +
    +
  • Improved support for function and module scope group + segment variables. PRM specs define function and module scope group + segment variables as an experimental feature. However, PRM test + suite uses them. Now group segment is handled by separate book + keeping of module scope and function (kernel) offsets. Each function + has a "frame" in the group segment offset to which is given as an + argument, similar to traditional call stack frame handling.
  • +
  • Reduce the number of type conversions due to + the untyped HSAIL registers. Instead of always representing the HSAIL's + untyped registers as unsigned int, the gccbrig now pre-analyzes + the BRIG code and builds the register variables as a type used + the most when storing or reading data to/from each register. + This reduces the number of total casts which cannot be always + optimized away.
  • +
  • Support for BRIG_KIND_NONE directives.
  • +
  • Made -O3 the default optimization level for BRIGFE.
  • +
  • Fixed illegal addresses generated from address expressions + which refer only to offset 0.
  • +
  • Fixed a bug with reg+offset addressing on 32b segments. + In 'large' mode, the offset is treated as 32bits unless it's + in global, read-only or kernarg address space.
  • +
  • Fixed a crash caused sometimes by calls with more + than 4 arguments.
  • +
  • Fixed a mis-execution issue with kernels that have + both unexpanded ID functions and calls to subfunctions.
  • +
  • Treat HSAIL barrier builtins as setjmp/longjump style + functions to avoid illegal optimizations.
  • +
  • Ensure per WI copies of private variables are aligned correctly.
  • +
  • libhsail-rt: Assume the host runtime allocates the work group + memory.
  • +
+ + +

C family

+
    +
  • New command-line options have been added for the C and C++ compilers: +
      +
    • -Wmultistatement-macros + warns about unsafe macros expanding to multiple statements used + as a body of a statement such as if, else, + while, switch, or for.
    • +
    • -Wstringop-truncation + warns for calls to bounded string manipulation functions such as + strncat, strncpy, and stpncpy + that might either truncate the copied string or leave the destination + unchanged. For example, the following call to strncat + is diagnosed because it appends just three of the four characters + from the source string.
      +	    void append (char *buf, size_t bufsize)
      +	    {
      +	        strncat (buf, ".txt", 3);
      +	    }
      +	    warning: 'strncat' output truncated copying 3 bytes from a string of length 4 [-Wstringop-truncation]
      + Similarly, in the following example, the call to strncpy + specifies the size of the destination buffer as the bound. If the + length of the source string is equal to or greater than this size + the result of the copy will not be NUL-terminated. Therefore, + the call is also diagnosed. To avoid the warning, specify + sizeof buf - 1 as the bound and set the last element of + the buffer to NUL.
      +	    void copy (const char *s)
      +	    {
      +	        char buf[80];
      +	        strncpy (buf, s, sizeof buf);
      +	        …
      +	    }
      +	    warning: 'strncpy' specified bound 80 equals destination size [-Wstringop-truncation]
      + The -Wstringop-truncation option is included in + -Wall.
      + Note that due to GCC bug 82944, defining strncat, strncpy, + or stpncpy as a macro in a system header as some + implementations do, suppresses the warning.
    • +
    • -Wif-not-aligned controls warnings issued in response + to invalid uses of objects declared with attribute + warn_if_not_aligned.
      + The -Wif-not-aligned option is included in + -Wall.
    • +
    • -Wmissing-attributes warns + when a declaration of a function is missing one or more attributes + that a related function is declared with and whose absence may + adversely affect the correctness or efficiency of generated code. + For example, in C++, the warning is issued when an explicit + specialization of a primary template declared with attribute + alloc_align, alloc_size, + assume_aligned, format, + format_arg, malloc, or nonnull + is declared without it. Attributes deprecated, + error, and warning suppress the warning. +
      + The -Wmissing-attributes option is included in + -Wall.
    • +
    • -Wpacked-not-aligned warns + when a struct or union declared with + attribute packed defines a member with an explicitly + specified alignment greater than 1. Such a member will wind up + under-aligned. For example, a warning will be issued for + the definition of struct A in the following: +
      +	    struct __attribute__ ((aligned (8)))
      +	    S8 { char a[8]; };
      +
      +	    struct __attribute__ ((packed)) A
      +	    {
      +	        struct S8 s8;
      +	    };
      +	    warning: alignment 1 of 'struct S' is less than 8 [-Wpacked-not-aligned]
      + The -Wpacked-not-aligned option is included in + -Wall.
    • +
    +
      +
    • -Wcast-function-type warns when a function pointer + is cast to an incompatible function pointer. This warning is enabled + by -Wextra.
    • +
    +
      +
    • -Wsizeof-pointer-div warns for suspicious divisions + of the size of a pointer by the size of the elements it points to, + which looks like the usual way to compute the array size but + won't work out correctly with pointers. + This warning is enabled by -Wall.
    • +
    +
      +
    • -Wcast-align=strict warns whenever a pointer is cast + such that the required alignment of the target is increased. For + example, warn if a char * is cast to an int * + regardless of the target machine.
    • +
    +
      +
    • -fprofile-abs-path creates absolute path names in the + .gcno files. This allows gcov to find the + correct sources in projects where compilations occur with different + working directories.
    • +
    +
  • +
  • -fno-strict-overflow is now mapped to + -fwrapv -fwrapv-pointer and signed integer overflow + is now undefined by default at all optimization levels. Using + -fsanitize=signed-integer-overflow is now the preferred + way to audit code, -Wstrict-overflow is deprecated.
  • +
  • The -Warray-bounds option has been + improved to detect more instances of out-of-bounds array indices and + pointer offsets. For example, negative or excessive indices into + flexible array members and string literals are detected.
  • +
  • The -Wrestrict option introduced in + GCC 7 has been enhanced to detect many more instances of overlapping + accesses to objects via restrict-qualified arguments to + standard memory and string manipulation functions such as + memcpy and strcpy. For example, + the strcpy call in the function below attempts to truncate + the string by replacing its initial characters with the last four. + However, because the function writes the terminating NUL into + a[4], the copies overlap and the call is diagnosed.
    +	void f (void)
    +	{
    +	    char a[] = "abcd1234";
    +	    strcpy (a, a + 4);
    +	    …
    +	}
    + The -Wrestrict option is included in -Wall. +
  • +
  • Several optimizer enhancements have enabled improvements to + the -Wformat-overflow and + -Wformat-truncation options. + The warnings detect more instances of buffer overflow and truncation + than in GCC 7 and are better at avoiding certain kinds of false + positives.
  • +
  • When reporting mismatching argument types at a function call, the + C and C++ compilers now underline both the argument and the pertinent + parameter in the declaration. +
    +$ gcc arg-type-mismatch.cc
    +arg-type-mismatch.cc: In function 'int caller(int, int, float)':
    +arg-type-mismatch.cc:5:24: error: invalid conversion from 'int' to 'const char*' [-fpermissive]
    +   return callee(first, second, third);
    +                        ^~~~~~
    +arg-type-mismatch.cc:1:40: note:   initializing argument 2 of 'int callee(int, const char*, float)'
    + extern int callee(int one, const char *two, float three);
    +                            ~~~~~~~~~~~~^~~
    +
    + +
  • +
  • When reporting on unrecognized identifiers, the C and C++ compilers + will now emit fix-it hints suggesting #include directives + for various headers in the C and C++ standard libraries. +
    +$ gcc incomplete.c
    +incomplete.c: In function 'test':
    +incomplete.c:3:10: error: 'NULL' undeclared (first use in this function)
    +   return NULL;
    +          ^~~~
    +incomplete.c:3:10: note: 'NULL' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
    +incomplete.c:1:1:
    ++#include <stddef.h>
    + const char *test(void)
    +incomplete.c:3:10:
    +   return NULL;
    +          ^~~~
    +incomplete.c:3:10: note: each undeclared identifier is reported only once for each function it appears in
    +
    + +
    +$ gcc incomplete.cc
    +incomplete.cc:1:6: error: 'string' in namespace 'std' does not name a type
    + std::string s("hello world");
    +      ^~~~~~
    +incomplete.cc:1:1: note: 'std::string' is defined in header '<string>'; did you forget to '#include <string>'?
    ++#include <string>
    + std::string s("hello world");
    + ^~~
    +
    + +
  • +
  • The C and C++ compilers now use more intuitive locations when + reporting on missing semicolons, and offer fix-it hints: +
    +$ gcc t.c
    +t.c: In function 'test':
    +t.c:3:12: error: expected ';' before '}' token
    +   return 42
    +            ^
    +            ;
    + }
    + ~
    +
    + +
  • +
  • When reporting on missing '}' and ')' tokens, the C and C++ + compilers will now highlight the corresponding '{' and '(' token, + issuing a 'note' if it's on a separate line: +
    +$ gcc unclosed.c
    +unclosed.c: In function 'log_when_out_of_range':
    +unclosed.c:12:50: error: expected ')' before '{' token
    +       && (temperature < MIN || temperature > MAX) {
    +                                                  ^~
    +                                                  )
    +unclosed.c:11:6: note: to match this '('
    +   if (logging_enabled && check_range ()
    +      ^
    +
    + or highlighting it directly if it's on the same line: +
    +$ gcc unclosed-2.c
    +unclosed-2.c: In function 'test':
    +unclosed-2.c:8:45: error: expected ')' before '{' token
    +   if (temperature < MIN || temperature > MAX {
    +      ~                                      ^~
    +                                             )
    +
    + They will also emit fix-it hints. +
  • +
+ +

C++

+
    +
  • The value of the C++11 alignof operator has been corrected + to match C _Alignof (minimum alignment) rather than + GNU __alignof__ (preferred alignment); on ia32 targets this + means that alignof(double) is now 4 rather than 8. Code that + wants the preferred alignment should use __alignof__ instead. +
  • +
  • New command-line options have been added for the C++ compiler to + control warnings: +
      +
    • -Wclass-memaccess warns + when objects of non-trivial class types are manipulated in potentially + unsafe ways by raw memory functions such as memcpy, or + realloc. The warning helps detect calls that bypass + user-defined constructors or copy-assignment operators, corrupt + virtual table pointers, data members of const-qualified + types or references, or member pointers. The warning also detects + calls that would bypass access controls to data members. For example, + a call such as: +
      +	memcpy (&std::cout, &std::cerr, sizeof std::cout);
      + results in +
      +	warning: 'void* memcpy(void*, const void*, long unsigned int)' writing to an object of type 'std::ostream' {aka 'class std::basic_ostream<char>'} with no trivial copy-assignment [-Wclass-memaccess]
      + The -Wclass-memaccess option is included in + -Wall.
    • +
    +
  • +
  • + The C++ front end has experimental support for some of the upcoming C++2a + draft features with the -std=c++2a or -std=gnu++2a + flags, including designated initializers, default member initializers for + bit-fields, __VA_OPT__ (except that + #__VA_OPT__ is unsupported), lambda [=, this] + captures, etc. + For a full list of new features, + see the C++ + status page. +
  • +
  • When reporting on attempts to access private fields of a class or + struct, the C++ compiler will now offer fix-it hints showing how to + use an accessor function to get at the field in question, if one exists. +
    +$ gcc accessor.cc
    +accessor.cc: In function 'void test(foo*)':
    +accessor.cc:12:12: error: 'double foo::m_ratio' is private within this context
    +   if (ptr->m_ratio >= 0.5)
    +            ^~~~~~~
    +accessor.cc:7:10: note: declared private here
    +   double m_ratio;
    +          ^~~~~~~
    +accessor.cc:12:12: note: field 'double foo::m_ratio' can be accessed via 'double foo::get_ratio() const'
    +   if (ptr->m_ratio >= 0.5)
    +            ^~~~~~~
    +            get_ratio()
    +
    + +
  • +
  • The C++ compiler can now give you a hint if you use a macro before it + was defined (e.g. if you mess up the order of your #include + directives): +
    +$ gcc ordering.cc
    +ordering.cc:2:24: error: expected ';' at end of member declaration
    +   virtual void clone() const OVERRIDE { }
    +                        ^~~~~
    +                             ;
    +ordering.cc:2:30: error: 'OVERRIDE' does not name a type
    +   virtual void clone() const OVERRIDE { }
    +                              ^~~~~~~~
    +ordering.cc:2:30: note: the macro 'OVERRIDE' had not yet been defined
    +In file included from ordering.cc:5:
    +c++11-compat.h:2: note: it was later defined here
    + #define OVERRIDE override
    +
    +
    + +
  • +
  • The -Wold-style-cast diagnostic can now emit fix-it hints + telling you when you can use a static_cast, + const_cast, or reinterpret_cast. +
    +$ gcc -c old-style-cast-fixits.cc -Wold-style-cast
    +old-style-cast-fixits.cc: In function 'void test(void*)':
    +old-style-cast-fixits.cc:5:19: warning: use of old-style cast to 'struct foo*' [-Wold-style-cast]
    +   foo *f = (foo *)ptr;
    +                   ^~~
    +            ----------
    +            static_cast<foo *> (ptr)
    +
    + +
  • +
  • When reporting on problems within extern "C" linkage + specifications, the C++ compiler will now display the location of the + start of the extern "C". +
    +$ gcc -c extern-c.cc
    +extern-c.cc:3:1: error: template with C linkage
    + template <typename T> void test (void);
    + ^~~~~~~~
    +In file included from extern-c.cc:1:
    +unclosed.h:1:1: note: 'extern "C"' linkage started here
    + extern "C" {
    + ^~~~~~~~~~
    +extern-c.cc:3:39: error: expected '}' at end of input
    + template <typename T> void test (void);
    +                                       ^
    +In file included from extern-c.cc:1:
    +unclosed.h:1:12: note: to match this '{'
    + extern "C" {
    +            ^
    +
    + +
  • +
  • When reporting on mismatching template types, the C++ compiler will + now use color to highlight the mismatching parts of the template, and will + elide the parameters that are common between two mismatching templates, + printing [...] instead: +
    +$ gcc templates.cc
    +templates.cc: In function 'void test()':
    +templates.cc:9:8: error: could not convert 'vector<double>()' from 'vector<double>' to 'vector<int>'
    +   fn_1(vector<double> ());
    +        ^~~~~~~~~~~~~~~~~
    +templates.cc:10:8: error: could not convert 'map<int, double>()' from 'map<[...],double>' to 'map<[...],int>'
    +   fn_2(map<int, double>());
    +        ^~~~~~~~~~~~~~~~~~
    +
    + + Those [...] elided parameters can be seen using + -fno-elide-type: +
    +$ gcc templates.cc -fno-elide-type
    +templates.cc: In function 'void test()':
    +templates.cc:9:8: error: could not convert 'vector<double>()' from 'vector<double>' to 'vector<int>'
    +   fn_1(vector<double> ());
    +        ^~~~~~~~~~~~~~~~~
    +templates.cc:10:8: error: could not convert 'map<int, double>()' from 'map<int,double>' to 'map<int,int>'
    +   fn_2(map<int, double>());
    +        ^~~~~~~~~~~~~~~~~~
    +
    + + The C++ compiler has also gained an option + -fdiagnostics-show-template-tree which visualizes such + mismatching templates in a hierarchical form: +
    +$ gcc templates-2.cc -fdiagnostics-show-template-tree
    +templates-2.cc: In function 'void test()':
    +templates-2.cc:9:8: error: could not convert 'vector<double>()' from 'vector<double>' to 'vector<int>'
    +  vector<
    +    [double != int]>
    +   fn_1(vector<double> ());
    +        ^~~~~~~~~~~~~~~~~
    +templates-2.cc:10:8: error: could not convert 'map<map<int, vector<double> >, vector<double> >()' from 'map<map<[...],vector<double>>,vector<double>>' to 'map<map<[...],vector<float>>,vector<float>>'
    +  map<
    +    map<
    +      [...],
    +      vector<
    +        [double != float]>>,
    +    vector<
    +      [double != float]>>
    +   fn_2(map<map<int, vector<double>>, vector<double>> ());
    +        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    +
    + + which again works with -fno-elide-type: +
    +$ gcc templates-2.cc -fdiagnostics-show-template-tree -fno-elide-type
    +templates-2.cc: In function 'void test()':
    +templates-2.cc:9:8: error: could not convert 'vector<double>()' from 'vector<double>' to 'vector<int>'
    +  vector<
    +    [double != int]>
    +   fn_1(vector<double> ());
    +        ^~~~~~~~~~~~~~~~~
    +templates-2.cc:10:8: error: could not convert 'map<map<int, vector<double> >, vector<double> >()' from 'map<map<int,vector<double>>,vector<double>>' to 'map<map<int,vector<float>>,vector<float>>'
    +  map<
    +    map<
    +      int,
    +      vector<
    +        [double != float]>>,
    +    vector<
    +      [double != float]>>
    +   fn_2(map<map<int, vector<double>>, vector<double>> ());
    +        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    +
    + +
  • +
  • Flowing off the end of a non-void function + is considered unreachable and may be subject to optimization + on that basis. As a result of this change, -Wreturn-type + warnings are enabled by default for C++.
  • +
+ +

Runtime Library (libstdc++)

+
    +
  • Improved experimental support for C++17, including the following features: +
      +
    • Deduction guides to support class template argument deduction.
    • +
    • std::filesystem implementation.
    • +
    • std::char_traits<char> and + std::char_traits<wchar_t> are usable in constant + expressions.
    • +
    • std::to_chars and std::from_chars (for + integers only, not for floating point types).
    • +
    +
  • +
  • Experimental support for C++2a: + std::to_address (thanks to Glen Fernandes) + and std::endian.
  • +
  • On GNU/Linux, std::random_device::entropy() accesses the + kernel's entropy count for the random device, if known + (thanks to Xi Ruoyao).
  • +
  • Support for std::experimental::source_location.
  • +
  • AddressSanitizer integration for std::vector, detecting + out-of-range accesses to the unused capacity of a vector. +
  • +
  • Extensions __gnu_cxx::airy_ai and + __gnu_cxx::airy_bi added to the Mathematical Special + Functions. +
  • +
+ +

Fortran

+
    +
  • + The main version of libfortran has been changed to 5. +
  • +
  • + Parameterized derived types, a major feature of Fortran 2003, have been + implemented. +
  • +
  • + The maximum rank for arrays has been increased to 15, conforming to the + Fortran 2008 standard. +
  • +
  • + Transformational intrinsics are now fully supported in initialization + expressions. +
  • +
  • + New flag -fc-prototypes to write C prototypes for + BIND(C) procedures and variables. +
  • +
  • + If -fmax-stack-var-size is honored if given together with + -Ofast, -fstack-arrays is no longer set in that + case. +
  • +
  • + New options -fdefault-real-16 and -fdefault-real-10 + to control the default kind of REAL variables. +
  • +
  • + A warning is now issued if an array subscript inside a DO loop could lead + to an out-of-bounds-access. The new option -Wdo-subscript, + enabled by -Wextra, warns about this even if the compiler can + not prove that the code will be executed. +
  • +
  • + The Fortran front end now attempts to interchange loops if it is deemed + profitable. So far, this is restricted to FORALL and DO + CONCURRENT statements with multiple indices. This behavior be + controlled with the new flag -ffrontend-loop-interchange, + which is enabled with optimization by default. + The -Wfrontend-loop-interchange option warns about such + occurrences. +
  • +
  • + When an actual argument contains too few elements for a dummy argument, + an error is now issued. The -std=legacy option can be + used to still compile such code. +
  • +
  • + The RECL= argument to OPEN + and INQUIRE statements now allows 64-bit + integers, making records larger than 2GiB possible. +
  • +
  • + The GFORTRAN_DEFAULT_RECL environment variable no + longer has any effect. The record length for preconnected units is + now larger than any practical limit, same as for sequential access + units opened without an explicit RECL= specifier. +
  • +
  • + Character variables longer than HUGE(0) elements are + now possible on 64-bit targets. Note that this changes the + procedure call ABI for all procedures with character arguments on + 64-bit targets, as the type of the hidden character length + argument has changed. The hidden character length argument is now + of type INTEGER(C_SIZE_T). +
  • +
+ +

Go

+
    +
  • GCC 8 provides a complete implementation of the Go 1.10.1 + user packages.
  • + +
  • The garbage collector is now fully concurrent. As before, + values stored on the stack are scanned conservatively, but value + stored in the heap are scanned precisely.
  • + +
  • Escape analysis is fully implemented and enabled by default in + the Go frontend. This significantly reduces the number of heap + allocations by allocating values on the stack instead.
  • +
+ + + +

libgccjit

+ +

The libgccjit API gained four new entry points:

+ +

The C code generated by +gcc_jit_context_dump_reproducer_to_file +is now easier-to-read.

+ + +

New Targets and Target Specific Improvements

+ +

AArch64

+
    +
  • + The Armv8.4-A architecture is now supported. It can be used by + specifying the -march=armv8.4-a option. +
  • +
  • + The Dot Product instructions are now supported as an optional extension to the + Armv8.2-A architecture and newer and are mandatory on Armv8.4-A. The extension can be used by + specifying the +dotprod architecture extension. E.g. -march=armv8.2-a+dotprod. +
  • +
  • + The Armv8-A +crypto extension has now been split into two extensions for finer grained control: +
      +
    • +aes which contains the Armv8-A AES crytographic instructions.
    • +
    • +sha2 which contains the Armv8-A SHA2 and SHA1 cryptographic instructions.
    • +
    + Using +crypto will now enable these two extensions. +
  • +
  • + New Armv8.4-A FP16 Floating Point Multiplication Variant instructions have been added. These instructions are + mandatory in Armv8.4-A but available as an optional extension to Armv8.2-A and Armv8.3-A. The new extension + can be used by specifying the +fp16fml architectural extension on Armv8.2-A and Armv8.3-A. On Armv8.4-A + the instructions can be enabled by specifying +fp16. +
  • +
  • + New cryptographic instructions have been added as optional extensions to Armv8.2-A and newer. These instructions can + be enabled with: +
      +
    • +sha3 New SHA3 and SHA2 instructions from Armv8.4-A. This implies +sha2.
    • +
    • +sm4 New SM3 and SM4 instructions from Armv8.4-A.
    • +
    +
  • +
  • + The Scalable Vector Extension (SVE) is now supported as an + optional extension to the Armv8.2-A architecture and newer. + This support includes automatic vectorization with SVE instructions, + but it does not yet include the SVE Arm C Language Extensions (ACLE). + It can be enabled by specifying the +sve architecture + extension (for example, -march=armv8.2-a+sve). + By default, the generated code works with all vector lengths, + but it can be made specific to N-bit vectors using + -msve-vector-bits=N. +
  • +
  • + Support has been added for the following processors + (GCC identifiers in parentheses): +
      +
    • Arm Cortex-A75 (cortex-a75).
    • +
    • Arm Cortex-A55 (cortex-a55).
    • +
    • Arm Cortex-A55/Cortex-A75 DynamIQ big.LITTLE (cortex-a75.cortex-a55).
    • +
    + The GCC identifiers can be used + as arguments to the -mcpu or -mtune options, + for example: -mcpu=cortex-a75 or + -mtune=cortex-a75 or as arguments to the equivalent target + attributes and pragmas. +
  • +
+ +

ARC

+
    +
  • + Added support for: +
      +
    • Fast interrupts.
    • +
    • Naked functions.
    • +
    • aux variable attributes.
    • +
    • uncached type qualifier.
    • +
    • Secure functions via sjli instruction.
    • +
    +
  • +
  • + New exception handling implementation. +
  • +
  • + Revamped trampoline implementation. +
  • +
  • + Refactored small data feature implementation, controlled + via -G command line option. +
  • +
  • + New support for reduced register set ARC architecture + configurations, controlled via -mrf16 command line + option. +
  • +
  • + Refurbished and improved support for zero overhead loops. + Introduced -mlpc-width command line option to control the + width of lp_count register. +
  • +
+ +

ARM

+
    +
  • + The -mfpu option now takes a new option setting of + -mfpu=auto. When set to this the floating-point and SIMD + settings are derived from the settings of the -mcpu + or -march options. The internal CPU configurations have been + updated with information about the permitted floating-point configurations + supported. See the user guide for further information about the extended + option syntax for controlling architectural extensions via the + -march option. -mfpu=auto is now the default + setting unless the compiler has been configured with an explicit + --with-fpu option. +
  • +
  • + The -march and -mcpu options now accept optional + extensions to the architecture or CPU option, allowing the user to enable + or disable any such extensions supported by that architecture or CPU + such as (but not limited to) floating-point and AdvancedSIMD. + For example: the option + -mcpu=cortex-a53+nofp will generate code for the Cortex-A53 + processor with no floating-point support. + This, in combination with the new -mfpu=auto option, + provides a straightforward way of specifying a valid build target through + a single -mcpu or -march option. + The -mtune option accepts the same arguments as + -mcpu but only the CPU name has an effect on tuning. + The architecture extensions do not have any effect. + For details of what extensions a particular architecture or CPU option + supports please refer to the + documentation. +
  • +
  • + The -mstructure-size-boundary option has been deprecated and will be + removed in a future release. +
  • +
  • + The default link behavior for Armv6 and Armv7-R targets has been + changed to produce BE8 format when generating big-endian images. A new + flag -mbe32 can be used to force the linker to produce + legacy BE32 format images. There is no change of behavior for + Armv6-M and other Armv7 or later targets: these already defaulted + to BE8 format. This change brings GCC into alignment with other + compilers for the ARM architecture. +
  • +
  • + The Armv8-R architecture is now supported. It can be used by specifying the + -march=armv8-r option. +
  • +
  • + The Armv8.3-A architecture is now supported. It can be used by + specifying the -march=armv8.3-a option. +
  • +
  • + The Armv8.4-A architecture is now supported. It can be used by + specifying the -march=armv8.4-a option. +
  • +
  • + The Dot Product instructions are now supported as an optional extension to the + Armv8.2-A architecture and newer and are mandatory on Armv8.4-A. The extension can be used by + specifying the +dotprod architecture extension. E.g. -march=armv8.2-a+dotprod. +
  • + +
  • + Support for setting extensions and architectures using the GCC target pragma and attribute has been added. + It can be used by specifying #pragma GCC target ("arch=..."), #pragma GCC target ("+extension"), + __attribute__((target("arch=..."))) or __attribute__((target("+extension"))). +
  • +
  • + New Armv8.4-A FP16 Floating Point Multiplication Variant instructions have been added. These instructions are + mandatory in Armv8.4-A but available as an optional extension to Armv8.2-A and Armv8.3-A. The new extension + can be used by specifying the +fp16fml architectural extension on Armv8.2-A and Armv8.3-A. On Armv8.4-A + the instructions can be enabled by specifying +fp16. +
  • +
  • + Support has been added for the following processors + (GCC identifiers in parentheses): +
      +
    • Arm Cortex-A75 (cortex-a75).
    • +
    • Arm Cortex-A55 (cortex-a55).
    • +
    • Arm Cortex-A55/Cortex-A75 DynamIQ big.LITTLE (cortex-a75.cortex-a55).
    • +
    • Arm Cortex-R52 for Armv8-R (cortex-r52).
    • +
    + The GCC identifiers can be used + as arguments to the -mcpu or -mtune options, + for example: -mcpu=cortex-a75 or + -mtune=cortex-r52 or as arguments to the equivalent target + attributes and pragmas. +
  • +
+ +

AVR

+
    +
  • + The AVR port now supports the following XMEGA-like devices: +
    + ATtiny212, ATtiny214, ATtiny412, ATtiny414, ATtiny416, ATtiny417, + ATtiny814, ATtiny816, ATtiny817, ATtiny1614, ATtiny1616, ATtiny1617, + ATtiny3214, ATtiny3216, ATtiny3217 +
    + The new devices are listed under + -mmcu=avrxmega3. +
      +
    • These devices see flash memory in the RAM address space, so that + features like PROGMEM and __flash + are not needed any more (as opposed to other AVR families for which + read-only data will be located in RAM except special, non-standard + features are used to locate and access such data). This requires + that the compiler is used with Binutils 2.29 or newer so that + read-only data will be + located in flash memory.
    • +
    • A new command-line option -mshort-calls is supported. + This option is used internally for multilib selection of the + avrxmega3 variants. It is + not an optimization option. Do not set it by hand.
    • +
    +
  • +
  • + The compiler now generates + efficient interrupt service routine + (ISR) prologues and epilogues. This is achieved by using the new + + AVR pseudo instruction __gcc_isr which is supported + and resolved by the GNU assembler. +
      +
    • As the __gcc_isr pseudo-instruction will be resolved by + the assembler, inline assembly is transparent to the process. + This means that when inline assembly uses an instruction like + INC that clobbers the condition code, + then the assembler will detect this and generate an appropriate + ISR prologue / epilogue chunk to save / restore SREG as needed.
    • +
    • A new command-line option -mno-gas-isr-prologues + disables the generation of the __gcc_isr pseudo + instruction. Any non-naked ISR will save and restore SREG, + tmp_reg and zero_reg, no matter + whether the respective register is clobbered or used.
    • +
    • The feature is turned on per default for all optimization levels + except for -O0 and -Og. It is explicitly + enabled by means of option -mgas-isr-prologues.
    • +
    • Support has been added for a new + + AVR function attribute no_gccisr. It can be used + to disable __gcc_isr pseudo instruction generation + for individual ISRs.
    • +
    • This optimization is only available if GCC is configured with GNU + Binutils 2.29 or newer; or at least with a version of Binutils + that implements feature + PR21683.
    • +
    +
  • +
  • + The compiler no more saves / restores registers in main; + the effect is the same as if attribute OS_task was + specified for main. This optimization can be switched + off by the new command-line option -mno-main-is-OS_task. +
  • +
+ + + +

IA-32/x86-64

+
    +
  • + The x86 port now supports the naked function attribute.
  • +
  • + Better tuning for znver1 and Intel Core based CPUs.
  • +
  • + Vectorization cost metrics has been reworked leading to significant improvements + on some benchmarks.
  • +
  • GCC now supports the Intel CPU named Cannonlake through + -march=cannonlake. The switch enables the AVX512VBMI, + AVX512IFMA and SHA ISA extensions.
  • +
  • GCC now supports the Intel CPU named and Icelake through + -march=icelake. The switch enables the AVX512VNNI, GFNI, VAES, + AVX512VBMI2, VPCLMULQDQ, AVX512BITALG, RDPID and AVX512VPOPCNTDQ ISA + extensions.
  • +
  • + GCC now supports the Intel Control-flow Enforcement Technology + (CET) extension through -mibt, -mshstk, + -mcet options. One of these options has to accompany the + -fcf-protection option to enable code instrumentation for + control-flow protection. +
  • +
+ + + + + + + + +

NDS32

+
    +
  • + New command-line options -mext-perf, -mext-perf2, and + -mext-string have been added for performance extension instructions. +
  • +
+ +

Nios II

+
    +
  • + The Nios II back end has been improved to generate better-optimized + code. Changes include switching to LRA, more accurate cost models, + and more compact code for addressing static variables. +
  • +
  • + New command-line options -mgprel-sec= and + -mr0rel-sec= have been added. +
  • +
  • + The stack-smashing protection options are now enabled on Nios II. +
  • +
+ + + +

PA-RISC

+
    +
  • + The default call ABI on 32-bit linux has been changed from callee + copies to caller copies. This affects objects larger than eight + bytes passed by value. The goal is to improve compatibility with + x86 and resolve issues with OpenMP. +
  • +
  • + Other PA-RISC targets are unchanged. +
  • +
+ +

PowerPC / PowerPC64 / RS6000

+
    +
  • + The PowerPC SPE support is split off to a separate powerpcspe + port. The separate port is deprecated and might be removed in a future + release. +
  • +
  • + The Paired Single support (as used on some PPC750 CPUs, + -mpaired, powerpc*-*-linux*paired*) + is deprecated and will be removed in a future release. +
  • +
  • + The Xilinx floating point support (-mxilinx-fpu, + powerpc-xilinx-eabi*) + is deprecated and will be removed in a future release. +
  • +
  • + Support for using big-endian AltiVec intrinsics on a little-endian target + (-maltivec=be) is deprecated and will be removed in a + future release. +
  • +
+ + + + + + + + + + + +

Tile

+
    +
  • + The TILE-Gx port is deprecated and will be removed in a future release. +
  • +
+ + +

Operating Systems

+ + + + + + + + + + + + + + + + + +

Windows

+
    +
  • GCC on Microsoft Windows can now be configured via + --enable-mingw-wildcard or + --disable-mingw-wildcard to force a specific behavior for + GCC itself with regards to supporting the wildcard character. Prior + versions of GCC would follow the configuration of the MinGW runtime. + This behavior can still be obtained by not using the above options or by + using --enable-mingw-wildcard=platform.
  • +
+ + + + + + + +

Improvements for plugin authors

+
    +
  • Plugins can now register a callback hook for when comments are + encountered by the C and C++ compilers, e.g. allowing for plugins + to handle documentation markup in code comments. +
  • +
  • The gdbinit support script for debugging GCC now has a + break-on-diagnostic command, providing an easy way + to trigger a breakpoint whenever a diagnostic is emitted. +
  • +
  • The API for creating fix-it hints now supports newlines, and for + emitting mutually incompatible fix-it hints for one diagnostic. +
  • +
+ + +

Other significant improvements

+
    +
  • +
+ + + + + + + + + + + + + + + + + + --- gcc-8-8.2.0.orig/debian/README.Bugs.m4 +++ gcc-8-8.2.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-8-8.2.0.orig/debian/README.C++ +++ gcc-8-8.2.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-8-8.2.0.orig/debian/README.Debian +++ gcc-8-8.2.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-8-8.2.0.orig/debian/README.cross +++ gcc-8-8.2.0/debian/README.cross @@ -0,0 +1,20 @@ +Building cross-compiler Debian packages +--------------------------------------- + +The packaging for cross toolchains is now in the archive, including +all frontends, and targeting all release and ports architectures. + +Cross toolchains are built from the following source packages: + + - binutils + - cross-toolchain-base + - cross-toolchain-base-ports + - gcc-7-cross + - gcc-7-cross-ports + - gcc-8-cross + - gcc-8-cross-ports + - gcc-defaults + - gcc-defaults-ports + +Issues about the cross toolchains should be filed for one of the +above source packages. --- gcc-8-8.2.0.orig/debian/README.gnat +++ gcc-8-8.2.0/debian/README.gnat @@ -0,0 +1,34 @@ +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-$(gnat_version).mk Makefile snippet. --- gcc-8-8.2.0.orig/debian/README.libstdc++-baseline.in +++ gcc-8-8.2.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-8-8.2.0.orig/debian/README.maintainers +++ gcc-8-8.2.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-8-8.2.0.orig/debian/README.snapshot +++ gcc-8-8.2.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-8-8.2.0.orig/debian/README.source +++ gcc-8-8.2.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-8-8.2.0.orig/debian/README.ssp +++ gcc-8-8.2.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-8-8.2.0.orig/debian/TODO +++ gcc-8-8.2.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-8-8.2.0.orig/debian/acats-killer.sh +++ gcc-8-8.2.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-8-8.2.0.orig/debian/ada/confirm_debian_bugs.py +++ gcc-8-8.2.0/debian/ada/confirm_debian_bugs.py @@ -0,0 +1,943 @@ +#!/usr/bin/python3 + +# 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 True, "reassign" -> "found" and "retitle" -> "fixed". +# Once the bug tracking system is informed, please update this boolean. +same_gcc_base_version = True + +# The current version. +new_version = "8" + +for line in subprocess.check_output (("dpkg", "--status", "gnat-" + new_version)).decode ().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 same_gcc_base_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 same_gcc_base_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).decode () + 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; +"""),)) + +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; +"""))) + +check_produces_a_faulty_executable ( + bug = 864969, + make = ("gnatmake", "main"), + trigger = "main", + regex = "ZZund", + sources = ( + ("main.adb", """with Ada.Locales, Ada.Text_IO; +procedure Main is +begin + Ada.Text_IO.Put_Line (String (Ada.Locales.Country) + & String (Ada.Locales.Language)); +end Main; +"""),)) + +try: + os.rmdir (workspace) +except: + print ("Some unconfirmed, not removing directory {}.".format (workspace)) --- gcc-8-8.2.0.orig/debian/ada/debian_packaging.mk +++ gcc-8-8.2.0/debian/ada/debian_packaging.mk @@ -0,0 +1,134 @@ +# Common settings for Ada Debian packaging. +# +# Copyright (C) 2012-2018 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 . + + +# Typical use: +# +# gnat_version := $(shell gnatgcc -dumpversion) +# DEB_BUILD_MAINT_OPTIONS := hardening=+all +# DEB_LDFLAGS_MAINT_APPEND := -Wl,--as-needed -Wl,--no-undefined -Wl,--no-copy-dt-needed-entries -Wl,--no-allow-shlib-undefined +# DEB_ADAFLAGS_MAINT_APPEND := -gnatwa -Wall +# include /usr/share/dpkg/buildflags.mk +# include /usr/share/ada/debian_packaging-$(gnat_version).mk + + +# dpkg-dev 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 DEB_ADAFLAGS_SET + ADAFLAGS := $(DEB_ADAFLAGS_SET) +endif +ADAFLAGS := $(DEB_ADAFLAGS_PREPEND) \ + $(filter-out $(DEB_ADAFLAGS_STRIP),$(ADAFLAGS)) \ + $(DEB_ADAFLAGS_APPEND) + +ifdef DEB_ADAFLAGS_MAINT_SET + ADAFLAGS := $(DEB_ADAFLAGS_MAINT_SET) +endif +ADAFLAGS := $(DEB_ADAFLAGS_MAINT_PREPEND) \ + $(filter-out $(DEB_ADAFLAGS_MAINT_STRIP),$(ADAFLAGS)) \ + $(DEB_ADAFLAGS_MAINT_APPEND) + +ifdef DPKG_EXPORT_BUILDFLAGS + export ADAFLAGS +endif + + +# Modifying LDFLAGS directly is confusing and deprecated, +# but we keep the old behaviour during the transition period +# because some bug work-arounds rely on --as-needed. + +# 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. +comma := , +ifeq (,$(filter -Wl$(comma)--as-needed,$(LDFLAGS))) + $(warning adding -Wl,--as-needed to LDFLAGS for compatibility, \ + but please use DEB_LDFLAGS_MAINT_APPEND instead.) + LDFLAGS += -Wl,--as-needed + ifdef DPKG_EXPORT_BUILDFLAGS + export LDFLAGS + endif +endif + +# Warn during build time if undefined symbols. +ifeq (,$(filter -Wl$(comma)-z$(comma)defs -Wl$(comma)--no-undefined,$(LDFLAGS))) + $(warning adding -Wl,--no-undefined to LDFLAGS for compatibility, \ + but please use DEB_LDFLAGS_MAINT_APPEND instead.) + LDFLAGS += -Wl,--no-undefined + ifdef DPKG_EXPORT_BUILDFLAGS + export LDFLAGS + endif +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 +# The value may be useful elsewhere. Example: SPHINXOPTS=-j$(BUILDER_JOBS) +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 + +ifeq (,$(filter terse,$(DEB_BUILD_OPTIONS))) +BUILDER_OPTIONS += -v +endif +# 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-8-8.2.0.orig/debian/bin-wrapper.in +++ gcc-8-8.2.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-8-8.2.0.orig/debian/changelog +++ gcc-8-8.2.0/debian/changelog @@ -0,0 +1,14634 @@ +gcc-8 (8.2.0-20) unstable; urgency=medium + + * Update to SVN 20190209 (r268721) from the gcc-8-branch. + - Fix PR libstdc++/88066, PR libstdc++/87787, PR libstdc++/65229, + PR libstdc++/87308, PR libstdc++/89128, PR libstdc++/88119, + PR libstdc++/83511, PR libstdc++/88084, PR libstdc++/86910, + PR libstdc++/87846, PR libstdc++/86595, PR libstdc++/89117, + PR target/88861, PR rtl-optimization/89234, PR target/88343 (PPC), + PR tree-optimization/86991, PR debug/87295, PR debug/87295, PR lto/86736, + PR lto/87187, PR debug/88046, PR lto/87229, PR lto/88112, + PR target/85596, PR tree-optimization/88427, PR tree-optimization/88217, + PR tree-optimization/88149, PR c++/88761, PR c++/88752, PR c++/86943. + - Undo reverting the fix for PR c++/86610. + * Update the gcc-linaro-doc patch. + * Fix the libphobos multilib cross builds. + + -- Matthias Klose Sat, 09 Feb 2019 17:58:52 +0100 + +gcc-8 (8.2.0-19) unstable; urgency=medium + + * Update to SVN 20190207 (r268611) from the gcc-8-branch. + - Fix PR target/88856 (S390X). Addresses: #915738. LP: #1815057. + - Fix PR target/87064 (PPC), PR c++/89083, c++/80864, PR fortran/67679, + PR tree-optimization/88105, PR tree-optimization/88223, + PR middle-end/88448, PR middle-end/88415, PR tree-optimization/88030, + PR tree-optimization/87929, PR tree-optimization/89135, + PR tree-optimization/88903, PR c++/89158, PR c++/88983, PR c++/89119, + PR c++/89024, PR c++/88988, PR middle-end/89002, PR middle-end/88968, + PR c/89211, PR target/89188, PR rtl-optimization/89195, PR target/89186, + PR middle-end/87887, PR tree-optimization/88107, PR sanitizer/89124, + PR c++/89105, PR c++/66676, PR ipa/89104, PR middle-end/89002, + PR target/89073, PR target/87214, PR tree-optimization/88964, + PR tree-optimization/88964, PR target/88965, PR target/88905, + PR rtl-optimization/49429, PR target/49454, PR rtl-optimization/86334, + PR target/88906, PR target/88734, PR rtl-optimization/88870, + PR bootstrap/88714, PR c/88568, PR debug/88723, PR debug/88635, + PR c++/89187, PR c++/88988, PR c++/88976, PR c++/88949, + PR sanitizer/88901, PR fortran/83246, PR fortran/89084, + PR fortran/88902. + * Update the support to build without packages being built by GCC 9. + + -- Matthias Klose Thu, 07 Feb 2019 21:56:01 +0100 + +gcc-8 (8.2.0-17) unstable; urgency=medium + + * Update to SVN 20190204 (r268512) from the gcc-8-branch. + - Fix PR rtl-optimization/89115 (compile time part). Addresses: #918329. + - Fix PR tree-optimization/89008, PR tree-optimization/87022, + PR tree-optimization/88932, PR fortran/88393, PR fortran/88980, + PR fortran/88685, PR fortran/88298, PR fortran/57048, PR libfortran/88678. + * Backport libffi RISC-V go closures. Closes: #920939. + * Add support to build from the gcc-8 ARM/Linaro branch. + + -- Matthias Klose Mon, 04 Feb 2019 14:58:52 +0100 + +gcc-8 (8.2.0-16) unstable; urgency=medium + + * Update to SVN 20190130 (r268398) from the gcc-8-branch. + - Fix PR tree-optimization/86865, PR tree-optimization/86865, + PR target/88948, PR c++/86740, PR c++/87075, + PR fortran/56386, PR fortran/58906, PR fortran/77385, PR fortran/80260, + PR fortran/82077, PR fortran/87336. + * Revert the fix for PR c++/86610, causing PR c++/88995. Closes: #920821. + + -- Matthias Klose Wed, 30 Jan 2019 18:21:01 +0100 + +gcc-8 (8.2.0-15) unstable; urgency=medium + + * Update to SVN 20190125 (r268257) from the gcc-8-branch. + - Fix PR libstdc++/80762, PR libstdc++/80762, PR libstdc++/87855, + PR libstdc++/87514, PR libstdc++/87520, PR libstdc++/88782, + PR libstdc++/87855, PR c/88720, PR c/88726, PR ipa/88214, + PR ipa/85574, PR tree-optimization/85574, PR target/84010 (SPARC), + PR target/88938 (x86), PR target/88799 (ARM), PR tree-optimization/89008, + PR c++/86610, PR fortran/81849, PR fortran/88803, PR fortran/35031, + PR libfortran/88776, PR target/88998 (x86), PR target/88469 (ARM). + * Turn on profiled bootstrap on x86, ARM32, AArch64, PPC64 and s390x + architectures for native builds. + * Relax the shlibs dependency for libgnat-8. Closes: #920246. + + -- Matthias Klose Fri, 25 Jan 2019 09:36:26 +0100 + +gcc-8 (8.2.0-14) unstable; urgency=medium + + * Update to SVN 20190108 (r267721) from the gcc-8-branch. + - Fix PR fortran/88463, PR libstdc++/64883, PR c++/88215, + PR sanitizer/88426, PR inline-asm/55681, PR middle-end/82564, + PR target/88620, PR target/88594 (x86), PR debug/88644, + PR middle-end/85594, PR middle-end/88553, PR target/88522 (x86), + PR rtl-optimization/88563, PR target/88541 (x86), PR c++/82294, + PR c++/87436, PR rtl-optimization/88470, PR rtl-optimization/88416, + PR target/85593, PR target/87598 (AArch64), PR tree-optimization/87360, + PR target/88234 (PPC), PR c++/86900, PR target/85644 (x86), + PR target/86832 (x86), PR tree-optimization/87895, + PR tree-optimization/88071, PR debug/87039, PR rtl-optimization/87475, + PR rtl-optimization/88018, PR tree-optimization/87898, PR lto/88130, + PR lto/86517, PR lto/88185, PR inline-asm/55681, PR ipa/88561, + PR c++/87380, PR target/88418 (x86), PR target/88213 (PPC), + PR c++/88180, PR c++/87934, PR c++/88410, PR c++/82294, PR c++/87436, + PR c++/86669, PR c++/87506, PR c++/88103, PR c++/88181, PR c++/88122, + PR inline-asm/55681, PR fortran/88463, PR fortran/88377, + PR fortran/77703, PR fortran/77325, PR fortran/85798, PR fortran/85544, + PR fortran/88169, PR fortran/87359. + * Bump standards version. + + -- Matthias Klose Tue, 08 Jan 2019 12:43:13 +0100 + +gcc-8 (8.2.0-13) unstable; urgency=medium + + * Update to SVN 20181218 (r267225) from the gcc-8-branch. + - Fix PR target/87853, PR target/87496 (PPC), PR c++/87531, + PR fortran/88155, PR fortran/88249, PR fortran/87922, PR fortran/88269, + PR fortran/88205, PR fortran/88206, PR fortran/88228, PR fortran/88138, + PR fortran/88116, PR fortran/88467, PR target/88224 (ARM), + PR rtl-optimization/88001, PR rtl-optimization/88253. + * gcc-8-source: Depend on lsb-release. + * Disable broken selective scheduling on ia64 (Adrian Glaubitz). + See PR rtl-optimization/85412. Closes: #916591. + * Fix PR sanitizer/88426, taken from the trunk. Closes: #916388. + * Fix perl shebang for the gnathtml binary. + * Lower priority of libgcc[124] and libstdc++6 packages. + * Don't add the libstdc++6 breaks for releases newer than stretch. + * libgccjit-doc: Install image files. + * Stop building gnat on powerpcspe. Closes: #912649. + * Don't provide -compiler names for cross compiler packages. + Addresses: #916376. Not a final solution. + + -- Matthias Klose Tue, 18 Dec 2018 07:25:34 +0100 + +gcc-8 (8.2.0-12) unstable; urgency=medium + + * Update to SVN 20181209 (r266918) from the gcc-8-branch. + - Fix PR fortran/88048, PR fortran/88025. + * Back-out the fix for PR c++/87531. Closes: #915980. + + -- Matthias Klose Sun, 09 Dec 2018 11:02:40 +0100 + +gcc-8 (8.2.0-11) unstable; urgency=medium + + * Update to SVN 20181206 (r266855) from the gcc-8-branch. + - Fix PR libstdc++/70694, PR libstdc++/88199, PR tree-optimization/87288, + PR target/81685, PR target/87496 (PPC), PR tree-optimization/79351, + PR tree-optimization/88229, PR target/84711 (ARM), PR c++/88120, + PR c++/87531, PR fortran/88073, PR fortran/88143, PR libfortran/88137, + PR libfortran/88137. + * Back-out the gcc-search-prefixed-as-ld patch. See #915194. + + -- Matthias Klose Fri, 07 Dec 2018 00:06:23 +0100 + +gcc-8 (8.2.0-10) unstable; urgency=medium + + * Update to SVN 20181123 (r266402) from the gcc-8-branch. + - Fix PR libstdc++/87822, PR libstdc++/87809, PR rtl-optimization/85925, + PR gcov-profile/88045, PR target/87928 (x86), PR debug/88006, + PR debug/87462, PR target/85968 (ARC), PR middle-end/58372, + PR target/87867 (ARM), PR tree-optimization/87859, PR sanitizer/87837, + PR middle-end/87647, PR middle-end/85488, PR middle-end/87649, + PR c++/86246, PR c++/87989, PR c++/86288, PR fortran/87725, + PR fortran/87597, PR lto/88077, PR libfortran/78351, + PR libstdc++/85930, PR libstdc++/87520, PR target/88051 (x86). + + [ Matthias Klose ] + * Fix VCS attribute in the control file. Addresses: #912405. + * Update the Linaro support to the 8-2018.08 snapshot. + * Fix binutils dependency for Ubuntu trusty. + + [ Nicolas Boulenguez ] + * Stop writing -f*-prefix-map options to Ada Library Information files. + * Drop obsolete Ada patches. + * Fix autogen syntax in ada-armel-libatomic.diff. + + -- Matthias Klose Fri, 23 Nov 2018 09:33:03 +0100 + +gcc-8 (8.2.0-9) unstable; urgency=medium + + * Update to SVN 20181029 (r265595) from the gcc-8-branch. + - Fix PR middle-end/87087, PR middle-end/87623, PR libstdc++/87641, + PR middle-end/87645, PR libstdc++/87749, PR libstdc++/87704, + PR other/86198, PR debug/87428, PR debug/87362, PR bootstrap/81033, + PR target/81733, PR target/52795, PR target/85669, + PR tree-optimization/87473, PR tree-optimization/87665, + PR tree-optimization/87745, PR tree-optimization/87665, + PR tree-optimization/87700, PR debug/86687. + * Update VCS attributes in the control file. + * Don't configure native builds with --with-sysroot. Apparently this cannot + be completely overridden with the command line option --sysroot. + * gcc-8-base: Break gnat (<< 7). Closes: #911633. + + [ Nicolas Boulenguez ] + * Update ada patches. + + -- Matthias Klose Tue, 30 Oct 2018 10:50:43 +0100 + +gcc-8 (8.2.0-8) unstable; urgency=medium + + * Update to SVN 20181017 (r265234) from the gcc-8-branch. + - Fix PR libstdc++/86751, PR libstdc++/78595, PR libstdc++/87061, + PR libstdc++/70966, PR libstdc++/77854, PR libstdc++/87538, + PR libgcc/85334, PR middle-end/63155, PR target/87511 (AArch64), + PR middle-end/87610, PR tree-optimization/87465, PR target/87550 (x86), + PR target/87414 (x86), PR tree-optimization/86844, PR target/86731 (PPC), + PR target/87370 (x86), PR target/87517 (x86), PR target/87522 (x86), + PR other/87353, PR gcov-profile/86109, PR target/82699 (x86), + PR target/87467 (x86), PR target/87033 (PPC), PR sanitizer/85774, + PR rtl-optimization/86882, PR gcov-profile/85871, PR c++/87582, + PR c++/84940, PR gcov-profile/86109, PR c++/85070, PR c++/86881, + PR fortran/83999, PR fortran/86372, PR fortran/86111, PR fortran/85395, + PR fortran/86830, PR fortran/85954. + + -- Matthias Klose Wed, 17 Oct 2018 09:45:31 +0200 + +gcc-8 (8.2.0-7) unstable; urgency=medium + + * Update to SVN 20180917 (r264370) from the gcc-8-branch. + - Fix PR libstdc++/87278, PR target/85666 (mmix), PR middle-end/87188, + PR target/87224 (PPC), PR target/86989 (PPC), PR rtl-optimization/86771, + PR middle-end/87248, PR c++/87093, PR fortran/87284, PR fortran/87277. + + -- Matthias Klose Mon, 17 Sep 2018 17:46:50 +0200 + +gcc-8 (8.2.0-6) unstable; urgency=medium + + * Update to SVN 20180908 (r264168) from the gcc-8-branch. + - Fix PR c++/87137, PR bootstrap/87225, PR target/87198 (x86), + PR middle-end/87138, PR tree-optimization/86835, PR c++/87185, + PR c++/87095, PR c++/86836, PR c++/86738, PR c++/86706, PR fortran/86116. + * Apply proposed patch for PR go/87260. + * Apply proposed patch for PR tree-optimization/87188. Closes: #907586. + * Fix PR target/86731 (PPC), taken from the trunk. Closes: #905868. + + -- Matthias Klose Sun, 09 Sep 2018 14:43:43 +0200 + +gcc-8 (8.2.0-5) unstable; urgency=medium + + * Update to SVN 20180904 (r264075) from the gcc-8-branch. + - Fix PR sanitizer/86022, PR libstdc++/87116, PR other/86992, + PR tree-optimization/86914, PR middle-end/87099, + PR rtl-optimization/87065, PR target/86662, PR target/87014, + PR target/86640, PR gcov-profile/86817, PR tree-optimization/86871, + PR c++/86763, PR fortran/86837, PR libfortran/86704, + PR tree-optimization/85859, PR tree-optimization/87074, + PR tree-optimization/86927, PR middle-end/87024, PR middle-end/86505, + PR tree-optimization/86945, PR tree-optimization/86816, + PR lto/86456, PR c++/87155, PR c++/84707, PR c++/87122, + PR fortran/86328, PR fortran/86760. + * Remove ia64 boostrap work around (Jason Duerstock). Closes: #906675. + + -- Matthias Klose Tue, 04 Sep 2018 09:04:17 +0200 + +gcc-8 (8.2.0-4) unstable; urgency=medium + + * Update to SVN 20180814 (r263527) from the gcc-8-branch. + - Fix PR libstdc++/86597, PR libstdc++/84535, PR libstdc++/60555, + PR libstdc++/86874, PR libstdc++/86861, PR target/86386 (x86), + PR c++/86728, PR c++/86767, PR fortran/86906. + + [ Nicolas Boulenguez ] + * gnat: set ld_library_path for tested gnat tools. + * In the gnat autopkg test, tell gnatmake to report progress on stdout. + * gnat: Improve the ada-gcc-name patch. + * Update ada/debian_packaging.mk. + + -- Matthias Klose Tue, 14 Aug 2018 11:45:55 +0200 + +gcc-8 (8.2.0-3) unstable; urgency=medium + + * Update to SVN 20180803 (r263086) from the gcc-8-branch. + - Fix PR middle-end/86705, PR target/86820 (m68k). + * Build using ISL 0.20. + * Fix some autopkg tests (allow stderr, explicitly depend on libc-dev). + + -- Matthias Klose Fri, 03 Aug 2018 12:32:31 +0200 + +gcc-8 (8.2.0-2) unstable; urgency=medium + + * Update to SVN 20180802 (r263045) from the gcc-8-branch. + - Fix PR middle-end/86542, PR middle-end/86539, PR middle-end/86660, + PR middle-end/86627, PR target/86511, PR sanitizer/86759, PR c/85704, + PR libstdc++/86734, PR bootstrap/86724, PR target/86651, PR c/86617, + PR c++/86190. + - Fix PR libstdc++/84654, PR libstdc++/85672. LP: #1783705. + * Update cross-build patches for GCC 8.2. + * Refresh patches. + * Add some basic autopkg tests for Ada, C, C++, Go, OpenMP and Fortran. + * Backport r262835 to fix a wrong-code generation on m68k (Adrian Glaubits). + + -- Matthias Klose Thu, 02 Aug 2018 05:59:26 +0200 + +gcc-8 (8.2.0-1) unstable; urgency=medium + + * GCC 8.2.0 release. + * Update GDC to 20180726 from the gdc-8-stable branch.. + + -- Matthias Klose Thu, 26 Jul 2018 13:28:20 +0200 + +gcc-8 (8.1.0-12) unstable; urgency=medium + + * GCC 8.2.0 release candidate. + * Update to SVN 20180719 (r262861) from the gcc-8-branch. + - Fix PR middle-end/85602, PR c++/86480. + + [ Nicolas Boulenguez ] + * ada-verbose patch: Make the ada build more verbose. + * Update the ada-gcc-name patch again. See #856274. Closes: #903694. + + [ Matthias Klose ] + * Rewrite debian/README.cross. + + -- Matthias Klose Thu, 19 Jul 2018 17:39:39 +0200 + +gcc-8 (8.1.0-11) unstable; urgency=medium + + * Update to SVN 20180717 (r262818) from the gcc-8-branch. + - Fix PR c/86453, PR debug/86452, PR debug/86457, PR middle-end/85974, + PR middle-end/86076, PR tree-optimization/85935, + PR tree-optimization/86514, PR tree-optimization/86274, + PR target/84413 (x86), PR middle-end/86202, PR target/84829, + PR c++/3698, PR c++/86208, PR c++/86374, PR sanitizer/86406, + PR fortran/83184, PR fortran/86417, PR fortran/83183, + PR fortran/86325. + + [ Nicolas Boulenguez ] + * Update the ada-gcc-name patch, not appending the suffix twice. + Addresses: #856274. + + -- Matthias Klose Tue, 17 Jul 2018 14:09:13 +0200 + +gcc-8 (8.1.0-10) unstable; urgency=medium + + * Update to SVN 20180712 (r262577) from the gcc-8-branch. + - Fix PR libstdc++/86272, PR libstdc++/86127, PR target/85904, + PR libstdc++/85098, PR libstdc++/85671, PR libstdc++/83982, + PR libstdc++/86292, PR libstdc++/86138, PR libstdc++/84087, + PR libstdc++/86398, PR hsa/86371, PR tree-optimization/86492, + PR c++/86400, PR target/86285 (PPC), PR debug/86064, + PR target/86222 (PPC), PR rtl-optimization/85645, + PR rtl-optimization/85645, PR target/86314 (x86), PR sanitizer/86406, + PR c++/86398, PR c++/86378, PR c++/86320, PR c++/80290, + PR fortran/82969, PR fortran/86242, PR fortran/82865. + * Enable decimal float support on kfreebsd-amd64. Closes: #897416. + + -- Matthias Klose Thu, 12 Jul 2018 10:07:17 +0200 + +gcc-8 (8.1.0-9) unstable; urgency=medium + + * Update to SVN 20180626 (r262138) from the gcc-8-branch. + - Fix PR libstdc++/86138, PR libstdc++/82644, PR libgcc/86213, + PR c++/86210, PR c/86093, PR target/86197 (PPC), PR target/85358 (PPC), + PR tree-optimization/85989, PR target/85657 (PPC), PR target/85657 (PPC), + PR target/85994, PR rtl-optimization/86108, PR debug/86194, + PR tree-optimization/86231, PR c/82063, PR c++/86219, PR c++/86182, + PR c++/85634, PR c++/86200, PR c++/81060, PR fortran/83118, + PR libstdc++/86112, PR libstdc++/81092, PR fortran/82972, + PR fortran/83088, PR fortran/85851, PR c++/86291. + + [ Nicolas Boulenguez ] + * Remove Ludovic Brenta's work to let Ada build tools link with freshly + built libgnat.so, this is now handled by upstream testsuite. + + [ Iain Buclaw ] + * gdc: Explicitly set test action as compile in all dg tests. + + [ Matthias Klose ] + * Build using gnat-8. + + -- Matthias Klose Tue, 26 Jun 2018 10:45:36 +0200 + +gcc-8 (8.1.0-8) unstable; urgency=medium + + * Update to SVN 20180617 (r261686) from the gcc-8-branch. + - Fix PR libstdc++/86169, PR middle-end/86095, PR middle-end/85878, + PR middle-end/86123, PR middle-end/86122, PR c++/86147, PR c++/82882, + PR fortran/85703, PR fortran/85702, PR fortran/85701. + * Fix applying the powerpcspe patches. + + -- Matthias Klose Sun, 17 Jun 2018 12:56:15 +0200 + +gcc-8 (8.1.0-6) unstable; urgency=medium + + * Update to SVN 20180614 (r261597) from the gcc-8-branch. + - Fix PR libstdc++/86008, PR libstdc++/85930, PR libstdc++/85951, + PR target/85591 (x86), PR c++/85710, PR c++/80485, PR target/85755 (PPC), + PR target/85755 (PPC), PR target/81497 (ARM), PR target/85684 (x86), + PR target/63177 (PPC), PR tree-optimization/86038, + PR tree-optimization/85964, PR tree-optimization/85934, PR c++/86025, + PR tree-optimization/85863, PR c/85623, PR target/86003 (ARM), + PR tree-optimization/85712, PR target/85950 (x86), PR target/85984, + PR target/85829 (x86), PR c++/85792, PR c++/85963, PR c++/61806, + PR c++/85765, PR c++/85764, PR c++/85807, PR c++/85815, PR c++/86094, + PR c++/86060, PR c++/85847, PR c++/85976, PR c++/85731, PR c++/85739, + PR c++/85761, PR c++/85873, PR fortran/44491, PR fortran/85138, + PR fortran/85996, PR fortran/86051, PR fortran/86059, PR fortran/63514, + PR fortran/78278, PR fortran/38351, PR fortran/78571, PR fortran/85631, + PR fortran/86045, PR fortran/85641, PR fortran/85816, PR fortran/85975, + PR libgfortran/85840, PR target/85945, PR middle-end/86139, + PR other/77609, PR tree-optimization/86114, PR target/86048 (x86), + PR fortran/86110. + - libgo: update to Go 1.10.3 release. + + -- Matthias Klose Thu, 14 Jun 2018 16:57:14 +0200 + +gcc-8 (8.1.0-5) unstable; urgency=medium + + * Update to SVN 20180531 (r260992) from the gcc-8-branch. + - Fix PR sanitizer/86012, PR c/85696, PR c++/85662, PR target/85756 (x86), + PR target/85683 (x86), PR c++/85952, PR c/85696, PR c++/85662. + - Fix libsanitizer build on sparc64. + * libgo: Make the vet tool work with gccgo (taken from the trunk). + + -- Matthias Klose Thu, 31 May 2018 15:18:52 +0200 + +gcc-8 (8.1.0-4) unstable; urgency=medium + + * Update to SVN 20180529 (r260895) from the gcc-8-branch. + - Fix PR c++/85782, PR sanitizer/85835, PR libstdc++/85818, + PR libstdc++/85818, PR libstdc++/83891, PR libstdc++/84159, + PR libstdc++/67554, PR libstdc++/82966, PR bootstrap/85921, + PR sanitizer/85556, PR target/85900 (x86), PR target/85345 (x86), + PR c++/85912, PR target/85903 (x86), PR tree-optimization/85793, + PR middle-end/85874, PR tree-optimization/85822, PR middle-end/85643, + PR tree-optimization/85814, PR target/85698 (PPC), PR c++/85842, + PR c++/85864, PR c++/81420, PR c++/85866, PR c++/85782, PR fortran/85786, + PR fortran/85895, PR fortran/85780, PR fortran/85779, PR fortran/85543, + PR fortran/80657, PR fortran/49636, PR fortran/82275, PR fortran/82923, + PR fortran/66694, PR fortran/82617, PR fortran/85742, PR fortran/85542, + PR libgfortran/85906, PR libgfortran/85840. + + [ Nicolas Boulenguez ] + * Update ada/confirm_debian_bugs to gcc-8 and python3. + + [ Matthias Klose ] + * gnat-*: Don't search the target dirs when calling dh_shlibdeps. + * Stop shipping unstripped binaries with the final release. Closes: #894014. + + -- Matthias Klose Tue, 29 May 2018 14:34:37 +0200 + +gcc-8 (8.1.0-3) unstable; urgency=medium + + * Update to SVN 20180512 (r260194) from the gcc-8-branch. + - Fix PR ipa/85655, PR target/85733 (ARM), PR target/85606 (ARM), + PR fortran/70870, PR fortran/85521, PR fortran/85687, PR fortran/68846, + PR fortran/70864. + * Fix name of the g++ multiarch include directory. Closes: #898323. + * Fix PR sanitizer/85556, attribute no_sanitize does not accept multiple + options; taken from the trunk. Closes: #891489. + + -- Matthias Klose Sat, 12 May 2018 10:36:05 -0400 + +gcc-8 (8.1.0-2) unstable; urgency=medium + + * Update to SVN 20180510 (r260147) from the gcc-8-branch. + - Fix PR go/85630, PR target/85519 (nvptx), PR libstdc++/85642, + PR libstdc++/84769, PR libstdc++/85632, PR libstdc++/80506, + PR target/85512 (AArch64), PR c++/85305, PR ada/85635, PR ada/85540, + PR rtl-optimization/85638, PR middle-end/85588, PR middle-end/85588, + PR tree-optimization/85615, PR middle-end/85567, PR target/85658 (ARM), + PR tree-optimization/85597, PR middle-end/85627, PR c++/85659, + PR c++/85706, PR c++/85695, PR c++/85646, PR c++/85618, PR fortran/85507. + * Don't configure with --with-as and --with-ld, but search the triplet + prefixed as and ld in the same places as as/ld. Closes: #896057, #897896. + * Enable decimal float support on kfreebsd-amd64. Closes: #897416. + + -- Matthias Klose Thu, 10 May 2018 20:43:42 -0400 + +gcc-8 (8.1.0-1) unstable; urgency=medium + + * GCC 8.1.0 release. + * Stop providing the 8.x.y symlinks in gcc_lib_dir and incluce/c++. + * Configure powerpcspe with --enable-obsolete, will be gone with GCC 9. + * Build libmpx libraries when not building the common libs. + * Update NEWS files for GCC 8.1. + + -- Matthias Klose Wed, 02 May 2018 11:43:46 +0200 + +gcc-8 (8-20180425-1) unstable; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20180425 (r259628). + + [ Matthias Klose ] + * Update nvptx-newlib to 20180424. + * Use the binutils in the build chroot if present. + * Don't use dwz for GCC backports. + * Install the movdirintrin.h header file. + + [ Aurelien Jarno ] + * Enable logwatch on riscv64. + + -- Matthias Klose Wed, 25 Apr 2018 06:56:58 +0200 + +gcc-8 (8-20180414-1) unstable; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20180414 (r259383). + + [ Matthias Klose ] + * Update GDC to 20180410. + * Don't install i586 symlinks anymore for i386 builds in sid. + * Fix zlib-dev dependencies for the libphobos cross multilib packages. + * Fix dependency generation for libatomic and libquadmath cross packages. + * Use triplet-prefixed as and ld (Helmut Grohne). Closes: #895251. + * Link libasan, liblsan, libubsan always with --no-as-needed. LP: #1762683. + * Use --push-state --as-needed and --pop-state instead of --as-needed and + --no-as-needed for linking libgcc. + * Update the gcc-foffload-default patch. LP: #1721355. + + [ Svante Signell ] + * Reintroduce libgo patches for hurd-i386. Closes: #894080. + + -- Matthias Klose Sat, 14 Apr 2018 07:10:01 +0200 + +gcc-8 (8-20180402-1) unstable; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20180402 (r259004). + * Build a native compiler with a cross directory layout using the + FORCE_CROSS_LAYOUT environment variable. + + -- Matthias Klose Mon, 02 Apr 2018 10:09:27 +0200 + +gcc-8 (8-20180331-1) unstable; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20180331 (r258989). + - Fix PR/libstdc++/85040, std::less fails when operator< is + overloaded. Closes: #893517. + - Fix PR/target 84148, CET shouldn't be enabled in 32-bit run-time + libraries by default. Closes: #890092. + + [ Samuel Thibault ] + * Fix disabling go on hurd-i386 for now. + + [ Matthias Klose ] + * gdc: Link with the shared libphobos library by default. + * Fix control file generation for nolang=biarch builds (Helmut Grohne). + Closes: #891289. + * Simplify architecture to gnu-type mapping (Helmut Grohne). Closes: #893493. + + -- Matthias Klose Sat, 31 Mar 2018 15:14:44 +0800 + +gcc-8 (8-20180321-1) unstable; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20180321 (r258712). + - Fix PR sanitizer/84761. Addresses: #892096. + * Update GDC to 20180320. + * Reenable building gdc. + + -- Matthias Klose Wed, 21 Mar 2018 19:47:27 +0800 + +gcc-8 (8-20180319-1) unstable; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20180319 (r258631). + + [ Aurelien Jarno ] + * Default to PIE on riscv64. + * Temporarily do not build-depend on gdb on riscv64. + + -- Matthias Klose Mon, 19 Mar 2018 02:18:29 +0800 + +gcc-8 (8-20180312-2) unstable; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20180312 (r258445). + * Update GDC to 20180311. + + [ Matthias Klose ] + * Fix typo in libasan and lib32asan symbols files for s390x. + + [ Aurelien Jarno ] + * Disable gnat on riscv64. + * Backport RISC-V libffi support from upstream. + + -- Matthias Klose Mon, 12 Mar 2018 12:33:10 +0100 + +gcc-8 (8-20180310-1) unstable; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20180310 (r258410). + * Build libasan and libubsan packages on s390x. + * Update libasan symbols files for s390x. + + -- Matthias Klose Sat, 10 Mar 2018 10:54:02 +0700 + +gcc-8 (8-20180308-1) unstable; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20180308 (r258348). + * Update GDC to 20180304. + + [ Matthias Klose ] + * Fix cross builds building without "common" libraries. + * Fix cross-building libgnat on armel, when not building the common libraries. + * Remove the go patches for the Hurd. Unmaintained. + * Update libcc1 symbols file. + * Install more intrinsic header files. + + [ Aurelien Jarno ] + * Configure s390x build with --with-arch=z196 on Debian. + * Drop libgo-s390x-default-isa.diff patch. + * Disable multilib on riscv64. + * Update gcc-as-needed.diff, gcc-hash-style-both.diff and + gcc-hash-style-gnu.diff for riscv64. + * Update gcc-multiarch.diff for riscv64. + + [ Karsten Merker ] + * Force the riscv64 ISA to rv64imafdc and ABI to lp64d. + + -- Matthias Klose Thu, 08 Mar 2018 14:17:37 +0700 + +gcc-8 (8-20180218-1) unstable; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20180208 (r257477). + * Update GDC to 20180211. + * Store basename only in gfortran .mod files. Addresses: #889133. + * Disable go on the hurd, patches are out of date. + * Configure with --disable-libquadmath-support when not explicitly enabled. + * For armel multilib builds, explicitly set architecture and cpu for the + hard-float multilib. + + -- Matthias Klose Sun, 18 Feb 2018 16:11:11 +0700 + +gcc-8 (8-20180207-2) unstable; urgency=medium + + * Revert the fix for PR target/84145. + * Override patch-file-present-but-not-mentioned-in-series lintian warning. + + -- Matthias Klose Wed, 07 Feb 2018 13:09:23 +0100 + +gcc-8 (8-20180207-1) unstable; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20180207 (r257435). + * Update GDC to 20180204. + * Refresh patches. + * Disable go on m68k again. Closes: #886103. + * Ignore bootstrap comparison failures in gcc/d on alpha. Addresses: #888951. + * Include amo.h header for Power architectures. + * Include arm_cmse.h header for ARM32 architectures. + * Update tsan symbols file arm64. + + -- Matthias Klose Wed, 07 Feb 2018 01:34:14 +0100 + +gcc-8 (8-20180130-1) experimental; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20180130 (r257194). + * Update GDC to 20180130. + + -- Matthias Klose Tue, 30 Jan 2018 18:49:51 +0100 + +gcc-8 (8-20180123-1) experimental; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20180123 (r257004). + * Update GDC to 20180123. + * Install the msa.h header for mips targets (YunQiang Su). Addresses: #887066. + * Fix mipsen r6 biarch configs (YunQiang Su). Closes: #886976. + + -- Matthias Klose Tue, 23 Jan 2018 23:10:51 +0100 + +gcc-8 (8-20180110-1) experimental; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20180110 (r256425). + - Go 1.10 beta1 merged, bumping libgo soname. + * Update GDC to 20180108. + * debian/rules2: Fix typo for N32 conditions (YunQiang Su). Closes: #886459. + * More libffi mips r6 updates (YunQiang Su). Addresses: #886201. + * Default to PIE on the hurd (Samuel Thibault). Addresses: #885056. + * Use internal libunwind for ia64 cross-builds. Addresses: #885931. + * Strip -z,defs from linker options for internal libunwind (James Clarke). + Addresses: #885937. + * Fix rtlibs stage build with debhelper 10.9.1 (Helmut Grohne). + Closes: #879054. + + -- Matthias Klose Wed, 10 Jan 2018 12:23:12 +0100 + +gcc-8 (8-20171229-1) experimental; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20171229. + * Update GDC to 20171227. + * Build the nvptx offload compiler again. + + -- Matthias Klose Fri, 29 Dec 2017 22:16:04 +0100 + +gcc-8 (8-20171223-1) experimental; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20171223. + * Update GDC to 20171223. + * Don't build the nvptx offload compiler for now, see PR target/83524. + + -- Matthias Klose Sat, 23 Dec 2017 13:08:14 +0100 + +gcc-8 (8-20171215-1) experimental; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20171215. + * Update GDC to 20171213. + * Move the .gox files into the gccgo packages. Addresses: #883136. + * libffi: mips/n32.S: disable .set mips4 on mips r6 (YunQiang Su). + * Fix shlibs search path for mips64 cross targets. Addresses: #883988. + * Set the armel port baseline to armv5te. Closes: #882174. + + -- Matthias Klose Fri, 15 Dec 2017 18:30:46 +0100 + +gcc-8 (8-20171209-1) experimental; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20171209. + * Add more header files for builtins. Closes: #883423. + * Re-enable gccgo on m68k. Addresses: #883794. + + -- Matthias Klose Sat, 09 Dec 2017 21:23:08 +0100 + +gcc-8 (8-20171128-1) experimental; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20171128. + + [ Matthias Klose ] + * Don't revert the fix for PR target/55947, fixed for GCC 8. + * Update libgfortran symbol versioning. + + [ Nicolas Boulenguez ] + * Fix the gnat bootstrap. + + -- Matthias Klose Tue, 28 Nov 2017 07:40:23 +0100 + +gcc-8 (8-20171122-1) experimental; urgency=medium + + [ Matthias Klose ] + * GCC 8 snapshot, taken from the trunk 20171122. + * Update GDC to 20171118. + * Port libgo to the Hurd (Svante Signell). + * Add support for a plethora of mips r6 packages (YunQiang Su). + * Remove the libcilkrts packaging bits. + * Remove libgphobos symbols files. + + [ Svante Signell ] + * Do not enable go on GNU/kFreeBSD. + + -- Matthias Klose Wed, 22 Nov 2017 14:02:35 +0100 + +gcc-8 (8-20171108-1) experimental; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20171108. + * Update GDC to 20171106. Closes: #880548. + * libgcc-dev: Install the liblsan_preinit.o file. + * Compress debug symbols for compiler binaries with dwz. + + -- Matthias Klose Wed, 08 Nov 2017 20:00:30 +0100 + +gcc-8 (8-20171102-1) experimental; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20171102. + * Bump libunwind (build-)dependency for ia64. Addresses: #879959. + * Drop the autogen build dependency. + * Install the gfniintrin.h header file. + * libgcc and libstdc++ symbols files updates for mipsn32. + * Remove the gcc-mips64-stack-spilling patch, applied upstream. + * Update libasan symbols files. + + -- Matthias Klose Thu, 02 Nov 2017 01:43:34 +0100 + +gcc-8 (8-20171031-1) experimental; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20171031. + * Install cetintrin.h header. Closes: #879740. + * Update gnat patches (YunQiang Su). Closes: #879985. + * Build libphobos runtime library on x86 architectures again. + * Fix typo in libx32stdc++6-8-dbg conflicts. Closes: #879883. + + -- Matthias Klose Tue, 31 Oct 2017 02:22:07 +0100 + +gcc-8 (8-20171023-1) experimental; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20171023. + * Mask __float128 from CUDA compilers. LP: #1717257. + * Update the gdc build support. + * Don't use quadmath on powerpc and ppc64. + * Bump asan and ubsan sonames. + * Adjust sanitizer symbols for the libsanitizer upstream merge. + * Install the gcov.h header file. + * Do the extra/optional dance ... + * Override hardening-no-pie lintian warnings for compiler executables. + + -- Matthias Klose Mon, 23 Oct 2017 10:57:54 +0200 + +gcc-8 (8-20171016-1) experimental; urgency=medium + + * GCC 8 snapshot, taken from the trunk 20171016. + * Update nvptx-newlib to 20171010. + * Fix lsan/tsan symbols files for arm64 and ppc64el. + * Add missing conflicts with GCC 7 packages. Closes: #877441. + * Fix builds without hppa64 cross compiler and new debhelper. See: #877589. + * Fix build dependency on realpath. + * Build the nvptx offload compiler again. + * Update symbols files. + * Fix build dependency on realpath. + * Set QUILT_PATCH_OPTS='-E' for applying patches. + + -- Matthias Klose Mon, 16 Oct 2017 14:56:04 +0200 + +gcc-8 (8-20170923-1) experimental; urgency=medium + + * GCC 8 snapshot. + * Disable Ada and D for a first build. + + -- Matthias Klose Tue, 26 Sep 2017 23:44:57 +0200 + +gcc-7 (7.2.0-7) unstable; urgency=medium + + * Update to SVN 20170923 (r253114) from the gcc-7-branch. + - Fix PR libstdc++/79162, PR libstdc++/79162, PR libstdc++/82262, + PR libstdc++/82254, PR target/81996 (PPC), PR target/71951 (AArch64), + PR sanitizer/81929. + * Fix PR go/82284, taken from the trunk. Closes: #876353. + + -- Matthias Klose Sat, 23 Sep 2017 11:31:21 +0200 + +gcc-7 (7.2.0-6) unstable; urgency=medium + + * Update to SVN 20170920 (r253002) from the gcc-7-branch. + - Fix PR target/82112 (PPC), PR c++/81355, PR tree-optimization/82084, + PR tree-optimization/82108, PR target/81325 (PPC), PR c++/81236, + PR c++/80767, PR c++/82030, PR c++/80935, PR c++/81671, PR c++/81525, + PR c++/81314, PR libgfortran/78387. + * Fix fortran cross compiler build with debhelper 10.9. Closes: #876246. + * Strip the compiler binaries again. Closes: #872672. + * Bump binutils dependency to 2.29.1 for sid/buster. + + -- Matthias Klose Wed, 20 Sep 2017 11:13:31 +0200 + +gcc-7 (7.2.0-5) unstable; urgency=medium + + * Update to SVN 20170915 (r252791) from the gcc-7-branch. + - Fix PR c/81687, PR c/45784, PR c++/81852, PR target/82181 (xtensa), + PR target/80695 (PPC), PR target/81988 (SPARC), PR middle-end/81768, + PR sanitizer/81923, PR target/81621, PR driver/81650, + PR middle-end/81052, PR tree-optimization/81987, PR bootstrap/81926, + PR libstdc++/79162, PR libstdc++/81468, PR libstdc++/81835, + PR libstdc++/70483, PR libstdc++/70483, PR target/81833 (PPC), + PR other/39851, PR ipa/81128, PR inline-asm/82001, PR c++/81355, + PR tree-opt/81696. + * Enable libgo tests and rebuilds with make -C (Svante Signell). + Closes: #873929. + * Fix PR sanitizer/77631, support separate debug info in libbacktrace. + * Update the Linaro support to the 7-2017.09 snapshot. + + -- Matthias Klose Fri, 15 Sep 2017 12:15:21 +0200 + +gcc-7 (7.2.0-4) unstable; urgency=medium + + * Update to SVN 20170906 (r251753) from the gcc-7-branch. + - Fix PR c++/82039, PR libstdc++/81912, PR libstdc++/81891, + PR libstdc++/81599, PR libstdc++/81338, PR tree-optimization/81503, + PR ada/79542, PR ada/62235, PR fortran/81770. + * Fix PR target/81833 (PPC), taken from the trunk. Closes: #871565. + + -- Matthias Klose Wed, 06 Sep 2017 10:38:05 +0200 + +gcc-7 (7.2.0-3) unstable; urgency=high + + * Update to SVN 20170901 (r251583) from the gcc-7-branch. + - Fix PR target/81504 (PPC), PR c++/82040. + * Apply proposed patch for PR target/81803 (James Cowgill), conditionally + for mips* targets. Closes: #871514. + * Bump standards version. + + -- Matthias Klose Sat, 02 Sep 2017 13:55:18 +0200 + +gcc-7 (7.2.0-2) unstable; urgency=medium + + * Update to SVN 20170830 (r251446) from the gcc-7-branch. + - Fix PR target/72804 (PPC), PR target/80210 (PPC), PR target/81910 (AVR), + PR target/79883 (AVR), PR fortran/81296, PR fortran/80164, + PR target/81593 (PPC), PR target/81170 (PPC), PR target/81295 (PPC), + PR tree-optimization/81977, PR debug/81993 (closes: #873609), + PR middle-end/81088, PR middle-end/81065, PR sanitizer/80932, + PR middle-end/81884, PR tree-optimization/81181, + PR tree-optimization/81723, PR target/81921 (x86), PR c++/81607. + * Update the Linaro support to the 7-2017.08 snapshot. + * Restore configuring with --with-mode=thumb on armhf. Closes: #873584. + * Default to PIE on powerpc again, now that PR target/81170 and + PR target/81295 are fixed. Closes: #856224. + + -- Matthias Klose Wed, 30 Aug 2017 11:47:42 +0200 + +gcc-7 (7.2.0-1) unstable; urgency=medium + + * GCC 7.2.0 release. + * Update libgcc1 symbols file for s390x. + * Apply proposed patch for PR driver/81829. Closes: #853537. + + -- Matthias Klose Fri, 18 Aug 2017 18:34:45 +0200 + +gcc-7 (7.1.0-13) unstable; urgency=medium + + * GCC 7.2 release candidate 2. + * Don't build the gc enabled libobjc for cross compilers. Closes: #870895. + * Configure cross-build-native builds with --program-prefix (Adrian + Glaubitz). Closes: #871034. + * Update build dependencies for powerpcspe. Closes: #868186. + * Fix PR tree-optimization/81723, taken from the trunk. Closes: #853345. + + -- Matthias Klose Tue, 08 Aug 2017 11:12:56 -0400 + +gcc-7 (7.1.0-12) unstable; urgency=medium + + * GCC 7.2 release candidate 1. + * Update to SVN 20170803 (r250853) from the gcc-7-branch. + + -- Matthias Klose Thu, 03 Aug 2017 09:20:48 -0400 + +gcc-7 (7.1.0-11) unstable; urgency=medium + + * Update to SVN 20170731 (r250749) from the gcc-7-branch. + + [ Matthias Klose ] + * Update sanitizer symbols for ppc64 and sparc64. + + [ Nicolas Boulenguez ] + * Only build gnatvsn as a native library. + + -- Matthias Klose Mon, 24 Jul 2017 13:41:34 +0200 + +gcc-7 (7.1.0-10) unstable; urgency=medium + + * Update to SVN 20170722 (r250453) from the gcc-7-branch. + + [ Nicolas Boulenguez ] + * libgnatvsn: embed xutil rident for version 2017 of asis package. + + [ Matthias Klose ] + * Fix gnat cross build on m68k (Adrian Glaubitz). Closes: #862927. + * Enable gnat cross build on m68k. Closes: #868365. + * Update the Linaro support to the 7-2017.07 snapshot. + * Stop ignoring symbol mismatches for runtime libraries. + + [ Aurelien Jarno ] + * libgo-s390x-default-isa.diff: do not build libgo with -march=z196, + use the default ISA instead. + + -- Matthias Klose Sat, 22 Jul 2017 15:06:36 +0200 + +gcc-7 (7.1.0-9) unstable; urgency=medium + + * Update to SVN 20170705 (r250006) from the gcc-7-branch. + + [ Matthias Klose ] + * gcc-linaro-revert-r49596.diff: fix build for the linaro branch. + * Don't configure powerpc with --enable-default-pie, fails to build. + See #856224, PR target/81295. + + [ Nicolas Boulenguez ] + * ada-gcc-name.diff: unpatch gnatchop. Addresses: #856274. + * Link libgnat with libatomic on armel. Closes: #861734. + * libgnat-dev: use multiarch paths in project and to install .ali files. + * Build Ada on armel, kfreebsd-*, hurd-i386; #86173[457] are closed. + + -- Matthias Klose Wed, 05 Jul 2017 19:21:55 +0200 + +gcc-7 (7.1.0-8) unstable; urgency=medium + + * Update to SVN 20170629 (r249793) from the gcc-7-branch. + + [ Matthias Klose ] + * Move the liblto_plugin from the cpp to the gcc package. + * libstdc++6: Add more Breaks to smoothen upgrades from jessie to stretch. + Addresses: #863845, #863745. + * Don't provide libobjc_gc symlinks for the libobjc multilib packages. + * Configure with --enable-default-pie on ppc64 (Adrian Glaubitz) and + powerpc (Mathieu Malaterre). Addresses: #856224. + + [ Nicolas Boulenguez ] + * Update ada/confirm_debian_bugs.py for gcc-7. + * Drop ada-driver-check.diff, the problem is unreproducible. + * Stop symlinking gcc-7-7 -> gcc-7. See #856274 and #814977. + * gnatmake: compile once even with SOURCE_DATE_EPOCH. Closes: #866029. + + -- Matthias Klose Thu, 29 Jun 2017 17:36:03 +0200 + +gcc-7 (7.1.0-7) unstable; urgency=medium + + * Update to SVN 20170618 (r249347) from the gcc-7-branch. + + [ Matthias Klose ] + * 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-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-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-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-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-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-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20170407. + * Install gcov-dump and gcov-tool manual pages. + + -- Matthias Klose Fri, 07 Apr 2017 13:16:00 +0200 + +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-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-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 Clarke). + 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-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 21:57:22 +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 Clarke). + * 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-20161230-1) experimental; urgency=medium + + * GCC 7 snapshot build, taken from the trunk 20161230. + * Update gdc to trunk 20161229. Closes: #844704. + * 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. + * Drop m68k specific ada patches. Closes: #846872. + + -- Matthias Klose Fri, 30 Dec 2016 05:19:15 +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-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-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-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-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-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-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-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 Clarke). + * 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-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 Clarke). 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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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.0.1-2) unstable; urgency=medium + + * GCC 6.1 release candidate 2. + - Fix PR c++/68206, PR c++/70522, PR middle-end/70747, PR target/64971, + PR c++/66543, PR tree-optimization/70725, PR tree-optimization/70726, + PR target/70674 (s390x), PR tree-optimization/70724, PR c++/70690, + PR c++/70505, PR target/70711 (ARM32), PR c++/70685, + PR target/70662 (x86). + * Update gdc to the trunk 20160423. + + -- Matthias Klose Sat, 23 Apr 2016 17:56:52 +0200 + +gcc-6 (6.0.1-1) experimental; urgency=medium + + * GCC 6.1 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-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160405. + + -- Matthias Klose Tue, 05 Apr 2016 16:39:49 +0200 + +gcc-6 (6-20160319-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160319. + * Stop providing alternative for /usr/bin/go. (Michael Hudson-Doyle). + LP: #1555856. + * Disable gnat on powerpcspe. Closes: #816051. + + -- Matthias Klose Sat, 19 Mar 2016 11:54:57 +0100 + +gcc-6 (6-20160312-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160312. + * Update gdc to the trunk 20160306. + * Remove powerpcspe specific patch, integrated upstream. Addresses: #816048. + * When configured to link with --as-needed by default, always link the + sanitizer libraries with --no-as-needed. + + -- Matthias Klose Sat, 12 Mar 2016 10:21:28 +0100 + +gcc-6 (6-20160228-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160228. + + [ Matthias Klose ] + * libgo: Port syscall.SetsockoptUcred from golang (Michael Vogt). + + [ Svante Signell ] + * patches/ada-hurd.diff: Update. + + -- Matthias Klose Sun, 28 Feb 2016 13:28:41 +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-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160220. + - Fix PR tree-optimization/68021. Closes: #812245. + - Fix PR ipa/69241. Closes: #812060. + - Fix PR libstdc++/56158. Closes: #789369. + * Update symbols files. + * libgccjit-6-doc: Really conflict with libgccjit-5-doc. Closes: #814527. + * Update conflict for gnat cross build packages. Closes: #810809. + * Disable the m68k gnat build, currently fails. See: #814221. + * Fix running the acats tests (Svante Signell): Addresses part of #814978. + + -- Matthias Klose Sat, 20 Feb 2016 16:58:47 +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-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-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-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-1) experimental; urgency=medium + + * GCC 6 snapshot build, taken from the trunk 20160101. + * Build native gnat on sh4. Addresses: #809498. + + -- Matthias Klose Fri, 01 Jan 2016 21:18:38 +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-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 16:04:56 +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-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-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-1) unstable; urgency=medium + + * Update to SVN 20151205 (r231314, 5.3.1) from the gcc-5-branch. + + -- Matthias Klose Sat, 05 Dec 2015 20:45:53 +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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-11) experimental; urgency=medium + + * Configure without --disable-libstdcxx-dual-abi. + * Configure with --with-default-libstdcxx-abi=c++11. + + -- Matthias Klose Fri, 17 Jul 2015 08:13:08 +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-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-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-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-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-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-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-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-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~rc1-1) experimental; 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 02:03:53 +0200 + +gcc-5 (5-20150410-1) experimental; urgency=medium + + * Update to SVN 20150410 + + [ Matthias Klose ] + * Fix /usr/include/c++/5.0.0 symlink. + * Re-enable building the D frontend. Closes: #782254. + * gccgo: Install libnetgo. + + [ Samuel Thibault ] + * Fix ada builds on the Hurd and KFreeBSD. Closes: #781424. + + -- Matthias Klose Sat, 11 Apr 2015 02:24:08 +0200 + +gcc-5 (5-20150404-1) experimental; 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. + * 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 Sat, 04 Apr 2015 21:53:45 +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-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-1) experimental; urgency=medium + + * Update to SVN 20150321. + * Move the libcc1plugin from the gcc-5-plugin-dev package into the + gcc-5 package. + + -- Matthias Klose Sat, 21 Mar 2015 15:01:15 +0100 + +gcc-5 (5-20150316-1) experimental; urgency=medium + + * Update to SVN 20150316. + - Fix bootstrap failures on armel, armhh and arm64. + * Configure with --enable-checking=yes (instead of =release). + + -- Matthias Klose Tue, 17 Mar 2015 00:30:27 +0100 + +gcc-5 (5-20150314-1) experimental; urgency=medium + + * Update to SVN 20150314. + - libgo: Add arm64 to the pointer size map (Michael Hudson). + - libgo: Add ppc to the pointer size map. + - PR go/65404, enable cgo on arm64 and powerpc. LP: #1431032. + - Fix PR/tree-optimization 65418. Closes: #778163. + - Fix PR c++/65370. Closes: #778073. + * Enable libmpx builds on amd64 and i386. + * Update the gcc-multiarch patch for mips64 (YunQiang Su). + Closes: #776402, #780271. + * Remove pr52306 and pr52714 patches, applied upstream. Closes: #780468. + + -- Matthias Klose Sat, 14 Mar 2015 14:48:19 +0100 + +gcc-5 (5-20150307-1) experimental; 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:20:59 +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-1) experimental; urgency=medium + + * Update to SVN 20150205. + * Update GDC for GCC 5. + * Build GDC multilib packages. + * Update cross-install-location.diff for gcc-5. Closes: #776100. + * Configure --with-default-libstdcxx-abi=c++11 for development, + --with-default-libstdcxx-abi=c++98 for backports. + * Apply proposed patch for PR target/64893 (AArch64), build using + 4.9 on AArch64 for now. + * Don't disable bootstrap mode for the jit build on arm64, gets + miscompiled. + * Allow one to build using gettext built with a newer GCC. + + -- Matthias Klose Thu, 05 Feb 2015 18:31:17 +0100 + +gcc-5 (5-20150127-1) experimental; urgency=medium + + * Update to SVN 20150127. + * More symbol file updates. + * Fix libbacktrace and libsanitizer multilib builds. + * Fix libssp builds on 64bit architectures. + * Update hardening testsuite patches for GCC 5. + + -- Matthias Klose Tue, 27 Jan 2015 14:10:30 +0100 + +gcc-5 (5-20150121-1) experimental; urgency=medium + + * GCC 5 (SVN trunk 20150121). + * Build new binary packages libcc1-0, libgccjit0, libgccjit-5-dev, + libgccjit-5-dbg, libgccjit-5-doc. + * Update symbols files (still incomplete). + + -- Matthias Klose Wed, 21 Jan 2015 21:02:05 +0100 + +gcc-4.9 (4.9.2-10) UNRELEASED; urgency=medium + + * Update to SVN 20150120 (r219885) from the gcc-4_9-branch. + - Fix PR libstdc++/64476, PR libstdc++/60966, PR libstdc++/64239, + PR libstdc++/64649, PR libstdc++/64584, PR libstdc++/64585, + PR libstdc++/64646, + 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 Tue, 20 Jan 2015 12:45:13 +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-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-6) unstable; urgency=medium + + * Update to SVN 20141209 (r218510) from the gcc-4_9-branch. + - Fix PR libstdc++/63840, PR libstdc++/61947, PR libstdc++/64140, + PR target/50751 (SH), PR target/64108 (x86, ice), + PR rtl-optimization/64037 (wrong-code), PR c++/56493 (performance), + PR c/59708, PR ipa/64153, PR target/64167) (wrong code, + closes: #771974), PR target/59593 (ARM, wrong code), + PR middle-end/63762 (ARM. wrong code), PR target/63661 (x86, + wrong code), PR target/64113 (alpha, wrong code), PR c++/64191. + - Allow one to build with ISL 0.14. + + -- Matthias Klose Tue, 09 Dec 2014 11:00:08 +0100 + +gcc-4.9 (4.9.2-5) unstable; urgency=medium + + * Update to SVN 20141202 (r218271) from the gcc-4_9-branch. + - Fix PR middle-end/64111 (ice), PR ipa/63551 (wrong code). + PR libstdc++/64102 (closes: #770843), PR target/64115 (powerpc). + * Move libphobos2.a into the gcc_lib_dir. Closes: #771647. + * Fix typo in last powerpcspe patch. Closes: #771654. + + -- Matthias Klose Tue, 02 Dec 2014 17:42:07 +0100 + +gcc-4.9 (4.9.2-4) unstable; urgency=medium + + * Update to SVN 20141128 (r218142) from the gcc-4_9-branch. + -PR PR target/56846 (ARM), PR libstdc++/63497, + PR middle-end/63738 (wrong code), PR tree-optimization/62238 (ice), + PR tree-optimization/61927 (wrong code), + PR tree-optimization/63605 (wrong code), PR middle-end/63665 (wrong code), + PR fortran/63938 (OpenMP), PR middle-end/64067 (ice), + PR tree-optimization/63915 (wrong code), PR sanitizer/63913 (ice valid), + PR rtl-optimization/63659 (wrong code). + * Don't let stage1 multilib builds depend on the multilib libc-dev. + Closes: #771243. + * Fix an exception problem on powerpcspe (Roland Stigge). Closes: #771324. + * Remove unsupported with_deps_on_target_arch_pkgs configurations. + Closes: #760770, #766924, #770413. + + -- Matthias Klose Fri, 28 Nov 2014 15:26:23 +0100 + +gcc-4.9 (4.9.2-3) unstable; urgency=medium + + * Update to SVN 20141125 (r218048) from the gcc-4_9-branch. + - PR target/53976 (SH), PR target/63783 (SH), PR target/51244 (SH), + PR target/60111 (SH), PR target/63673 (ppc), + PR tree-optimization/61750 (ice), PR target/63947 (x86, wrong code), + PR tree-optimization/62167 (wrong code), PR c++/63849 (ice), + PR ada/47500. + + [ Aurelien Jarno ] + * Always configure sh4-linux with --with-multilib-list=m4,m4-nofpu, + even with multilib disabled, as it doesn't produce additional + libraries. + + [ Matthias Klose ] + * gcc-4.9-base: Add Breaks: gcc-4.7-base (<< 4.7.3). Closes: #770025. + + -- Matthias Klose Tue, 25 Nov 2014 17:04:19 +0100 + +gcc-4.9 (4.9.2-2) unstable; urgency=medium + + * Update to SVN 20141117 (r217768) from the gcc-4_9-branch. + - Fix PR rtl-optimization/63475, PR rtl-optimization/63483 (gfortran + aliasing fixes for alpha), PR target/63538 (x86), PR ipa/63838 (wrong + code), PR target/61535 (sparc), PR c++/63265 (diagnostic), PR ada/42978. + * Fix PR c/61553 (ice on illegal code), backported from the trunk. + Closes: #767668. + * Disable building the sanitizer libs on powerpc and ppc64. Not yet + completely ported, and causing kernel crashes running the tests. + * Update the Linaro support to the 4.9-2014.11 release. + + -- Matthias Klose Tue, 18 Nov 2014 00:34:01 +0100 + +gcc-4.9 (4.9.2-1) unstable; urgency=medium + + * GCC 4.9.2 release. + * Update GDC from the 4.9 branch. + + [ Matthias Klose ] + * Allow one to build the gcc-base package only. + + [Ludovic Brenta] + Merge from gnat-4.9 (4.9.1-4) unstable; urgency=low. + * debian/patches/ada-libgnatvsn.diff: compile the version.o of + libgnatvsn.{a,so} with -DBASEVER=$(FULLVER) to align it with the + change made in gcc-base-version.diff, which is compiled into gcc and + gnat1. Fixes: #759038. + * debian/patches/ada-revert-pr63225.diff: new; preserve the aliversion + compatibility of libgnatvsn4.9-dev with -3. + + Merge from gnat-4.9 (4.9.1-3) unstable; urgency=low + Merge from gnat-4.9 (4.9.1-2) unstable; urgency=low + + [Svante Signell] + * debian/patches/ada-hurd.diff: update and bring up to par with + ada-kfreebsd.diff. + + [Ludovic Brenta] + * Rebuild with newer dpkg. Fixes: #761248. + + Merge from gnat-4.9 (4.9.1-1) unstable; urgency=low + + * New upstream release. Build-depend on gcc-4.9-source (>= 4.9.1). + Fixes: #755490. + * debian/rules.d/binary-ada.mk: install the test-summary file in package + gnat-4.9 instead of gnat-4.9-base. test-summary is actually + architecture-dependent. This change reflects what happens in gcc-4.9 + and gcc-4.9-base as well. Fixes: #749869. + + Merge from gnat-4.9 (4.9.0-2) unstable; urgency=low + + * Lintian warnings: + * debian/control.m4 (gnat-4.9-base): Multi-Arch: same. + * debian/patches/ada-749574.diff: new. Fixes: #749574. + + -- Matthias Klose Tue, 04 Nov 2014 02:58:33 +0100 + +gcc-4.9 (4.9.1-19) unstable; urgency=medium + + * GCC 4.9.2 release candidate. + * Update to SVN 20141023 (r216594) from the gcc-4_9-branch. + * Install sanitizer header files. + * Apply patch for PR 60655, taken from the trunk. + * Fix typo in the libstdc++ HTML docs. Closes: #766498. + * Use doxygen's copy of jquery.js for the libstdc++ docs. Closes: #766499. + * Force self-contained cross builds. + * Don't build functionally non-equivalent cross compilers. + * Update the Linaro support to the 4.9-2014.10-1 release. + + -- Matthias Klose Fri, 24 Oct 2014 14:20:00 +0200 + +gcc-4.9 (4.9.1-18) unstable; urgency=medium + + * Update to SVN 20141018 (r216426) from the gcc-4_9-branch. + + [ Matthias Klose ] + * Update libstdc++ symbols file for powerpcspe (Roland Stigge). + Closes: #765078. + + -- Matthias Klose Sat, 18 Oct 2014 16:28:09 +0200 + +gcc-4.9 (4.9.1-17) unstable; urgency=medium + + * Update to SVN 20141015 (r216240) from the gcc-4_9-branch. + - Fix PR c++/63405 (ice) Closes: #761549. + - Fix PR ipa/61144 (wrong code). Closes: #748681. + + -- Matthias Klose Wed, 15 Oct 2014 10:29:23 +0200 + +gcc-4.9 (4.9.1-16) unstable; urgency=medium + + * Update to SVN 20140930 (r215717) from the gcc-4_9-branch. + * Don't suggest libvtv and binutils-gold. Closes: #761612. + + -- Matthias Klose Tue, 30 Sep 2014 11:37:48 +0200 + +gcc-4.9 (4.9.1-15) unstable; urgency=medium + + * Update to SVN 20140919 (r215401) from the gcc-4_9-branch. + + [ Matthias Klose ] + * Extend the fix for PR target/63190 (AArch64). Closes: #758964. + * Apply proposed fix for Linaro #331, LP: #1353729 (AArch64). + + [ Aurelien Jarno ] + * Default to mips64 ISA on mips64el, with tuning for mips64r2. + + -- Matthias Klose Fri, 19 Sep 2014 20:17:27 +0200 + +gcc-4.9 (4.9.1-14) unstable; urgency=medium + + * Update to SVN 20140912 (r215228) from the gcc-4_9-branch. + * Update the Linaro support to the 4.9-2014.09 release. + * Fix installation of the libstdc++ documentation. Closes: #760872. + + -- Matthias Klose Fri, 12 Sep 2014 19:15:23 +0200 + +gcc-4.9 (4.9.1-13) unstable; urgency=medium + + * Update to SVN 20140908 (r215008) from the gcc-4_9-branch. + * Enable cgo on AArch64 (Michael Hudson). LP: #1361940. + * Update the Linaro support from the Linaro/4.9 branch. + * Fix PR target/63190 (AArch64), taken from the trunk. Closes: #758964. + + -- Matthias Klose Mon, 08 Sep 2014 09:56:50 +0200 + +gcc-4.9 (4.9.1-12) unstable; urgency=medium + + [ Samuel Thibault ] + * boehm-gc: use anonymous mmap instead of brk also on hurd-*. + Closes: #753791. + + -- Matthias Klose Sun, 31 Aug 2014 18:40:46 +0200 + +gcc-4.9 (4.9.1-11) unstable; urgency=medium + + * Update to SVN 20140830 (r214759) from the gcc-4_9-branch. + * Update cross installation patches for the branch. + * Use the base version (4.9) when accessing files in gcc_lib_dir. + + -- Matthias Klose Sat, 30 Aug 2014 22:05:47 +0200 + +gcc-4.9 (4.9.1-10) unstable; urgency=medium + + * Update to SVN 20140830 (r214751) from the gcc-4_9-branch. + * Fix jni symlinks in /usr/lib/jvm. Closes: #759558. + * Update the Linaro support from the Linaro/4.9 branch. + - Fixes Aarch64 cross build on i386. + + -- Matthias Klose Sat, 30 Aug 2014 04:47:19 +0200 + +gcc-4.9 (4.9.1-9) unstable; urgency=medium + + * Update to SVN 20140824 (r214405) from the gcc-4_9-branch. + * Fix -dumpversion output to print the full version number. + Addresses: #759038. LP: #1360404. + Use the GCC base version for the D include dir name. + + -- Matthias Klose Sun, 24 Aug 2014 10:09:28 +0200 + +gcc-4.9 (4.9.1-8) unstable; urgency=medium + + * Update to SVN 20140820 (r214215) from the gcc-4_9-branch. + * Fix PR middle-end/61294, -Wmemset-transposed-args, taken from the trunk. + LP: #1352836. + * Update the Linaro support to 4.9-2014.08. + * Fix PR tree-optimization/59586, graphite segfault, taken from the trunk. + LP: #1227789. + * Fix multilib castrated cross builds on mips64el (YunQiang Su, Helmut + Grohne). Closes: #758408. + * Apply Proposed patch for PR target/62040 (AArch64). LP: #1351227. + Closes: #757738. + + -- Matthias Klose Wed, 20 Aug 2014 11:36:40 +0200 + +gcc-4.9 (4.9.1-7) unstable; urgency=medium + + * Build-depend on dpkg-dev (>= 1.17.11). + + -- Matthias Klose Thu, 14 Aug 2014 22:12:29 +0200 + +gcc-4.9 (4.9.1-6) unstable; urgency=medium + + * Update to SVN 20140813 (r213955) from the gcc-4_9-branch. + * Really fix the GFDL build on AArch64. Closes: #757153. + * Disable Ada for snapshot builds on kfreebsd-i386, kfreebsd-amd64. + Local patch needs an update and upstreaming. + * Apply the local ada-mips patch for snapshot builds too. + * Disable Ada for snapshot builds on mips, mipsel. Bootstrap comparision + failure. Local patch needs upstreaming. + * Disable Ada for snapshot builds on hurd-i386, build dependencies are + not installable. + * Don't build the sanitizer libs for sparc snapshot builds. + * Proposed backport for PR libstdc++/61841. Closes: #749290. + + -- Matthias Klose Thu, 14 Aug 2014 17:53:43 +0200 + +gcc-4.9 (4.9.1-5) unstable; urgency=medium + + * Update to SVN 20140808 (r213759) from the gcc-4_9-branch. + - Fix PR tree-optimization/61964. LP: #1347147. + * Fix libphobos cross build. + + -- Matthias Klose Fri, 08 Aug 2014 17:28:55 +0200 + +gcc-4.9 (4.9.1-4) unstable; urgency=high + + * Update to SVN 20140731 (r213317) from the gcc-4_9-branch. + - CVE-2014-5044, fix integer overflows in array allocation in libgfortran. + Closes: #756325. + * Build libphobos on armel and armhf. Closes: #755390. + * Fix java.security symlink. Closes: #756484. + + -- Matthias Klose Thu, 31 Jul 2014 10:15:27 +0200 + +gcc-4.9 (4.9.1-3) unstable; urgency=medium + + * Update to SVN 20140727 (r213100) from the gcc-4_9-branch. + * Fix the GFDL build on AArch64. + * Fix PR libobjc/61920, libobjc link failure on powerpc*. Closes: #756096. + + -- Matthias Klose Sun, 27 Jul 2014 15:25:24 +0200 + +gcc-4.9 (4.9.1-2) unstable; urgency=medium + + * Update to SVN 20140724 (r213031) from the gcc-4_9-branch. + + * Fix installing test logs and summaries. + * Warn about ppc ELFv2 ABI issues, which will change in GCC 4.10. + * Don't gzip the xz compressed testsuite logs and summaries. + * Build libphobos on armel and armhf. Closes: #755390. + * Update the Linaro support to the 4.9-2014.07 release. + + -- Matthias Klose Thu, 24 Jul 2014 23:59:49 +0200 + +gcc-4.9 (4.9.1-1) unstable; urgency=medium + + * GCC 4.9.1 release. + * Update GDC form the 4.9 branch (20140712). + + -- Matthias Klose Wed, 16 Jul 2014 17:15:14 +0200 + +gcc-4.9 (4.9.0-11) unstable; urgency=medium + + * GCC 4.9.1 release candidate 1. + * Update to SVN 20140712 (r212479) from the gcc-4_9-branch. + - Fix PR middle-end/61725. Closes: #754548. + + * Add libstdc++ symbols files for mips64 and mips64el (Yunqiang Su). + Closes: #745372. + * Set java_cpu to ppc64 on ppc64el. + * Build AArch64 from the Linaro 4.9-2014.06 release. + * Re-enable running the testsuite on KFreeBSD and the Hurd. + * Re-enable running the libstdc++ testsuite on arm*, mips* and hppa. + + -- Matthias Klose Sat, 12 Jul 2014 13:10:46 +0200 + +gcc-4.9 (4.9.0-10) unstable; urgency=medium + + * Update to SVN 20140704 (r212295) from the gcc-4_9-branch. + + * Explicitly set cpu_32 to ultrasparc for sparc64 builds. + * Fix --with-long-double-128 for sparc32 when defaulting to 64-bit. + * Ignore missing libstdc++ symbols on armel and hppa. The future and + exception_ptr implementation is incomplete. For more information see + https://gcc.gnu.org/ml/gcc/2014-07/msg00000.html. + + -- Matthias Klose Fri, 04 Jul 2014 15:55:09 +0200 + +gcc-4.9 (4.9.0-9) unstable; urgency=medium + + * Update to SVN 20140701 (r212192) from the gcc-4_9-branch. + * Update libstdc++ symbols files for ARM. + * Configure --with-cpu-32=ultrasparc on sparc64. + + -- Matthias Klose Tue, 01 Jul 2014 10:47:11 +0200 + +gcc-4.9 (4.9.0-8) unstable; urgency=medium + + * Update to SVN 20140624 (r211959) from the gcc-4_9-branch. + + * Don't ignore dpkg-shlibdeps errors for libstdc++6, left over from initial + 4.9 uploads. + * Update libgcc1 symbols for sh4. Closes: #751919. + * Stop building the libvtv packages. Not usable unless the build is + configured with --enable-vtable-verify, which comes with a performance + penalty just for the stubs in libstdc++. + * Update libstdc++ and libvtv symbols files for builds configured with + --enable-vtable-verify. + * Remove version requirement for dependency on make. Closes: #751891. + * Fix removal of python byte-code files in libstdc++6. Closes: #751435. + * Fix a segfault in the driver from calling free on non-malloc'd area. + * Drop versioned build dependency on gdb, and apply the pretty printer + patch for libstdc++ based on the release. + * Add support to build with isl-0.13. + + -- Matthias Klose Wed, 25 Jun 2014 20:08:09 +0200 + +gcc-4.9 (4.9.0-7) unstable; urgency=medium + + * Update to SVN 20140616 (r211699) from the gcc-4_9-branch. + + [ Matthias Klose ] + * Fix patch application for powerpcspe (Helmit Grohne). Closes: #751001. + + Update context for powerpc_remove_many. + + Drop gcc-powerpcspe-ldbl-fix applied upstream. + + [ Aurelien Jarno ] + * Fix PR c++/61336, taken from the trunk. + + -- Matthias Klose Mon, 16 Jun 2014 10:59:16 +0200 + +gcc-4.9 (4.9.0-6) unstable; urgency=medium + + * Update to SVN 20140608 (r211353) from the gcc-4_9-branch. + * Fix -Wno-format when -Wformat-security is the default (Steve Beattie). + LP: #1317305. + * Don't install the libstdc++ pretty printer file into the debug directory, + but into the gdb auto-load directory. + * Fix the removal of the libstdc++6 package, removing byte-compiled pretty + printer files and pycache directories. + * Fix PR c++/61046, taken from the trunk. LP: #1313102. + * Fix installation of gcc-{ar,nm,ranlib} man pages for snapshot builds. + Closes: #745906. + * Update patches for snapshot builds. + + -- Matthias Klose Sun, 08 Jun 2014 11:57:07 +0200 + +gcc-4.9 (4.9.0-5) unstable; urgency=medium + + * Update to SVN 20140527 (r210956) from the gcc-4_9-branch. + * Limit systemtap-sdt-dev build dependency to enumerated linux architectures. + * Build libitm on AArch64, patch taken from the trunk. + * Update the testsuite to allow more testcases to pass with hardening options + turned on (Steve Beattie). LP: #1317307. + * Revert the fix for PR rtl-optimization/60969, causing bootstrap failure + on ppc64el. + * Fix PR other/61257, check for working sys/sdt.h. + * Drop the libstdc++-arm-wno-abi patch, not needed anymore in 4.9. + + -- Matthias Klose Tue, 27 May 2014 08:58:07 +0200 + +gcc-4.9 (4.9.0-4) unstable; urgency=medium + + * Update to SVN 20140518 (r210592) from the gcc-4_9-branch. + * Update the local ada-libgnatprj patch for AArch64. Addresses: #748233. + * Update the libstdc++v-python3 patch. Closes: #748317, #738341, 747903. + * Build-depend on systemtap-sdt-dev, on every architecure, doesn't seem to hurt + on architectures where it is not supported. Closes: #748315. + * Update the gcc-default-format-security patch (Steve Beattie). LP: #1317305. + * Apply the proposed patch for PR c/57653. Closes: #734345. + + -- Matthias Klose Sun, 18 May 2014 23:29:43 +0200 + +gcc-4.9 (4.9.0-3) unstable; urgency=medium + + * Update to SVN 20140512 (r210323) from the gcc-4_9-branch. + + [ Matthias Klose ] + * Update build dependencies for ada enabled snapshot builds. + * Fix PR tree-optimization/60902, taken from the trunk. Closes: #746944. + * Ensure that the common libs (built from the next GCC version) are + available when building without common libs. + * Fix java.security symlink in libgcj15. Addresses: #746786. + * Move the libstdc++ gdb pretty printers into libstdc++6, install the + -gdb.py files into /usr/share/gdb/auto-load. + * Set the 'Multi-Arch: same' attribute for packages, cross built with + with_deps_on_target_arch_pkgs=yes (Helmit Grohne). Closes: #716795. + * Build the gcc-X.Y-base package with with_deps_on_target_arch_pkgs=yes + (Helmit Grohne). Addresses: #744782. + * Apply the proposed patches for PR driver/61106, PR driver/61126. + Closes: #747345. + + [ Aurelien Jarno ] + * Fix libasan1 symbols file for sparc and sparc64. + + -- Matthias Klose Tue, 13 May 2014 02:15:27 +0200 + +gcc-4.9 (4.9.0-2) unstable; urgency=medium + + * Update to SVN 20140503 (r210033) from the gcc-4_9-branch. + - Fix PR go/60931, garbage collector issue with non 4kB system page size. + LP: #1304754. + + [Matthias Klose] + * Fix libgcc-dev dependency on gcc, when not building libgcc. + * Fix gnat for snapshot builds on ppc64el. + * Update the libsanitizer build fix for sparc. + * Install only versioned gcc-ar gcc-nm gcc-ranlib binaries for the hppa64 + cross compiler. Install hppa64 alternatives. Addresses: #745967. + * Fix the as and ld symlinks for the hppa64 cross compiler. + * Add the gnat backport for AArch64. + * Update gnat patches not to use tabs and too long lines. + * libgnatvsn: Use CC and CXX passed from the toplevel makefile, drop gnat + build dependency on g++. Addresses: #746688. + + Merge from gnat-4.9 (4.9.0-1) unstable; urgency=low: + + [Ludovic Brenta] + * debian/patches/ada-hurd.diff: refresh for new upstream version that + restores POSIX compliance in System.OS_Interface.timespec. + * debian/patches/ada-kfreebsd.diff: make System.OS_Interface.To_Timespec + consistent with s-osinte-posix.adb. + [Nicolas Boulenguez] + * rules.conf (Build-Depends): mention gnat before gnat-x.y so that + buildds can bootstrap 4.9 in unstable. Fixes: #744724. + + -- Matthias Klose Sat, 03 May 2014 14:00:41 +0200 + +gcc-4.9 (4.9.0-1) unstable; urgency=medium + + * GCC 4.9.0 release. + * Update to SVN 20140423 (r209695) from the gcc-4_9-branch. + + [Matthias Klose] + * Fix PR target/59758 (sparc), libsanitizer build failure (proposed patch). + * Update gold architectures. + * Update NEWS files. + * Remove more mudflap left overs. Closes: #742606. + * Add new libraries src/libvtv and src/libcilkrts to + cross-ma-install-location.diff (Helmur Grohne). Closes: #745267. + * Let lib*gcc-dev depend on the corresponding libtsan packages. + * Build the liblsan packages (amd64 only). + * Install the libcilkrts spec file. + * Build the D frontend and libphobos from the gdc trunk. + + Merge from gnat-4.9 (4.9-20140411-1) unstable; urgency=medium + + [Nicolas Boulenguez] + * Revert g4.9-base to Architecture: all. Fixes: #743833. + * g4.9 Breaks/Replaces -base 4.6.4-2 and 4.9-20140330-1. Fixes: #743376. + + [Ludovic Brenta] + * debian/patches/ada-symbolic-tracebacks.diff: refresh. + + Merge from gnat-4.9 (4.9-20140406-1) experimental; urgency=low + + * debian/patches/ada-arm.diff: new. Improve support for ZCX on this + architecture. + * debian/patches/rules.patch: apply architecture- and Ada-specific + patches before Debian-specific patches. + * debian/patches/ada-link-lib.diff, + debian/patches/ada-libgnatvsn.diff, + debian/patches/ada-libgnatprj.diff: refresh for the new upstream + sources. + + Merge from gnat-4.9 (4.9-20140330-3) experimental; urgency=low + + [Nicolas Boulenguez] + * Install debian_packaging.mk to gnat-x.y, not -base. Fixes: #743375. + * rules.conf (Build-Depends): gnatgcc symlink provided by gnat-4.9 | + gnat-4.6 (>= 4.6.4-2) | gnat (>= 4.1 and << 4.6.1). + + Merge from gnat-4.9 (4.9-20140330-2) experimental; urgency=medium + + * Uploading to unstable was a mistake. Upload to experimental. + + Merge from gnat-4.9 (4.9-20140330-1) unstable; urgency=medium + + [Nicolas Boulenguez] + * patches/ada-ppc64.diff: replace undefined variable arch with + target_cpu; this overrides the patch proposed by Ulrich Weigand as + it is more correct; approved by Ludovic Brenta. Fixes: #742590. + * control.m4: Break/Replace: dh-ada-library 5.9. Fixes: #743219. + + Merge from gnat-4.9 (4.9-20140322-1) experimental; urgency=low + + [Nicolas Boulenguez] + * debian/control.m4: + (Suggests): suggest the correct version of ada-reference-manual. + (Vcs-Svn): specify the publicly accessible repository. + * Receive debian_packaging.mk from dh-ada-library (not library specific). + * Receive gnatgcc symlink from gnat (useful outside default compiler). + * debian/source/local-options: new. + + [Ludovic Brenta] + * debian/control.m4: conflict with gnat-4.7, gnat-4.8. + * debian/patches/ada-default-project-path.diff: when passed options such + as -m32 or -march, do not look for the RTS in + /usr/share/ada/adainclude but in + /usr/lib/gcc/$target_triplet/$version/{,rts-}$arch. Still look + for project files in /usr/share/ada/adainclude. + * debian/rules.d/binary-ada.mk, debian/rules.defs, debian/rules.patch: + Switch to ZCX by default on arm, armel, armhf; built SJLJ as the + package gnat-4.9-sjlj like on all other architectures. This is made + possible by the new upstream version. + * debian/patches/ada-hurd.diff (s-osinte-gnu.ads): change the type of + timespec.tv_nsec from long to time_t, for compatibility with + s-osinte-posix.adb, even though this violates POSIX. Better solution + to come from upstream. Fixes: #740286. + + -- Matthias Klose Wed, 23 Apr 2014 13:35:43 +0200 + +gcc-4.9 (4.9-20140411-2) unstable; urgency=medium + + * Disable running the testsuite on kfreebsd, hangs the buildds. + * Stop building the sanitizer libs on sparc, fails to build. No reaction + from the Debian port maintainers and upstream. See PR sanitize/59758. + + -- Matthias Klose Sat, 12 Apr 2014 15:42:34 +0200 + +gcc-4.9 (4.9-20140411-1) unstable; urgency=medium + + * GCC 4.9.0 release candidate 1. + * Configure for i586-linux-gnu on i386. + + -- Matthias Klose Fri, 11 Apr 2014 19:57:07 +0200 + +gcc-4.9 (4.9-20140406-1) experimental; urgency=medium + + [Matthias Klose] + * Include include and include-fixed header files into the stage1 + gcc-4.9 package. + * Explicitly configure with --disable-multilib on sparc64 when no + multilibs are requested (Helmut Grohne). Addresses: #743342. + * Drop mudflap from cross-install-location.diff since mudflap was removed + from gcc 4.9. Closes: #742606 + * Build gnat in ppc64el snapshot builds. + * Apply the ada-ppc64 patch for snapshot builds as well. + * Fix PR target/60609 (ARM), proposed patch (Charles Baylis). LP: #1295653. + * Include the gnu triplet prefixed gcov and gcc-{ar,nm,ranlib} binaries. + * Add replaces when upgrading from a standalone gccgo build. + + [Yunqiang Su] + * Lower default optimization for mips64/n32 to mips3/mips64(32). + Closes: #742617. + + -- Matthias Klose Sun, 06 Apr 2014 02:24:16 +0200 + +gcc-4.9 (4.9-20140330-1) experimental; urgency=medium + + * Package GCC 4.9 snapshot 20140330. + + [Matthias Klose] + * Update symbols files. + * debian/patches/ada-ppc64.diff: Fix for ppc64el (Ulrich Weigand). + * Fix cross building targeting x32 (Helmut Grohne). Addresses: #742539. + + [Ludovic Brenta] + * debian/control.m4 (Build-Depends), debian/rules.conf: remove + AUTOGEN_BUILD_DEP and hardcode autogen. It is called by + fixincludes/genfixes during bootstrap and also when building gnat-*, + not just when running checks on gcc-*. + + -- Matthias Klose Sun, 30 Mar 2014 09:46:29 +0100 + +gcc-4.9 (4.9-20140322-1) experimental; urgency=medium + + * Package GCC 4.9 snapshot 20140322. + - Fixes build error on the Hurd. Closes: #740153. + + [Matthias Klose] + * Re-apply lost patch for config.gcc for mips64el. Closes: #741543. + + Merge from gnat-4.9 (4.9-20140218-3) UNRELEASED; urgency=low + + [Nicolas Boulenguez] + * debian/control.m4: suggest the correct version of + ada-reference-manual. + + [Ludovic Brenta] + * debian/control.m4: conflict with gnat-4.7, gnat-4.8. + + Merge from gnat-4.9 (4.9-20140218-2) experimental; urgency=low + + * debian/patches/ada-hurd.diff (Makefile.in): match *86-pc-gnu but + not *86-linux-gnu, the target tripled used by GNU/Linux. + + Merge from gnat-4.9 (4.9-20140218-1) experimental; urgency=low + + [Ludovic Brenta] + * debian/patches/ada-symbolic-tracebacks.diff: refresh and fix compiler + warnings. + * debian/patches/ada-link-lib.diff (.../ada/gcc-interface/Make-lang.in): + do not try to install the gnattools, this is the job of + gnattools/Makefile.in. + * debian/patches/ada-ajlj.diff: specify EH_MECHANISM to sub-makes even + when making install-gnatlib. + + [Xavier Grave] + * debian/patches/ada-kfreebsd.diff: refresh. + * debian/rules.patch: re-enable the above. + + -- Matthias Klose Sat, 22 Mar 2014 14:19:43 +0100 + +gcc-4.9 (4.9-20140303-1) experimental; urgency=medium + + * Package GCC 4.9 snapshot 20140303. + + -- Matthias Klose Tue, 04 Mar 2014 02:13:20 +0100 + +gcc-4.9 (4.9-20140218-1) experimental; urgency=medium + + * Fix gij wrapper script on hppa. Closes: #739224. + + -- Matthias Klose Tue, 18 Feb 2014 23:59:31 +0100 + +gcc-4.9 (4.9-20140205-1) experimental; urgency=medium + + * Package GCC 4.9 snapshot 20140205. + * Install the libsanitizer spec file. + * Fix building standalone gccgo, including the libgcc packages. + * On AArch64, use "generic" target, if no other default. + + -- Matthias Klose Wed, 05 Feb 2014 12:53:52 +0100 + +gcc-4.9 (4.9-20140122-1) experimental; urgency=medium + + * Package GCC 4.9 snapshot 20140122. + * Update libstdc++ -dbg and -doc conflicts. + * Link libstdc++ tests requiring libpthread symbols with --no-as-needed. + * armhf: Fix ffi_call_VFP with no VFP arguments (Will Newton). + * Apply proposed patch for PR target/59799, allow passing arrays in + registers on AArch64 (Michael Hudson). + + -- Matthias Klose Wed, 22 Jan 2014 21:28:56 +0100 + +gcc-4.9 (4.9-20140116-1) experimental; urgency=medium + + * Package GCC 4.9 snapshot 20140116. + * Fix PR target/59588 (AArch64), backport proposed patch. LP: #1263576. + * Fix call frame information in ffi_closure_SYSV on AArch64. + + -- Matthias Klose Fri, 17 Jan 2014 00:31:19 +0100 + +gcc-4.9 (4.9-20140111-1) experimental; urgency=medium + + * Package GCC 4.9 snapshot 20140111. + * Update libstdc++ -dbg and -doc conflicts. Closes: #734913. + * Disable libcilkrts on KFreeBSD and the Hurd. See #734973. + + -- Matthias Klose Sat, 11 Jan 2014 13:11:16 +0100 + +gcc-4.9 (4.9-20140110-1) experimental; urgency=medium + + * Package GCC 4.9 snapshot 20140110. + + -- Matthias Klose Fri, 10 Jan 2014 18:03:07 +0100 + +gcc-4.9 (4.9-20140109-1) experimental; urgency=medium + + * Package GCC 4.9 snapshot. + + -- Matthias Klose Thu, 09 Jan 2014 18:57:46 +0100 + +gcc-4.8 (4.8.2-11) unstable; urgency=low + + * Update to SVN 20131230 (r206241) from the gcc-4_8-branch. + * Don't build x32 multilibs for wheezy backports. + * Set the goarch to arm64 for aarch64-linux-gnu. + * Fix statically linked gccgo binaries on AArch64 (Michael Hudson). + LP: #1261604. + * Merge accumulated Ada changes from gnat-4.8. + * Update gnat build dependencies when not built from a separate source. + * Default to -mieee on alpha again (Michael Cree). Closes: #733291. + * Prepare gnat package for cross builds. + + -- Matthias Klose Mon, 30 Dec 2013 08:52:29 +0100 + +gcc-4.8 (4.8.2-10) unstable; urgency=low + + * Update to SVN 20131213 (r205948) from the gcc-4_8-branch. + * Add missing commit in libjava for gcc-linaro. + + -- Matthias Klose Fri, 13 Dec 2013 01:01:47 +0100 + +gcc-4.8 (4.8.2-9) unstable; urgency=low + + * Update to SVN 20131212 (r205924) from the gcc-4_8-branch. + + [ Matthias Klose ] + * Fix libitm symbols files for ppc64. + * Update libatomic symbol file for arm64 and ppc64. + * libgcj-dev: Drop dependencies on gcj-jre-lib and gcj-jdk. + * Fix permissions of some override files. + * Let cross compilers conflict with gcc-multilib (providing + /usr/include/asm for the non-default multilib). + * Configure --with-long-double-128 on powerpcspe (Roland Stigge). + Closes: #731941. + * Update the Linaro support to the 4.8-2013.12 release. + * Update the ibm branch to 20131212. + + [ Aurelien Jarno ] + * patches/note-gnu-stack.diff: restore and rebase lost parts. + + -- Matthias Klose Thu, 12 Dec 2013 12:34:55 +0100 + +gcc-4.8 (4.8.2-8) unstable; urgency=medium + + * Update to SVN 20131203 (r205647) from the gcc-4_8-branch. + * Fix PR libgcc/57363, taken from the trunk. + + -- Matthias Klose Wed, 04 Dec 2013 01:21:10 +0100 + +gcc-4.8 (4.8.2-7) unstable; urgency=low + + * Update to SVN 20131129 (r205535) from the gcc-4_8-branch. + * Introduce aarch64 goarch. + * libgo: Backport fix for calling a function or method that takes or returns + an empty struct via reflection. + * go frontend: Backport fix for the generated hash functions of types that + are aliases for structures containing unexported fields. + * Skip Go testcase on AArch64 which hangs on the buildds. + * Fix freetype includes in libjava/classpath. + + -- Matthias Klose Fri, 29 Nov 2013 18:19:12 +0100 + +gcc-4.8 (4.8.2-6) unstable; urgency=low + + * Update to SVN 20131128 (r205478) from the gcc-4_8-branch. + + [ Matthias Klose ] + * gcc-4.8-base: Breaks gcc-4.4-base (<< 4.4.7). Closes: #729963. + * Update the gcc-as-needed patch for mips*. Closes: #722067. + * Use dpkg-vendor information for distribution specific settings. + Closes: #697805. + * Check for the sys/auxv.h header file. + * On AArch64, make the frame grow downwards, taken from the trunk. + Enable ssp on AArch64. + * Pass -fuse-ld=gold to gccgo on targets supporting split-stack. + + [ Aurelien Jarno ] + * Update README.Debian for s390 and s390x. + + [ Thorsten Glaser ] + * m68k-ada.diff: Add gcc-4.8.0-m68k-ada-pr48835-2.patch and + gcc-4.8.0-m68k-ada-pr51483.patch by Mikael Pettersson, to + fix more CC0-specific and m68k/Ada-specific problems. + * m68k-picflag.diff: New, backport from trunk, by Andreas Schwab, + to avoid relocation errors when linking big shared objects. + * pr58369.diff: New, backport from trunk, by Jeffrey A. Law, + to fix ICE while building boost 1.54 on m68k. + * pr52306.diff: Disables -fauto-inc-dec by default on m68k to + work around ICE when building C++ code (e.g. Qt-related). + + -- Matthias Klose Thu, 28 Nov 2013 10:29:09 +0100 + +gcc-4.8 (4.8.2-5) unstable; urgency=low + + * Update to SVN 20131115 (r204839) from the gcc-4_8-branch. + * Update the Linaro support to the 4.8-2013.11 release. + * Add missing replaces in libgcj14. Closes: #729022. + + -- Matthias Klose Sat, 16 Nov 2013 20:15:09 +0100 + +gcc-4.8 (4.8.2-4) unstable; urgency=low + + * Really fix disabling the gdc tests. + + -- Matthias Klose Wed, 13 Nov 2013 00:44:35 +0100 + +gcc-4.8 (4.8.2-3) unstable; urgency=low + + * Update to SVN 20131112 (r204704) from the gcc-4_8-branch. + * Don't ship java.security in both libgcj14 and gcj-4.8-headless. + Closes: #729022. + * Disable gdc tests on architectures without libphobos port. + + -- Matthias Klose Tue, 12 Nov 2013 18:08:44 +0100 + +gcc-4.8 (4.8.2-2) unstable; urgency=low + + * Update to SVN 20131107 (r204496) from the gcc-4_8-branch. + * Build ObjC, Obj-C++ and Go for AArch64. + * Fix some gcj symlinks. Closes: #726792, #728403. + * Stop building libmudflap (removed in GCC 4.9). + + -- Matthias Klose Thu, 07 Nov 2013 01:40:15 +0100 + +gcc-4.8 (4.8.2-1) unstable; urgency=low + + * GCC 4.8.2 release. + + * Update to SVN 20131017 (r203751) from the gcc-4_8-branch. + * Update the Linaro support to the 4.8-2013.10 release. + * Fix PR c++/57850, option -fdump-translation-unit not working. + * Don't run the testsuite on aarch64. + * Fix PR target/58578, wrong-code regression on ARM. LP: #1232017. + * [ARM] Fix bug in add patterns due to commutativity modifier, + backport from trunk. LP: #1234060. + * Build libatomic on AArch64. + * Fix dependency generation for the cross gcc-4.8 package. + * Make the libstdc++ pretty printers compatible with Python3, if + gdb is built with Python3 support. + * Fix loading of libstdc++ pretty printers. Closes: #701935. + * Don't let gcc-snapshot build-depend on gnat on AArch64. + + -- Matthias Klose Thu, 17 Oct 2013 14:37:55 +0200 + +gcc-4.8 (4.8.1-10) unstable; urgency=low + + * Update to SVN 20130904 (r202243) from the gcc-4_8-branch. + + [ Matthias Klose ] + * Don't rely on the most recent Debian release name for configuration + of the package. Addresses: #720263. Closes: #711824. + * Fix a cross build issue without DEB_* env vars set (Eleanor Chen). + Closes: #718614. + * Add packaging support for mips64(el) and mipsn32(el) including multilib + configurations (YunQiang Su). Addresses: #708143. + * Fix gcc dependencies for stage1 builds (YunQiang Su). Closes: #710240. + * Fix boehm-gc test failures with a linker defaulting to + --no-copy-dt-needed-entries. + * Fix libstdc++ and libjava test failures with a linker defaulting + to --as-needed. + * Mark the libjava/sourcelocation test as expected to fail on amd64 cpus. + * Fix some gcc and g++ test failures for a compiler with hardening + defaults enabled. + * Fix gcc-default-format-security.diff for GCC 4.8. + * Run the testsuite again on armel and armhf. + * Disable running the testsuite on mips. Fails on the buildds, preventing + migration to testing for three months. No feedback from the mips porters. + + [ Thorsten Glaser ] + * Merge several old m68k-specific patches from gcc-4.6 package: + - libffi-m68k: Rebased against gcc-4.8 and libffi 3.0.13-4. + - m68k-revert-pr45144: Needed for Ada. + - pr52714: Revert optimisation that breaks CC0 arch. + * Fix PR49847 (Mikael Pettersson). Closes: #711558. + * Use -fno-auto-inc-dec for PR52306 (Mikael Pettersson). + + -- Matthias Klose Wed, 04 Sep 2013 21:30:07 +0200 + +gcc-4.8 (4.8.1-9) unstable; urgency=low + + * Update to SVN 20130815 (r201764) from the gcc-4_8-branch. + * Enable gomp on AArch64. + * Update the Linaro support to the 4.8-2013.08 release. + + -- Matthias Klose Thu, 15 Aug 2013 10:47:38 +0200 + +gcc-4.8 (4.8.1-8) unstable; urgency=low + + * Fix PR rtl-optimization/57878, taken from the 4.8 branch. + * Fix PR target/57909 (ARM), Linaro only. + + -- Matthias Klose Mon, 22 Jul 2013 13:03:57 +0200 + +gcc-4.8 (4.8.1-7) unstable; urgency=low + + * Update to SVN 20130717 (r200995) from the gcc-4_8-branch. + - Go 1.1.1 updates. + * Define CPP_SPEC for aarch64. + * Don't include in libgcc/libgcc2.c, taken from the trunk. + Closes: #696267. + * boehm-gc: use mmap instead of brk also on kfreebsd-* (Petr Salinger). + Closes: #717024. + + -- Matthias Klose Thu, 18 Jul 2013 02:02:13 +0200 + +gcc-4.8 (4.8.1-6) unstable; urgency=low + + * Update to SVN 20130709 (r200810) from the gcc-4_8-branch. + + [ Aurelien Jarno ] + * Add 32-bit biarch packages on sparc64. + + [ Matthias Klose ] + * Fix multiarch include path for aarch64. + * Update the Linaro support to the 4.8-2013.07 release. + * Revert the proposed fix for PR target/57637 (ARM only). + * Let gfortran-4.8 provide gfortran-mod-10. Addresses #714730. + + [ Iain Buclaw ] + * Avoid compiler warnings redefining D builtin macros. + + -- Matthias Klose Tue, 09 Jul 2013 16:18:16 +0200 + +gcc-4.8 (4.8.1-5) unstable; urgency=low + + * Update to SVN 20130629 (r200565) from the gcc-4_8-branch. + + [ Aurelien Jarno ] + * Don't pass --with-mips-plt on mips/mipsel. + + [ Matthias Klose ] + * Fix documentation builds with texinfo-5.1. + * Update the ARM libsanitizer backport from the 4.8 Linaro branch. + * libphobos-4.8-dev provides libphobos-dev (Peter de Wachter). + * The gdc cross compiler doesn't depend on libphobos-4.8-dev. + * Work around libgo build failure on ia64. PR 57689. #714090. + * Apply proposed fix for PR target/57637 (ARM only). + + -- Matthias Klose Sat, 29 Jun 2013 14:59:45 +0200 + +gcc-4.8 (4.8.1-4) unstable; urgency=low + + * Update to SVN 20130619 (r200219) from the gcc-4_8-branch. + - Bump the libgo soname (change in type layout for functions that take + function arguments). + - Fix finding the liblto_plugin.so without x permissions set (see + PR driver/57651). Closes: #712704. + * Update maintainer list. + * Fall back to the binutils version of the binutils build dependency + if the binutils version used for the build cannot be determined. + * For ARM multilib builds, use libsf/libhf system directories to lookup + files for the non-default multilib (for now, only for the cross compilers). + * Split out a gcj-4.8 package, allow to build a gcj cross compiler. + * Allow one to cross build gcj. + * Don't include object.di in the D cross compiler, but depend on gdc instead. + * Allow one to cross build gdc. + * Pass --hash-style=gnu instead of --hash-style=both to the linker. + + -- Matthias Klose Wed, 19 Jun 2013 23:48:02 +0200 + +gcc-4.8 (4.8.1-3) unstable; urgency=low + + * Update to SVN 20130612 (r200018) from the gcc-4_8-branch. + + [ Matthias Klose ] + * Prepare gdc for cross builds, and multiarch installation. + * Prepare gnat to build out of the gcc-4.8 source package, not + building the gnat-4.8-base package anymore. + * Don't build a gcj cross compiler by default (not yet tested). + * Disable D on s390 (doesn't terminate the D testsuite). + * Build libphobos on x32. + * Fix build with DEB_BUILD_OPTIONS="nolang=d". + * Disable D for arm64. + * Update the Linaro support to the 4.8-2013.06 release. + * Fix cross building a native compiler. + * Work around dh_shlibdeps not working on target libraries (see #698881). + * Add build dependency on kfreebsd-kernel-headers (>= 0.84) [kfreebsd-any]. + * Add handling for unwind inside signal trampoline for kfreebsd (Petr + Salinger). Closes: #712016. + * Let gcc depend on the binutils upstream version it was built with. + Addresses #710142. + * Force a build using binutils 2.23.52 in unstable. + + [ Iain Buclaw ] + * Update gdc to 20130610. + * Build libphobos on kFreeBSD. + + -- Matthias Klose Wed, 12 Jun 2013 16:47:25 +0200 + +gcc-4.8 (4.8.1-2) unstable; urgency=low + + * Update to SVN 20130604 (r199596) from the gcc-4_8-branch. + * Force arm mode for libjava on armhf. + * Fix gdc build failure on kFreeBSD and the Hurd. + + -- Matthias Klose Tue, 04 Jun 2013 17:28:06 +0200 + +gcc-4.8 (4.8.1-1) unstable; urgency=low + + * GCC 4.8.1 release. + Support for C++11 ref-qualifiers has been added to GCC 4.8.1, making G++ + the first C++ compiler to implement all the major language features of + the C++11 standard. + * Update to SVN 20130603 (r199596) from the gcc-4_8-branch. + * Build java packages from this source package. Works aroud ftp-master's + overly strict interpretation of the Built-Using attribute. + * Build D and libphobos packages from this source package. + * Disable the non-default multilib test runs for libjava and gnat. + + -- Matthias Klose Mon, 03 Jun 2013 09:28:11 +0200 + +gcc-4.8 (4.8.0-9) unstable; urgency=low + + * Update to SVN 20130529 (r199410) from the gcc-4_8-branch. + * Drop build dependency on automake, not used anymore. + * Build with binutils from unstable (the 4.8.0-8 package was accidentally + built with binutils from experimental). Closes: #710142. + * Explicity configure with --disable-lib{atomic,quadmath,sanitizer} when + not building these libraries. Closes: #710224. + + -- Matthias Klose Wed, 29 May 2013 16:59:50 +0200 + +gcc-4.8 (4.8.0-8) unstable; urgency=medium + + * Update to SVN 20130527 (r199350) from the gcc-4_8-branch (4.8.1 rc2). + - Fix PR tree-optimization/57230 (closes: #707118). + + * Remove gdc-doc.diff. + * libgo: Overwrite the setcontext_clobbers_tls check on mips*, fails + on some buildds. + * Update the Linaro support to the 4.8-2013.05 release. + * Use the %I spec when building the object file for the gcj main function. + * Fix PR c++/57211, don't warn about unused parameters of defaulted + functions. Taken from the trunk. Closes: #705066. + * Update symbols files for powerpcspe (Roland Stigge). Closes: #709383. + * Build zh_TW.UTF-8 locale to fix libstdc++ test failures. + * Keep prev-* symlinks to fix plugin.exp test failures. + + -- Matthias Klose Mon, 27 May 2013 15:43:08 +0200 + +gcc-4.8 (4.8.0-7) unstable; urgency=medium + + * Update to SVN 20130512 (r198804) from the gcc-4_8-branch. + + [ Matthias Klose ] + * Revert the r195826 patch, backported for the 4.8 branch. + * Tighten build dependency on libmpc-dev to ensure using libmpc3. + * Re-add build dependency on locales. + * Enable multilib build for gdc. + * Add build-deps on libn32gcc1 and lib64gcc1 on mips/mipsel. + * Fix libgcc-dbg dependencies on hppa and m68k. Closes: #707745. + * Install host specific libstdc++ headers into the host include dir. + Closes: #707753. + * Enable Go for sparc64. + * Fix host specific c++ include dir on kfreebsd-amd64. Closes: #707957. + + [ Thorsten Glaser ] + * Regenerate m68k patches. Closes: #707766. + + [ Aurelien Jarno ] + * Fix libgcc1 symbols file for sparc64. + + -- Matthias Klose Sun, 12 May 2013 19:26:50 +0200 + +gcc-4.8 (4.8.0-6) unstable; urgency=low + + * Update to SVN 20130507 (r198699) from the gcc-4_8-branch. + + [ Samuel Thibault ] + * Backport r195826 to fix gdb build on hurd-i386. + + [ Matthias Klose ] + * Drop build dependency on locales for this upload. + + -- Matthias Klose Wed, 08 May 2013 01:17:15 +0200 + +gcc-4.8 (4.8.0-5) unstable; urgency=low + + * Update to SVN 20130506 (r198641) from the gcc-4_8-branch. + + [ Matthias Klose ] + * Stop building the spu cross compilers on powerpc and ppc64. + * Merge back changes from gnat-4.8 4.8.0-1~exp2. + + [Ludovic Brenta] + * debian/patches/ada-libgnatprj.diff: do not include indepsw.o in the + library, it is used only in the gnattools. + + -- Matthias Klose Mon, 06 May 2013 21:49:44 +0200 + +gcc-4.8 (4.8.0-4) experimental; urgency=low + + * Update to SVN 20130421 (r198115) from the gcc-4_8-branch. + * Ignore the return value for dh_shlibdeps for builds on precise/ARM. + * Use target specific names for libstdc++ baseline files. LP: #1168267. + * Update gcc-d-lang.diff for GDC port. + * Don't use extended libstdc++-doc build dependencies for older releases. + * In gnatlink, pass the options and libraries after objects to the + linker to avoid link failures with --as-needed. Addresses: #680292. + * Build gcj for aarch64-linux-gnu. + * Update the Linaro support to the 4.8-2013.04 release. + * Fix gdc build on architectures not providing libphobos. + + -- Matthias Klose Mon, 22 Apr 2013 01:36:19 +0200 + +gcc-4.8 (4.8.0-3) experimental; urgency=low + + * Update to SVN 20130411 (r197813) from the gcc-4_8-branch. + + [ Iain Buclaw ] + * Port GDC to GCC 4.8.0 release. + + -- Matthias Klose Thu, 11 Apr 2013 19:18:24 +0200 + +gcc-4.8 (4.8.0-2) experimental; urgency=low + + * Update to SVN 20130328 (r197185) from the gcc-4_8-branch. + * Update NEWS files. + * Apply proposed patch for PR c++/55951. Closes: #703945. + * Configure with --disable-libatomic for hppa64. Closes: #704020. + + -- Matthias Klose Thu, 28 Mar 2013 06:10:29 +0100 + +gcc-4.8 (4.8.0-1) experimental; urgency=low + + * GCC 4.8.0 release. + * Fix build failure on powerpcspe (Roland Stigge). Closes: #703074. + + -- Matthias Klose Fri, 22 Mar 2013 07:47:12 -0700 + +gcc-4.8 (4.8-20130318-1) experimental; urgency=low + + * GCC snapshot 20130318, taken from the trunk. + - Fix the build failures on ARM. + * Install the libasan_preinit.o files. Closes: #703229. + + -- Matthias Klose Mon, 18 Mar 2013 16:18:25 -0700 + +gcc-4.8 (4.8-20130315-1) experimental; urgency=low + + * GCC snapshot 20130315, taken from the trunk. + + -- Matthias Klose Fri, 15 Mar 2013 18:51:15 -0700 + +gcc-4.8 (4.8-20130308-1) experimental; urgency=low + + * GCC snapshot 20130308, taken from the trunk. + + -- Matthias Klose Fri, 08 Mar 2013 12:08:12 +0800 + +gcc-4.8 (4.8-20130222-1) experimental; urgency=low + + * GCC snapshot 20130222, taken from the trunk. + * Update libasan symbols files. + + -- Matthias Klose Sat, 23 Feb 2013 04:47:15 +0100 + +gcc-4.8 (4.8-20130217-1) experimental; urgency=low + + * GCC snapshot 20130217, taken from the trunk. + + * Update libasan symbols files. + * On alpha, link with --no-relax. Update libgcc1 symbols files (Michael + Cree). Closes: #699220. + + -- Matthias Klose Mon, 18 Feb 2013 03:12:31 +0100 + +gcc-4.8 (4.8-20130209-1) experimental; urgency=low + + * GCC snapshot 20130209, taken from the trunk. + + [ Matthias Klose ] + * Add a Build-Using attribute for each binary package, which can be + built from the gcc-4.7-source package (patch derived from a proposal by + Ansgar Burchardt). + - Use it for cross-compiler packages. + - Not yet used when building gcj, gdc or gnat using the gcc-source package. + These packages don't require an exact version of the gcc-source package, + but just a versions which is specified by the build dependencies. + * Fix dh_shlibdeps calls for the libgo packages. + * libstdc-doc: Depend on libjs-jquery. + * Update libstdc++ symbols files. + * Downgrade the priority of the non-default multilib libasan packages. + + [ Thibaut Girka ] + * Fix dh_shlibdeps and dh_gencontrol cross-build mangling for + libgfortran-dev packages. + + -- Matthias Klose Sat, 09 Feb 2013 17:00:06 +0100 + +gcc-4.8 (4.8-20130127-1) experimental; urgency=low + + * GCC snapshot 20130127, taken from the trunk. + + [ Matthias Klose ] + * Fix MULTILIB_OS_DIRNAME for the default multilib on x32. + + [ Thibaut Girka ] + * Fix installation path for libatomic and libsanitizer when building a + cross-compiler with with_deps_on_target_arch_pkgs. + * Fix regexp used to list patched autotools files. + + -- Matthias Klose Sun, 27 Jan 2013 21:02:34 +0100 + +gcc-4.8 (4.8-20130113-1) experimental; urgency=low + + * GCC snapshot 20130113, taken from the trunk. + * Always configure --with-system-zlib. + * Search library dependencies in the build-sysroot too. + * Don't complain about missing .substvars files when trying to mangle + these files. + * Add ARM multilib packages to the control file for staged cross builds. + * Fix ARM multilib shlibs dependency generation for cross builds. + * Don't call dh_shlibdeps for staged cross builds. These packages + are never shipped, and the information is irrelevant. + * Build the libasan and libtsan packages before libstdc++. + * Bump build dependencies on isl and cloog. + * Don't ship libiberty.a in gcc-4.8-hppa64. Closes: #659556. + + -- Matthias Klose Sun, 13 Jan 2013 16:42:33 +0100 + +gcc-4.8 (4.8-20130105-1) experimental; urgency=low + + * GCC snapshot 20130105, taken from the trunk. + * Keep the debug link for libstdc++6. Closes: #696854. + * Update libgfortran symbols file for the trunk. + * Fix libstdc++ symbols files for sparc 128bit symbols. + * Update libgcc and libstdc++ symbols files for s390. + * Keep the rt.jar symlink in the gcj-jre-headless package. + * Explicitly search multiarch and multilib system directories when + calling dh_shlibdeps. + * Let gjdoc accept -source 1.5|1.6|1.7. Addresses: #678945. + * Fix build configured with --enable-java-maintainer-mode. + * Don't ship .md5 files in the libstdc++-doc package. + + -- Matthias Klose Sat, 05 Jan 2013 13:47:51 +0100 + +gcc-4.8 (4.8-20130102-1) experimental; urgency=low + + * GCC snapshot 20130102, taken from the trunk. + + [ Matthias Klose ] + * Resolve libgo dependencies with the built runtime libraries. + * Fix g++-4.8-multilib dependencies. + + [ Thibaut Girka ] + * Prepare for optional dependencies on the packages built on the + target architecture. + * When using the above, + - use the same settings for gcc_lib_dir, sysroot, header and C++ header + locations as for the native build. + - install libraries into the multiarch directories. + - use cpp-4.x- instead of gcc-4.x-base to collect doc files. + + -- Matthias Klose Wed, 02 Jan 2013 14:51:59 +0100 + +gcc-4.8 (4.8-20121218-1) experimental; urgency=low + + * GCC snapshot 20121217, taken from the trunk. + * Fix dependency generation for asan and atomic multilibs. + * Fix libobjc-dbg dependencies on libgcc-dbg packages. + * Fix MULTIARCH_DIRNAME definition for powerpcspe (Roland Stigge). + Closes: #695661. + * Move .jar symlinks from the -jre-lib into the -jre-headless package. + + -- Matthias Klose Tue, 18 Dec 2012 16:44:42 +0100 + +gcc-4.8 (4.8-20121217-1) experimental; urgency=low + + * GCC snapshot 20121217, taken from the trunk. + * Fix package builds with the common libraries provided by a newer + gcc-X.Y package. + * Drop build-dependency on libelf. + * Drop the g++-multilib build dependency, use the built compiler to + check which multilib variants can be run. Provide an asm symlink for + the build. + * Stop configuring cross compilers --with-headers --with-libs. + * Always call dh_shlibdeps with -l, pointing to the correct dependency + packages. + * Fix cross build stage1 package installation, only including the target + files in the gcc package. + * Explicitly configure with --enable-multiarch when doing builds + supporting the multiarch layout. + * Only configure --with-sysroot, --with-build-sysroot when values are set. + * Revert: For stage1 builds, include gcc_lib_dir files in the gcc package. + * Allow multilib enabled stage1 and stage2 cross builds. + * Don't check glibc version to configure --with-long-double-128. + * Don't auto-detect multilib osdirnames. + * Don't set a LD_LIBRARY_PATH when calling dh_shlibdeps in cross builds. + * Allow building a gcj cross compiler. + * Pretend that wheezy has x32 support (sid is now known as wheezy :-/). + + -- Matthias Klose Mon, 17 Dec 2012 18:37:14 +0100 + +gcc-4.8 (4.8-20121211-1) experimental; urgency=low + + * GCC snapshot 20121211, taken from the trunk. + * Fix build failure on multilib configurations. + + -- Matthias Klose Tue, 11 Dec 2012 08:04:30 +0100 + +gcc-4.8 (4.8-20121210-1) experimental; urgency=low + + * GCC snapshot 20121210, taken from the trunk. + * For cross builds, don't use the multiarch location for the C++ headers. + * For cross builds, fix multilib inter package dependencies. + * For cross builds, fix libc6 dependencies for non-default multilib packages. + * Build libasan packages on powerpc, ppc64. + * Only run the libgo testsuite for flags configured in RUNTESTFLAGS. + * Remove the cross-includes patch, not needed anymore with --with-sysroot=/. + * For cross builds, install into /usr/lib/gcc-cross to avoid file conflicts + with the native compiler for the target architecture. + * For cross builds, don't add /usr/local/include to the standard include + path, however /usr/local/include/ is still on the path. + * For cross builds, provide symbols files based on the symbols files for + the native build. Not picked up by dh_makeshlibs yet. + * Drop the g++-multilib build dependency, use the built compiler to + check which multilib variants can be run. + * Fix spu cross build on powerpc/ppc64. + * Make libgcj packages Multi-Arch: same, append the Debian architecture + name to the gcj java home. + * Don't encode versioned build dependencies on binutils and dpkg-dev in + the control file (makes the package cross-buildable). + * Only include gengtype for native builds. Needs upstream changes. + See #645018. + * Fix cross build failure with --enable-libstdcxx-debug. + * Only install libbacktrace if it is built. + * When cross building the native compiler, configure --with-sysroot=/ + and without --without-isl. + + -- Matthias Klose Mon, 10 Dec 2012 14:40:14 +0100 + +gcc-4.8 (4.8-20121128-1) experimental; urgency=low + + [ Matthias Klose ] + * Update patches for GCC 4.8. + * Update debian/copyright for libatomic, libbacktrace, libsanitizer. + * Remove the soversion from the libstdc++*-dev packages. + * Build libatomic and libasan packages. + * Install the static libbacktrace library and header files. + * Update build-indep dependencies for building the libstdc++ docs. + * Fix build failure in libatomic with x32 multilibs, handle -mx32 like -m64. + * Apply proposed fix for PR fortran/55395, supposed to fix the build + failure on armhf and powerpc. + * For hardened builds, disable gcc-default-format-security for now, causing + build failure building the target libstdc++ library. + * Drop the gcc-no-add-needed patch, depend on binutils 2.22 instead. + * Fix gnat build failure on kfreebsd. + * Rename the gccgo info to gccgo-4.8 on installation. + * Install the libitm documentation (if built). + * Rename the gccgo info to gccgo-4.8 on installation, install into gccgo-4.8. + * Include libquadmath documentation in the gcc-4.8-doc package. + * Build libtsan packages. + * Add weak __aeabi symbols to the libgcc1 ARM symbol files. Closes: #677139. + * For stage1 builds, include gcc_lib_dir files in the gcc package. + * Point to gcc's README.Bugs when building gcj packages. Addresses: #623987. + + [ Thibaut Girka ] + * Fix libstdc++ multiarch include path for cross builds. + + -- Matthias Klose Sun, 28 Nov 2012 12:55:27 +0100 + +gcc-4.7 (4.7.2-12) experimental; urgency=low + + * Update to SVN 20121127 (r193840) from the gcc-4_7-branch. + - Fix PR middle-end/55331 (ice on valid), PR tree-optimization/54976 (ice + on valid), PR tree-optimization/54894 (ice on valid), + PR middle-end/54735 (ice on valid), PR c++/55446 (wrong code), + PR fortran/55314 (rejects valid). + + [ Matthias Klose ] + * Fix x32 multiarch name (x86_64-linux-gnux32). + * gcc-4.7-base: Add break to gcc-4.4-base (<< 4.4.7). Closes: #690172. + * Add weak __aeabi symbols to the libgcc1 ARM symbol files. Closes: #677139. + * For stage1 builds, include gcc_lib_dir files in the gcc package. + + [ Thibaut Girka ] + * Fix libstdc++ multiarch include path for cross builds. + + -- Matthias Klose Tue, 27 Nov 2012 11:02:10 +0100 + +gcc-4.7 (4.7.2-11) experimental; urgency=low + + * Update to SVN 20121124 (r193776) from the gcc-4_7-branch. + - Fix PR libgomp/55411, PR libstdc++/55413, PR middle-end/55142, + PR fortran/55352. + + * Update build-indep dependencies for building the libstdc++ docs. + * Drop the gcc-no-add-needed patch, depend on binutils 2.22 instead. + * Pass --hash-style=gnu instead of --hash-style=both. + * Link using --hash-style=gnu on arm64 by default. + * Split multiarch patches into local and upstreamed parts. + * Fix PR54974: Thumb literal pools don't handle PC rounding (Matthew + Gretton-Dann). LP: #1049614, #1065509. + * Rename the gccgo info to gccgo-4.7 on installation, install into gccgo-4.7. + * Include libquadmath documentation in the gcc-4.7-doc package. + * Don't pretend to understand .d files, no D frontend available for 4.7. + * Fix the multiarch c++ include path for multilib'd targets. LP: #1082344. + * Make explicit --{en,dis}able-multiarch options effecitive (Thorsten Glaser). + + -- Matthias Klose Sat, 24 Nov 2012 03:57:00 +0100 + +gcc-4.7 (4.7.2-10) experimental; urgency=low + + * Update to SVN 20121118 (r193598) from the gcc-4_7-branch. + - Fix PR target/54892 (ARM, LP: #1065122), PR rtl-optimization/54870, + PR rtl-optimization/53701, PR target/53975 (ia64), + PR tree-optimization/54902 (LP: #1065559), PR middle-end/54945, + PR target/55019 (ARM), PR c++/54984, PR target/55175, + PR tree-optimization/53708, PR tree-optimization/54985, + PR libstdc++/55169, PR libstdc++/55047, PR libstdc++/55123, + PR libstdc++/54075, PR libstdc++/28811, PR libstdc++/54482, + PR libstdc++/55028, PR libstdc++/55215, PR middle-end/55219, + PR tree-optimization/54986, PR target/55204, PR debug/54828, + PR tree-optimization/54877, PR c++/54988, PR other/52438, + PR fortran/54917, PR libstdc++/55320, PR libstdc++/53841. + + [ Matthias Klose ] + * Update the Linaro support to the 4.7-2012.11 release. + * Define MULTIARCH_DIRNAME for arm64 (Wookey). + * Let the lib*objc-dev packages depend on the lib*gcc-dev packages. + * Let the libstdc++-dev package depend on the libgcc-dev package. + * Drop the dependency of the libstdc++-dev package on g++, make + libstdc++-dev and libstdc++-pic Multi-Arch: same. Closes: #678623. + * Install override files before calling dh_fixperms. + * Backport the libffi arm64 port. + * Build libx32gcc-dev, libx32objc-dev and libx32gfortran-dev packages. + * Allow conditional building of the x32 multilibs. + * Fix libmudflap build failure for x32 multilibs. + * Fix dependency on glibc for triarch builds. + * Add build-{arch,indep} targets. + * Fix libquadmath x32 multilib builds on kernels which don't support x32. + * Fix location of x32 specific C++ header files. + * Turn on -D_FORTIFY_SOURCE=2 by default for C, C++, ObjC, ObjC++, + only if the optimization level is > 0. + * Keep the host alias when building multilib libraries which need to + be cross-built on some architectures/buildds. + * Update arm64 from the aarch64 branch 20121105. + * Fix PR other/54411, libiberty: objalloc_alloc integer overflows + (CVE-2012-3509). + * Use /usr/include//c++/4.x as the include directory + for host dependent c++ header files. + * Add alternative libelf-dev build dependency. Closes: #690952. + * Always build the aarch64-linux-gnu target from the Linaro branch. + * Add __gnu_* symbols to the libgcc1 symbols file for armel and armhf. + * For powerpcspe prevent floating point register handling when there + are none available (Roland Stigge). Closes: #693328. + * Don't apply hurd-pthread.diff for trunk builds, integrated + upstream (Samuel Thibault). Addresses: #692538. + * Again, suggest graphite runtime dependencies. + * Clean up libstdc++ man pages. Closes: #692445. + + [ Thibaut Girka ] + * Split out lib*gcc-dev packages. + * Split out lib*objc-dev packages. + * Split out lib*gfortran-dev packages. + + [ Daniel Schepler ] + * Add support for x32. Closes: #667005. + * New patch hjl-x32-gcc-4_7-branch.diff to incorporate changes from + that branch, including --with-abi=mx32 option. + * Split out lib*stdc++-dev packages. + + [ Marcin Juszkiewicz ] + * lib*-dev packages for cross builds are not Multi-Arch: same. LP: #1070694. + * Remove conflicts for armhf/armel cross packages. + + -- Matthias Klose Sun, 18 Nov 2012 17:54:15 +0100 + +gcc-4.7 (4.7.2-4) unstable; urgency=low + + * Fix PR c++/54858 (ice on valid), taken from the branch. + * Build again Go on armel and armhf. + + -- Matthias Klose Tue, 09 Oct 2012 12:00:59 +0200 + +gcc-4.7 (4.7.2-3) unstable; urgency=low + + * Revert the fix PR c/33763, and just disable the sorry message, + taken from the branch. Closes: #678589. LP: #1062343. + * Update libgo to 1.0.3. + * Go fixes: + - Fix a, b, c := b, a, 1 when a and b already exist. + - Fix some type reflection strings. + - Fix parse of (<- chan <- chan <- int)(x). + - Fix handling of omitted expression in switch. + - Better error for switch on non-comparable type. + * Fix PR debug/53135 (ice on valid), PR target/54703 (x86, wrong code), + PR c++/54777 (c++11, rejects valid), taken from the 4.7 branch. + * gcc-4.7-base: ensure smooth upgrades from squeeze by adding + Breaks: gcj-4.4-base (<< 4.4.6-9~), gnat-4.4-base (<< 4.4.6-3~) + as in gcc-4.4-base (multiarch patches re-worked in 4.6.1-8/4.4.6-9). + Fixes some squeeze->wheezy upgrade paths where apt chooses to hold back + gcc-4.4-base and keep gcj-4.4-base installed instead of upgrading + gcc-4.4-base and removing the obsolete gcj-4.4-base (Andreas Beckmann). + Closes: #677582. + * Add arm64 support, partly based on Wookey's patches (only applied for + arm64). Disabled for arm64 are ssp, gomp, mudflap, boehm-gc, Ada, ObjC, + Obj-C++ and Java). + + -- Matthias Klose Fri, 05 Oct 2012 20:00:30 +0200 + +gcc-4.7 (4.7.2-2) unstable; urgency=low + + * Fix PR tree-optimization/54563 (ice on valid), PR target/54564 (fma builtin + fix), PR c/54552 (ice on valid), PR lto/54312 (memory hog), PR c/54103 (ice + on valid), PR middle-end/54638 (memory corruption), taken from the 4.7 + branch. + * Go fixes, taken from the 4.7 branch. + * On ARM, don't warn anymore that 4.4 has changed the `va_list' mangling, + taken from the trunk. + * Mention the NEWS changes for all uploads. Closes: #688278. + + -- Matthias Klose Fri, 21 Sep 2012 11:58:10 +0200 + +gcc-4.7 (4.7.2-1) unstable; urgency=low + + * GCC 4.7.2 release. + * Issues addressed after the release candidate: + - PR c++/53661 (wrong warning), LTO backport from trunk, documentation fix. + * Update NEWS files. + + -- Matthias Klose Thu, 20 Sep 2012 12:19:07 +0200 + +gcc-4.7 (4.7.1-9) unstable; urgency=low + + * GCC 4.7.2 release candidate 1. + * Update to SVN 20120914 (r191306) from the gcc-4_7-branch. + - Fix PR libstdc++/54388, PR libstdc++/54172, PR libstdc++/54172, + PR debug/54534, PR target/54536 (AVR), PR middle-end/54515 (ice on valid), + PR c++/54506 (rejects valid), PR c++/54341 (ice on valid), + PR c++/54253 (ice on valid), PR c/54559 (closes: #687496), + PR gcov-profile/54487, PR c++/53839, PR c++/54511, PR c++/53836, + PR fortran/54556. + * Update the Linaro support to the 4.7-2012.09 release. + - Adds support for the NEON vext instruction when shuffling. + - Backports improvements to scheduling transfers between VFP and core + registers. + - Backports support for the UBFX instruction on certain bit extract idioms. + + -- Matthias Klose Fri, 14 Sep 2012 19:12:47 +0200 + +gcc-4.7 (4.7.1-8) unstable; urgency=low + + * Update to SVN 20120908 (r191092) from the gcc-4_7-branch. + - Fix PR libstdc++/54376, PR libstdc++/54297, PR libstdc++/54351, + PR libstdc++/54297, PR target/54461 (AVR), PR target/54476 (AVR), + PR target/54220 (AVR), PR fortran/54208 (rejects valid), + PR middle-end/53667 (wrong code), PR target/54252 (ARM, wrong code), + PR rtl-optimization/54455 (ice on valid), PR driver/54335 (docs), + PR tree-optimization/54498 (wrong code), PR target/45070 (wrong code), + PR tree-optimization/54494 (wrong code), PR target/54436 (x86), + PR c/54428 (ice on valid), PR c/54363 (ice on valid, closes: #684635), + PR rtl-optimization/54369 (mips, sparc, wrong code), PR middle-end/54146, + PR target/46254 (ice on valid), PR rtl-optimization/54088 (ice on valid), + PR target/54212 (ARM, wrong code), PR c++/54197 (wrong code), + PR lto/53572, PR tree-optimization/53922 (wrong code). + - Go fixes. + + [ Nobuhiro Iwamatsu ] + * Remove sh4-enable-ieee.diff, -mieee enabled by default. Closes: #685975. + + [ Matthias Klose ] + * Fix PR c++/54341, PR c++/54253, taken from the trunk. Closes: #685430. + * Update libitm package description. Closes: #686802. + + -- Matthias Klose Fri, 07 Sep 2012 22:16:55 +0200 + +gcc-4.7 (4.7.1-7) unstable; urgency=low + + * Update to SVN 20120814 (r190380) from the gcc-4_7-branch. + - Fix PR libstdc++/54036, PR target/53961 (x86), PR libstdc++/54185, + PR rtl-optimization/53942, PR rtl-optimization/54157. + + [ Thibaut Girka ] + * Fix cross compilers for 64bit architectures when using + DEB_CROSS_NO_BIARCH. + * Fix glibc dependency for multiarch enabled builds for architectures + with a different libc-dev package name. + + [ Aurelien Jarno ] + * powerpc64: Fix non-multilib builds. + + [ Matthias Klose ] + * Fix syntax error generating the control file for cross builds. + Closes: #682104. + * spu build: Move static libraries to version specific directories. + Closes: #680022. + * Don't run the libstdc++ tests on mipsel, times out on the buildds. + * Update the Linaro support to the 4.7-2012.08 release. + + -- Matthias Klose Tue, 14 Aug 2012 13:58:03 +0200 + +gcc-4.7 (4.7.1-6) unstable; urgency=low + + * Update to SVN 20120731 (r190015) from the gcc-4_7-branch. + - Fix PR libstdc++/54075, PR libstdc++/53270, PR libstdc++/53978, + PR target/33135 (SH), PR target/53877 (x86), PR rtl-optimization/52250, + PR middle-end/54017, PR target/54029, PR target/53961 (x86), + PR target/53110 (x86), PR rtl-optimization/53908, PR c++/54038, + PR c++/54026, PR c++/53995, PR c++/53989, PR c++/53549 (closes: #680931), + PR c++/53953. + + -- Matthias Klose Tue, 31 Jul 2012 20:00:56 +0200 + +gcc-4.7 (4.7.1-5) unstable; urgency=high + + * Update to SVN 20120713 (r189464) from the gcc-4_7-branch. + - Fix PR libstdc++/53657, PR c++/53733 (DR 1402), PR target/53811, + PR target/53853. + + -- Matthias Klose Fri, 13 Jul 2012 16:59:59 +0200 + +gcc-4.7 (4.7.1-4) unstable; urgency=medium + + * Update to SVN 20120709 (r189388) from the gcc-4_7-branch. + - Fix PR libstdc++/53872, PR libstdc++/53830, PR bootstrap/52947, + PR middle-end/52786, PR middle-end/50708, PR tree-optimization/53693, + PR middle-end/52621, PR middle-end/53433, PR fortran/53732, + PR libstdc++/53578, PR c++/53882 (closes: #680521), PR c++/53826. + * Update the Linaro support to the 4.7-2012.07 release. + * Fix build on pre-multiarch releases (based on a patch from Chip Salzenberg). + Closes: #680590. + + -- Matthias Klose Mon, 09 Jul 2012 18:58:47 +0200 + +gcc-4.7 (4.7.1-3) unstable; urgency=low + + * Update to SVN 20120703 (r189219) from the gcc-4_7-branch. + - Fix PR preprocessor/37215, PR middle-end/38474, PR target/53595 (AVR), + PR middle-end/53790, PR debug/53682, PR target/53759 (x86), + PR c++/53816, PR c++/53821, PR c++/51214, PR c++/53498, PR c++/53305, + PR c++/52988 (wrong code), PR c++/53202 (wrong code), PR c++/53594. + - The change for PR libstdc++/49561 was reverted. The std::list size is + now the same again in c++98 and c++11 mode. + * Revert the local std::list work around. + * Build using isl instead of ppl for snapshot builds. + + -- Matthias Klose Tue, 03 Jul 2012 15:07:14 +0200 + +gcc-4.7 (4.7.1-2) unstable; urgency=medium + + * Update to SVN 20120623 (r188906) from the gcc-4_7-branch. + - Fix PR rtl-optimization/53700 (closes: #677678), PR target/52908, + PR libstdc++/53270, PR libstdc++/53678, PR gcov-profile/53744, + PR c++/52637, PR middle-end/53470, PR c++/53651, PR c++/53137, + PR c++/53599, PR fortran/53691, PR fortran/53685, PR ada/53592. + * Update NEWS files for 4.7.1. + * Bump gcc/FULL-VERSION to 4.7.1. + * Update the Linaro support to the 4.7-2012.06 release. + * Restore std::list ABI compatibility in c++11 mode. The upstream behaviour + can be enabled defining __CXX0X_STD_LIST_ABI_INCOMPAT__. This work around + will be replaced with an upstream solution. + * Fix PR debug/53682, taken from the trunk. Closes: #677606. + * Use $(with_gccbase) and $(with_gccxbase) to determine whether to enable it + in the control file (Thibaut Girka). + * When building a cross-compiler, runtime libraries for the target + architecture may be cross-built. Tell debhelper/dpkg-dev those packages + are indeed for a foreign architecture (Thibaut Girka). + + -- Matthias Klose Sat, 23 Jun 2012 11:58:35 +0200 + +gcc-4.7 (4.7.1-1) unstable; urgency=low + + * GCC 4.7.1 release. + + -- Matthias Klose Fri, 15 Jun 2012 00:38:27 +0200 + +gcc-4.7 (4.7.0-13) unstable; urgency=low + + * Update to SVN 20120612 (r188457) from the gcc-4_7-branch. + - Fix PR c++/53602 (LP: #1007616). + + * Document the changed ssp-buffer-size default in Ubuntu 10.10 and + later (Kees Cook). LP: #990141. + * Fix PR c++/26155, ICE after error with namespace alias. LP: #321883. + * Fix PR c++/53599 (reverting the fix for PR c++/53137). + Closes: #676729. LP: #1010896. + * Fix manual page names for cross builds (Thibaut Girka). Closes: #675516. + * Remove dpkg-cross build dependency for cross builds (Thibaut Girka). + Closes: #675511. + + -- Matthias Klose Tue, 12 Jun 2012 15:47:57 +0200 + +gcc-4.7 (4.7.0-12) unstable; urgency=low + + * Update to SVN 20120606 (r188261) from the gcc-4_7-branch (release + candidate 1 or 4.7.1). + - Fix PR libstdc++/52007, PR c++/53524, PR target/53559, + PR middle-end/47530, PR middle-end/53471, PR middle-end/52979, + PR target/46261, PR tree-optimization/53550, PR middle-end/52080, + PR middle-end/52097, PR middle-end/48124, PR middle-end/53501, + PR target/52667, PR target/52642, PR middle-end/48493, PR c++/53524, + PR c++/52973, PR c++/52725, PR c++/53137, PR c++/53484, PR c++/53500, + PR c++/52905, PR fortran/53521. + - Go and libgo updates. + * Include README.Debian in README.Debian.. + * Fix PR c/33763, proposed patch from the issue. Closes: #672411. + * Fix build failure in libgo with hardening defaults. + + -- Matthias Klose Wed, 06 Jun 2012 13:22:27 +0200 + +gcc-4.7 (4.7.0-11) unstable; urgency=low + + * Update to SVN 20120530 (r188035) from the gcc-4_7-branch. + - Fix PR c++/53356, PR c++/53491, PR c++/53503, PR c++/53220, + PR middle-end/53501, PR rtl-optimization/53519, + PR tree-optimization/53516, PR tree-optimization/53438, + PR target/52999, PR middle-end/53008. + + [ Matthias Klose ] + * Build-depend on netbase when building Go. Closes: #674306. + + [ Marcin Juszkiewicz ] + * Use the multiarch default for staged builds. + + -- Matthias Klose Thu, 31 May 2012 08:25:08 +0800 + +gcc-4.7 (4.7.0-10) unstable; urgency=low + + * Update to SVN 20120528 (r187927) from the gcc-4_7-branch. + - Fix PR rtl-optimization/52528, PR lto/52178, PR target/53435, + PR ada/52362, PR target/53385, PR middle-end/53460, + PR tree-optimization/53465, PR target/53448, PR tree-optimization/53408, + PR ada/52362, PR fortran/53389. + * Fix warning building libiberty/md5.c. PR other/53285. Closes: #674830. + + -- Matthias Klose Mon, 28 May 2012 11:30:36 +0800 + +gcc-4.7 (4.7.0-9) unstable; urgency=low + + * Update to SVN 20120522 (r187756) from the gcc-4_7-branch. + - Fix PR bootstrap/53183, PR tree-optimization/53436, + PR tree-optimization/53366, PR tree-optimization/53409, + PR tree-optimization/53410, PR c/53418, PR target/53416, + PR middle-end/52584, PR debug/52727, PR tree-optimization/53364, + PR target/53358, PR rtl-optimization/52804, PR target/46098, + PR target/53256, PR c++/53209, PR c++/53301, PR ada/52494, + PR fortran/53310 + * Update the Linaro support to the 4.7-2012.05 release. + + -- Matthias Klose Tue, 22 May 2012 13:01:33 +0800 + +gcc-4.7 (4.7.0-8) unstable; urgency=low + + * Update to SVN 20120509 (r187339) from the gcc-4_7-branch. + - Fix PR libstdc++/53193, PR target/53272, PR tree-optimization/53239, + PR tree-optimization/53195, PR target/52999, PR target/53228, + PR tree-optimization/52633, PR tree-optimization/52870, PR target/48496, + PR target/53199, PR target/52684, PR lto/52605, PR plugins/53126, + PR debug/53174, PR target/53187, PR tree-optimization/53144, + PR c++/53186, PR fortran/53255, PR fortran/53111, PR fortran/52864. + - Fix plugin check in gcc-{ar,nm,ranlib}-4.7. + * Install man pages for gcc-{ar,nm,ranlib}-4.7. + + -- Matthias Klose Mon, 07 May 2012 21:56:42 +0200 + +gcc-4.7 (4.7.0-7) unstable; urgency=low + + * Update to SVN 20120502 (r187039) from the gcc-4_7-branch. + - Fix PR libstdc++/53115, PR tree-optimization/53163, + PR rtl-optimization/53160, PR middle-end/53136, PR fortran/53148. + - libgo fix for mips. + * Fix setting MULTILIB_DEFAULTS for ARM multilib builds. + * Build Go on mips. + * Revert: Don't build multilib gnat on armel and armhf. + * Fix multiarch patch for alpha (Michael Cree). Closes: #670571. + * Fix Go multilib packaging issue for mips and mipsel. + + -- Matthias Klose Wed, 02 May 2012 12:42:01 +0200 + +gcc-4.7 (4.7.0-6) unstable; urgency=low + + * Update to SVN 20120430 (r186964) from the gcc-4_7-branch. + - Fix PR target/53138. + * Build Go on ARM. + * Treat wheezy the same as sid in more places (Peter Green). + Addresses: #670821. + + -- Matthias Klose Mon, 30 Apr 2012 13:06:21 +0200 + +gcc-4.7 (4.7.0-5) unstable; urgency=medium + + * Update to SVN 20120428 (r186932) from the gcc-4_7-branch. + - Fix PR c/52880, PR target/53065, PR tree-optimization/53085, + PR c/51527, PR target/53120. + + [ Matthias Klose ] + * Don't build multilib gnat on armel and armhf. + * Don't try to run the libstdc++ testsuite if the C++ frontend isn't built. + * Install the unwind-arm-common.h header file. + * Fix ARM biarch package builds. + + [ Aurelien Jarno ] + * Reenable parallel builds on GNU/kFreeBSD. + * Fix libgcc building on MIPS N32/64. Closes: #669858. + * Add libn32gcc1 and lib64gcc1 symbols files on mips and mipsel. + + -- Matthias Klose Sat, 28 Apr 2012 11:59:36 +0200 + +gcc-4.7 (4.7.0-4) unstable; urgency=low + + * Update to SVN 20120424 (r186746) from the gcc-4_7-branch. + - Fix PR libstdc++/52924, PR libstdc++/52591, PR middle-end/52894, + PR testsuite/53046, PR libstdc++/53067, PR libstdc++/53027, + PR libstdc++/52839, PR bootstrap/52840, PR libstdc++/52689, + PR libstdc++/52699, PR libstdc++/52822, PR libstdc++/52942, + PR middle-end/53084, PR middle-end/52999, PR c/53060, + PR tree-optimizations/52891, PR target/53033, PR target/53020, + PR target/52932, PR middle-end/52939, PR tree-optimization/52969, + PR c/52862, PR target/52775, PR tree-optimization/52943, PR c++/53003, + PR c++/38543, PR c++/50830, PR c++/50303, PR c++/52292, PR c++/52380, + PR c++/52465, PR c++/52824, PR c++/52906. + + [ Matthias Klose ] + * Update the Linaro support to the 4.7-2012.04 release. + * Set the ARM hard-float linker path according to the consensus: + http://lists.linaro.org/pipermail/cross-distro/2012-April/000261.html + * Reenable the spu build on ppc64. Closes: #668272. + * Update and reenable the gcc-cloog-dl patch. + + [ Samuel Thibault ] + * ada-s-osinte-gnu.adb.diff, ada-s-osinte-gnu.ads.diff, + ada-s-taprop-gnu.adb.diff, gcc_ada_gcc-interface_Makefile.in.diff: + Add ada support for GNU/Hurd, thanks Svante Signell for the patches + and bootstrap! (Closes: #668426). + + -- Matthias Klose Tue, 24 Apr 2012 08:44:15 +0200 + +gcc-4.7 (4.7.0-3) unstable; urgency=low + + * Update to SVN 20120409 (r186249) from the gcc-4_7-branch. + - Fix PR libitm/52854, PR libstdc++/52476, PR target/52717, + PR tree-optimization/52406, PR c++/52596, PR c++/52796, + PR fortran/52893, PR fortran/52668. + + [ Matthias Klose ] + * Re-add missing dependency on libgcc in gcc-multilib. Closes: #667519. + * Add support for GNU locales for GNU/Hurd (Svante Signell). + Closes: #667662. + * Reenable the spu build on ppc64. Closes: #664617. + * Apply proposed patch for PR52894, stage1 bootstrap failure on hppa + (John David Anglin). Closes: #667969. + + [ Nobuhiro Iwamatsu ] + * Fix cross build targeting sh4. Closes: #663028. + * Enable -mieee by default on sh4. Closes: #665328. + + -- Matthias Klose Mon, 09 Apr 2012 22:24:14 +0200 + +gcc-4.7 (4.7.0-2) unstable; urgency=low + + * Update to SVN 20120403 (r186107) from the gcc-4_7-branch. + - Fix PR middle-end/52547, PR libstdc++/52540, PR libstdc++/52433, + PR target/52507, PR target/52505, PR target/52461, PR target/52508, + PR c/52682, PR target/52610, PR middle-end/52640, PR target/50310, + PR target/48596, PR target/48806, PR middle-end/52547, R target/52496, + PR rtl-optimization/52543, PR target/52461, PR target/52488, + PR target/52499, PR target/52148, PR target/52496, PR target/52484, + PR target/52506, PR target/52505, PR target/52461, PR other/52545, + PR c/52577, PR c++/52487, PR c++/52671, PR c++/52582, PR c++/52521, + PR fortran/52452, PR target/52737, PR target/52698, PR middle-end/52693, + PR middle-end/52691, PR middle-end/52750, PR target/52692, + PR middle-end/51893, PR target/52737, PR target/52736, PR middle-end/52720, + PR c++/52672, PR c++/52718, PR c++/52685, PR c++/52759, PR c++/52743, + PR c++/52746, PR libstdc++/52799, PR libgfortran/52758, + PR middle-end/52580, PR middle-end/52493, PR tree-optimization/52678, + PR tree-optimization/52701, PR tree-optimization/52754, + PR tree-optimization/52835. + + [ Matthias Klose ] + * Update NEWS files for 4.7. + * Include -print-multiarch option in gcc --help output. Closes: #656998. + * Don't build Go on MIPS. + * Update alpha-ieee.diff for 4.7. + * Update gcc-multiarch.diff for sh4 (untested). Closes: #665935. + * Update gcc-multiarch.diff for hppa (untested). Closes: #666162. + * Re-add build dependency on doxygen. + + [ Samuel Thibault ] + * debian/patches/ada-bug564232.diff: Enable on hurd too. + * debian/patches/ada-libgnatprj.diff: Add hurd configuration. + + -- Matthias Klose Tue, 03 Apr 2012 16:30:58 +0200 + +gcc-4.7 (4.7.0-1) unstable; urgency=low + + * GCC 4.7.0 release. + + -- Matthias Klose Fri, 23 Mar 2012 05:44:37 +0100 + +gcc-4.7 (4.7.0~rc2-1) experimental; urgency=low + + * GCC-4.7 release candidate 2 (r185376). + * libgo: Work around parse error of struct timex_ on ARM. + * Update libstdc++6 symbols files. + * Allow building Go from a separate source package. + * Don't configure with --enable-gnu-unique-object on kfreebsd and hurd. + * Include -print-multiarch option in gcc --help output. Closes: #656998. + * Disable Go on mips* (PR go/52586). + + -- Matthias Klose Wed, 14 Mar 2012 15:49:39 +0100 + +gcc-4.7 (4.7.0~rc1-2) experimental; urgency=low + + * Update to SVN 20120310 (r185183) from the gcc-4_6-branch. + * Always configure with --enable-gnu-unique-object. LP: #949805. + * Enable Go for ARM on releases with working getcontext/setcontext. + + -- Matthias Klose Sat, 10 Mar 2012 23:29:45 +0100 + +gcc-4.7 (4.7.0~rc1-1) experimental; urgency=low + + * GCC-4.7 release candidate 1 (r184777). + + [ Marcin Juszkiewicz ] + * Fix ARM sf/hf multilib dpkg-shlibdeps dependency generation. + + [ Matthias Klose ] + * PR go/52218, don't build Go on ARM, getcontext/setcontext exists, + but return ENOSYS. + * Fix multiarch build on ia64. + * Fix path calculation for the libstdc++ -gdb.py file when installed into + multiarch locations. Closes: #661385. LP: #908163. + * Disable Go on sparc (libgo getcontext/setcontext check failing). + + [ Thorsten Glaser ] + * Apply patch from Alan Hourihane to fix err_bad_abi testcase on m68k. + + [ Jonathan Nieder ] + * libstdc++6: Depends on libc (>= 2.11) for STB_GNU_UNIQUE support + (Eugene V. Lyubimkin). Closes: #584572. + * libstdc++6, libobjc2, libgfortran3, libmudflap0, libgomp1: Breaks + pre-multiarch gcc. Closes: #651550. + * libstdc++6: Lower priority from required to important. Closes: #661118. + + [Samuel Thibault] + * Remove local patch, integrated upstream. Closes: ##661859. + + -- Matthias Klose Fri, 02 Mar 2012 18:42:56 +0100 + +gcc-4.7 (4.7-20120210-1) experimental; urgency=low + + * GCC-4.7 snapshot build, taken from the trunk 20120210 (r184114). + * kbsd-gnu.diff: Remove, integrated upstream. + * Strip whitespace from with_libssp definition. Closes: #653255. + * Remove soft-float symbols from 64bit powerpc libgcc1 symbols files. + * Fix control file generation for cross packages. LP: #913734. + + -- Matthias Klose Fri, 10 Feb 2012 21:38:12 +0100 + +gcc-4.7 (4.7-20120205-1) experimental; urgency=low + + * GCC-4.7 snapshot build, taken from the trunk 20120205 (r183903). + * Enable Go on arm*, ia64, mips*, powerpc, s390*, sparc*. + * libgo: Fix ioctl macro extracton. + * Fix PR middle-end/52074, ICE in libgo on powerpc. + * Revert: * Install static libc++{98,11} libraries. + * Don't strip a `/' sysroot from the C++ include directories. + Closes: #658442. + + -- Matthias Klose Sun, 05 Feb 2012 09:16:03 +0100 + +gcc-4.7 (4.7-20120129-1) experimental; urgency=low + + * GCC-4.7 snapshot build, taken from the trunk 20120129 (r183674). + * Configure --with-sysroot for wheezy and sid. + * Install static libc++{98,11} libraries. + * Install libstdc++ gdb.py file into /usr/lib/debug. + * Just copy libstdc++convenience.a for the libstdc++_pic installation. + * Remove trailing dir separator from system root. + + -- Matthias Klose Sun, 29 Jan 2012 08:19:27 +0100 + +gcc-4.7 (4.7-20120121-1) experimental; urgency=low + + * GCC-4.7 snapshot build, taken from the trunk 20120121 (r183370). + + [ Matthias Klose ] + * Fix C++ include paths when configured --with-system-root. + + [ Marcin Juszkiewicz ] + * Fix control file generation for ARM multiarch cross builds. + + -- Matthias Klose Sat, 21 Jan 2012 20:24:29 +0100 + +gcc-4.7 (4.7-20120107-1) experimental; urgency=low + + * GCC-4.7 snapshot build, taken from the trunk 20120107 (r182981). + + * On armel/armhf, allow g*-multilib installation using the runtime + libraries of the corresponding multiarch architecture. + * Fix location of .jinfo files. Addresses: #654579. + * Replace Fortran 95 with Fortran in package descriptions. + + -- Matthias Klose Sat, 07 Jan 2012 21:24:56 +0100 + +gcc-4.7 (4.7-20111231-1) experimental; urgency=low + + * GCC-4.7 snapshot build, taken from the trunk 20111231 (r182754). + + [ Aurelien Jarno ] + * Re-enable parallel builds on kfreebsd-i386, as the problem from bug + #637236 only affects kfreebsd-amd64. + + [ Matthias Klose ] + * Fix generating libphobos dependency for gdc. Addresses: #653078. + * Link libmudflapth.so with -lpthread. + + -- Matthias Klose Sat, 31 Dec 2011 09:42:13 +0100 + +gcc-4.7 (4.7-20111222-1) experimental; urgency=low + + * Update to SVN 20111222 (r182617) from the trunk. + + [Matthias Klose] + * Remove obsolete ARM patch. + * Install loongson.h header. + * Update libgcc and libstdc++ symbols files. + + [Samuel Thibault] + * Update hurd patch for 4.7, fixing build failure. Closes: #652693. + + [Robert Millan] + * Update kbsd-gnu.diff for the trunk. + + -- Matthias Klose Thu, 22 Dec 2011 10:52:01 +0100 + +gcc-4.7 (4.7-20111217-2) experimental; urgency=low + + * Don't provide 4.6.x symlinks. + * Disable multilib for armhf. + * Fix spu installation. + + -- Matthias Klose Sun, 18 Dec 2011 17:22:10 +0100 + +gcc-4.7 (4.7-20111217-1) experimental; urgency=low + + * GCC-4.7 snapshot build. + - Including the GFDL documentation; will stay in experimental + until the 4.7.0 release sometime next year. + * Update patches for the trunk. + * Update symbols files. + * Build libitm packages. + + -- Matthias Klose Sat, 17 Dec 2011 23:19:46 +0100 + +gcc-4.6 (4.6.2-9) unstable; urgency=medium + + * Update to SVN 20111217 (r182430) from the gcc-4_6-branch. + - Fix PR c++/51331. + * Fix build dependencies for armel/armhf. + + -- Matthias Klose Sat, 17 Dec 2011 10:40:26 +0100 + +gcc-4.6 (4.6.2-8) unstable; urgency=low + + * Update to SVN 20111216 (r182407) from the gcc-4_6-branch. + - Fix PR tree-optimization/51485, PR tree-optimization/50569, PR c++/51248, + PR c++/51406, PR c++/51161, PR rtl-optimization/49720, PR fortran/50923, + PR fortran/51338, PR fortran/51550, PR fortran/47545, PR fortran/49050, + PR fortran/51075. + + [ Matthias Klose ] + * gdc-4.6: Provide -{gdc,gdmd}-4.6 symlinks. + + [Ludovic Brenta] + Merge from gnat-4.6 (4.6.2-2) unstable; urgency=low + [Євгеній Мещеряков] + * debian/patches/pr47818.diff: new. Fixes: #614402. + * debian/rules.patch: apply it. + + Merge from gnat-4.6 (4.6.2-1) unstable; urgency=low + [Ludovic Brenta] + * Suggest ada-reference-manual-{html,info,pdf,text} instead of just + ada-reference-manual which no longer exists. + * Do not suggest gnat-gdb, superseded by gdb. + * Downgrade libgnat{vsn,prj}4.6-dev to priority extra; they conflict + with their 4.4 counterparts and priority optional packages may not + conflict with one another, per Policy 2.5. + + -- Matthias Klose Fri, 16 Dec 2011 16:59:30 +0100 + +gcc-4.6 (4.6.2-7) unstable; urgency=medium + + * Update to SVN 20111210 (r182189) from the gcc-4_6-branch. + - Fix PR rtl-optimization/51469, PR tree-optimization/51466, + PR tree-optimization/50078, PR target/51408, PR fortran/51310, + PR fortran/51448. + + -- Matthias Klose Sat, 10 Dec 2011 20:12:33 +0100 + +gcc-4.6 (4.6.2-6) unstable; urgency=low + + * Update to SVN 20111208 (r182120) from the gcc-4_6-branch. + - Fix PR c++/51265, PR bootstrap/50888, PR target/51393 (ix86), + PR target/51002 (AVR), PR target/51345 (AVR), PR debug/48190, + PR fortran/50684, PR fortran/51218, PR target/50906 (closes: #650318), + PR tree-optimization/51315 (closes: #635126), PR tree-optimization/50622, + PR fortran/51435, PR debug/51410, PR c/51339, PR rtl-optimization/48721, + PR middle-end/51323 (LP: #897583), PR middle-end/50074, + PR middle-end/50074. + + [ Matthias Klose ] + * Run the libstdc++ testsuite on all architectures again. Closes: #622699. + * Apply proposed patch for PR target/50906 (powerpcspe only). Closes: #650318. + * Fix PR target/49030 (ARM), taken from Linaro. Closes: #633479. + * Fix PR target/50193 (ARM), taken from Linaro. Closes: #642127. + * Install the libstdc++.so-gdb.py file. LP: #883269. + * Fix PR c++/50114, backport from trunk. LP: #827806. + * Merge changes to allow gcc-snapshot cross builds, taken from Linaro. + * Update the Linaro support to the 4.6 branch. + + [ Marcin Juszkiewicz ] + * Fix issues with gcc-snapshot cross builds. + * Allow building Linaro binary packages in a single package. + * Apply hardening patches for cross builds when enabled for native builds. + + -- Matthias Klose Thu, 08 Dec 2011 17:14:35 +0100 + +gcc-4.6 (4.6.2-5) unstable; urgency=low + + * Update to SVN 20111121 (r181596) from the gcc-4_6-branch. + - Fix PR c++/50870, PR c++/50608, PR target/47997, PR target/48108, + PR target/45233, PR middle-end/51077, PR target/30282, PR c++/50608, + PR target/50979, PR target/4810, PR rtl-optimization/51187, + PR target/50493, PR target/49992, PR target/49641, PR c++/51150, + PR target/50678, PR libstdc++/51142, PR libstdc++/51133. + + [ Matthias Klose ] + * Use the default gcc as stage1 compiler for all architectures. + + [ Marcin Juszkiewicz ] + * debian/control.m4: Use BASEDEP in more places. + * Work around debhelper not calling the correct strip for cross builds. + * Drop dpkg-cross build dependency for cross builds. + + -- Matthias Klose Mon, 21 Nov 2011 22:26:49 +0100 + +gcc-4.6 (4.6.2-4) unstable; urgency=low + + * Update to SVN 20111103 (r180830) from the gcc-4_6-branch. + - Fix PR target/50691, PR c++/50901, PR target/50945, + PR rtl-optimization/47918, PR libstdc++/50880. + + * Configure the armel build by explicitly passing --with-arch=armv4t + --with-float=soft. + * libffi: Simplify PowerPC assembly and avoid CPU-specific string + instructions (Kyle Moffett). + * Fix MULTIARCH_DIRNAME on powerpcspe (Kyle Moffett). Closes: #647324. + + -- Matthias Klose Thu, 03 Nov 2011 12:03:41 -0400 + +gcc-4.6 (4.6.2-3) unstable; urgency=low + + * disable parallel builds on kfreebsd-* even if DEB_BUILD_OPTIONS + enables them (continued investigation for #637236). + + -- Ludovic Brenta Sat, 29 Oct 2011 00:42:46 +0200 + +gcc-4.6 (4.6.2-2) unstable; urgency=low + + * Update to SVN 20111028 (r180603) from the gcc-4_6-branch. + - Fix PR target/50875. + + * Fix gcj, gdc and gnat builds, broken by the stage1 cross-compiler + package dependency fixes. + * Update the Linaro support to the 4.6 branch. + * Fix gcc-4.6-hppa64 installation. Closes: #646805. + * For ARM hard float, set the dynamic linker to + /lib/arm-linux-gnueabihf/ld-linux.so.3. + * Don't use parallel builds on kfreebsd. + + -- Matthias Klose Fri, 28 Oct 2011 16:36:55 +0200 + +gcc-4.6 (4.6.2-1) unstable; urgency=low + + * GCC 4.6.2 release. + + * Fix libgcc installation into /usr/lib/gcc//4.6. Closes: #645021. + * Fix stage1 cross-compiler package dependencies (Kyle Moffett). + Closes: #644439. + + -- Matthias Klose Wed, 26 Oct 2011 13:10:44 +0200 + +gcc-4.6 (4.6.1-16) unstable; urgency=medium + + * Update to SVN 20111019 (r180208) from the gcc-4_6-branch. + - Fix PR target/49967 (ia64), PR tree-optimization/50189, PR fortran/50273, + PR tree-optimization/50700, PR c/50565 (closes: #642144), + PR target/49965 (sparc), PR middle-end/49801, PR c++/49216, + PR c++/49855, PR c++/49896, PR c++/44473, PR c++/50611, PR fortran/50659, + PR tree-optimization/50723, PR tree-optimization/50712, PR obj-c++/48275, + PR c++/50618, PR fortran/47023, PR fortran/50570, PR fortran/50718, + PR libobjc/49883, PR libobjc/50002, PR target/50350, PR middle-end/50386, + PR middle-end/50326, PR target/50737, PR c++/50787, PR c++/50531, + PR fortran/50016, PR target/50737. + + [ Matthias Klose ] + * Fix libjava installation into /usr/lib/gcc//4.6. + * Fix powerpc and ppc64 libffi builds (Kyle Moffett). + * Apply proposed patch for PR target/50350. Closes: #642313. + * Re-apply the fix for PR tree-optimization/49911 on ia64. + * Apply proposed patch for PR target/50106 (ARM). + + [Xavier Grave] + * debian/patches/address-clauses-timed-entry-calls.diff: new; backport + bug fix about address clauses and timed entry calls. + + [Ludovic Brenta] + * debian/patches/ada-kfreebsd-gnu.diff: new; provide dummy + implementations of some optional POSIX Threads functions missing in + GNU/kFreeBSD. Closes: #642128. + + -- Matthias Klose Thu, 20 Oct 2011 00:24:13 +0200 + +gcc-4.6 (4.6.1-15) unstable; urgency=low + + * Update to SVN 20111010 (r179753) from the gcc-4_6-branch. + - Fix PR target/50652. + * Update the Linaro support to the 4.6-2011.10-1 release. + * Fix gcc-spu installation. + * Restore symlink for subminor GCC version. Closes: #644849. + + -- Matthias Klose Mon, 10 Oct 2011 17:10:40 +0200 + +gcc-4.6 (4.6.1-14) unstable; urgency=low + + * Update to SVN 20111008 (r179710) from the gcc-4_6-branch. + - Fix PR inline-asm/50571, PR c++/46105, PR c++/50508, PR libstdc++/50529, + PR libstdc++/49559, PR c++/40831, PR fortran/48706, PR target/49049, + PR tree-optimization/49279, PR fortran/50585, PR fortran/50625, + PR libstdc++/48698. + + [ Matthias Klose ] + * Configure and build to install into /usr/lib/gcc//4.6. + Closes: #643891. + * libgcc1: Versioned break to gcc-4.3. + * Fix gcc-multiarch for i386-linux-gnu with disabled multilibs. + * libffi: Fix PowerPC soft-floating-point support (Kyle Moffett). + + [ Marcin Juszkiewicz ] + * Enable gcc-snapshot cross builds. + + [ Iain Buclaw ] + * Port gdc to GCC-4.6. + + [ Aurelien Jarno ] + * Backport fix for PR target/49696 from the trunk (Closes: #633443). + + -- Matthias Klose Sat, 08 Oct 2011 14:40:49 +0200 + +gcc-4.6 (4.6.1-13) unstable; urgency=low + + * Update to SVN 20110926 (r179207) from the gcc-4_6-branch. + - Fix PR tree-optimization/50472, PR tree-optimization/50413, + PR tree-optimization/50412, PR c++/20039, PR c++/42844, + PR libstdc++/50510, PR libstdc++/50509. + * Revert the fix for PR tree-optimization/49911, bootstrap error on ia64. + * libffi: Define FFI_MMAP_EXEC_WRIT on kfreebsd-* (Petr Salinger). + + -- Matthias Klose Mon, 26 Sep 2011 19:59:55 +0200 + +gcc-4.6 (4.6.1-12) unstable; urgency=low + + * Update to SVN 20110924 (r179140) from the gcc-4_6-branch. + - Fix PR target/50464, PR target/50341, PR middle-end/49886, + PR target/50091, PR c++/50491, PR c++/50442 (Closes: #642176). + + -- Matthias Klose Sat, 24 Sep 2011 10:39:32 +0200 + +gcc-4.6 (4.6.1-11) unstable; urgency=low + + * Update to SVN 20110917 (r178926) from the gcc-4_6-branch. + - Fix PR c++/50424, PR c++/48320, PR fortran/49479. + + [ Matthias Klose ] + * Update the Linaro support to the 4.6-2011.09-1 release. + + [ Aurelien Jarno ] + * gcc.c (for_each_path): Allocate memory for multiarch suffix. + + -- Matthias Klose Sat, 17 Sep 2011 10:53:36 +0200 + +gcc-4.6 (4.6.1-10) unstable; urgency=medium + + * Update to SVN 20110910 (r178746) from the gcc-4_6-branch. + - Fix PR middle-end/50266, PR tree-optimization/49911, + PR tree-optimization/49518, PR tree-optimization/49628, + PR tree-optimization/49628, PR target/50310, PR target/50289, + PR c++/50255, PR c++/50309, PR c++/49267, PR libffi/49594. + - Revert fix for PR middle-end/49886, causing PR middle-end/50295. + + -- Matthias Klose Sat, 10 Sep 2011 03:38:48 +0200 + +gcc-4.6 (4.6.1-9) unstable; urgency=low + + * Update to SVN 20110903 (r178501) from the gcc-4_6-branch. + - Fix PR target/50090, PR middle-end/50116, PR target/50202, PR c/50179, + PR c++/50157, PR fortran/50163, PR libfortran/50192, + PR middle-end/49886, PR tree-optimization/50178, PR c++/50207, + PR c++/50089, PR c++/50220, PR c++/50234, PR c++/50224, + PR libstdc++/50268. + + [ Matthias Klose ] + * Fix gcc --print-multilib-osdir for non-biarch architectures. + * Fix multiarch for non-biarch builds. Closes: #635860. + * Move the lto plugin to the cpp packge. Closes: #639531. + + [ Thorsten Glaser ] + * [m68k] Disable multilib. Closes: #639303. + + -- Matthias Klose Sat, 03 Sep 2011 20:11:50 +0200 + +gcc-4.6 (4.6.1-8) unstable; urgency=low + + * Update to SVN 20110824 (r178027) from the gcc-4_6-branch. + Fix PR fortran/49792, PR tree-optimization/48739, PR target/50092, + PR c++/50086, PR c++/50054, PR fortran/50050, PR fortran/50130, + PR fortran/50129, PR fortran/49792, PR fortran/50109, PR c++/50024, + PR c++/46862. + + * Properly disable multilib builds for selected libraries on armel and armhf. + * Update and re-enable the gcc-ice patch. + * Update and re-enable the gcc-cloog-dl patch. + * Fix [ARM] PR target/50090: aliases in libgcc.a with default visibility, + taken from the trunk. + * Re-work the multiarch patches. + * Break older gcj-4.6 and gnat-4.6 versions, changed gcc_lib_dir. + * Omit the target alias from the go libdir. + * Linaro updates from the 4.6-2011.07-stable branch. + * Revert: + - libjava: Build with the system libffi PIC library. + * For native builds, gcc -print-file-name now resolve . and .., + and removes the subminor version number. + + -- Matthias Klose Wed, 24 Aug 2011 10:22:42 +0200 + +gcc-4.6 (4.6.1-7) unstable; urgency=low + + * Update to SVN 20110816 (r177780) from the gcc-4_6-branch. + - Fix PR middle-end/49923. + + [ Matthias Klose ] + * gcc-4.6-multilib: Depend on biarch quadmath library. Closes: #637174. + * Don't hard-code build dependency on gcc-multilib. + * Build-depends on python when building java. + * Fix thinko in java::lang::Class::finalize (taken from the trunk). + * Add support for ARM 64bit sync intrinsics (David Gilbert). Only + enable for armv7 or better. + * libjava: Build with the system libffi PIC library. + * Disable gnat multilib builds on armel and armhf. + + Merge from gnat-4.6 (4.6.1-4) unstable; urgency=low + + [Ludovic Brenta] + * debian/patches/ada-symbolic-tracebacks.diff + (src/gcc/ada/gcc-interface/Makefile.in): pass -iquote instead of -I- + to gnatgcc; fixes FTBFS on i386 and closes: #637418. + + Merge from gnat-4.6 (4.6.1-3) unstable; urgency=low + + [Євгеній Мещеряков] + * debian/patches/ada-mips.diff: do not use the alternate stack on mips, + as on mipsel. Closes: #566234. + + [Ludovic Brenta] + * debian/patches/pr49940.diff: new; copy the definition of function + lwp_self from s-osinte-freebsd.ads to s-osinte-kfreebsd-gnu.ads. + Closes: #636291. + * debian/patches/pr49944.diff: new. Closes: #636692. + * debian/patches/pr49819.diff: drop, merged upstream. + + -- Matthias Klose Tue, 16 Aug 2011 13:11:25 +0200 + +gcc-4.6 (4.6.1-6) unstable; urgency=low + + * Update to SVN 20110807 (r177547) from the gcc-4_6-branch. + - Fix PR rtl-optimization/49799, PR debug/49871, PR target/47364, + PR target/49866, PR tree-optimization/49671, PR target/39386, + PR ada/4981, PR fortran/45586, PR fortran/49791, PR middle-end/49897, + PR middle-end/49898, PR target/49920, PR target/47908 (closes: #635919), + PR c++/43886, PR c++/49593, PR c++/49803, PR c++/49924, PR c++/49260, + PR fortran/49885, PR fortran/48876, PR libstdc++/49925, PR target/50001, + PR tree-optimization/49948, PR c++/48993, PR c++/49921, PR c++/49669, + PR c++/49988, PR fortran/49112. + + [ Aurelien Jarno ] + * Update patches/kbsd-gnu.diff for recent changes. Closes: #635195. + * Add s390x support. + + [ Marcin Juszkiewicz ] + * Fixes for multilib cross builds. LP: #816852, #819147. + + [ Matthias Klose ] + * Fix libgo installation for cross builds. + * Only apply arm-multilib when building for multilib. + + -- Matthias Klose Sun, 07 Aug 2011 18:20:00 +0200 + +gcc-4.6 (4.6.1-5) unstable; urgency=low + + * Update to SVN 20110723 (r176672) from the gcc-4_6-branch. + - Fix PR target/49541, PR tree-optimization/49768, PR middle-end/49675, + PR target/49746, PR middle-end/49732, PR tree-optimization/49725, + PR target/49723, PR target/49541, PR tree-opt/49309, PR c++/49785, + PR ada/48711, PR ada/46350, PR fortran/49648, PR testsuite/49753, + PR tree-optimization/49309, PR tree-optimization/45819, PR target/49600, + PR fortran/49708, PR libstdc++/49293. + * Update the Linaro support to the 4.6-2011.07-0 release. + - Fix PR target/49335. LP: #791327. + * Update gcc-multiarch: + - Add -print-multiarch option. + - Fix library path for non-default multilib(s). + - Handle `.' in MULTILIB_DIRNAMES. + * Add support to build multilib on armel and armhf, only enable it for + Ubuntu/oneiric. LP: #810360. + * cpp-4.6: Add empty multiarch directories for the non-default multilibs, + needed for relative lookups from startfile_prefixes. + * Fix PR c++/49756, backport from trunk. LP: #721378. + * libgcc1: Add breaks to gcc-4.1 and gcc-4.3. Closes: #634821. + * Configure for DEB_TARGET_MULTIARCH defaults. + + -- Matthias Klose Sat, 23 Jul 2011 08:15:50 +0200 + +gcc-4.6 (4.6.1-4) unstable; urgency=low + + * Update to SVN 20110714 (r176280) from the gcc-4_6-branch. + - Fix PR tree-optimization/49094, PR target/39633, PR c++/49672, + PR fortran/49698, PR fortran/49690, PR fortran/49562, PR libfortran/49296, + PR target/49487, PR tree-optimization/49651, PR ada/48711. + + [ Matthias Klose ] + * Build Go on alpha for gcc-snapshot builds. + * For multicore ARM, clear both caches, not just the dcache (proposed + patch by Andrew Haley). + * Fix for PR rtl-optimization/{48830,48808,48792}, taken from the trunk. + LP: #807573. + * Fix PR tree-optimization/49169, optimisations strip the Thumb/ARM mode bit + off function pointers (Richard Sandiford). LP: #721531. + + [ Marcin Juszkiewicz ] + * Define DEB_TARGET_MULTIARCH macro. + * debian/rules2: Macro and configuration consolidation. + + -- Matthias Klose Thu, 14 Jul 2011 19:38:49 +0200 + +gcc-4.6 (4.6.1-3) unstable; urgency=medium + + * Update to SVN 20110709 (r176108) from the gcc-4_6-branch. + - Fix PR target/49335, PR tree-optimization/49618, PR c++/49598, + PR fortran/49479, PR target/49621, PR target/46779, PR target/49660, + PR c/49644, PR debug/49522, PR debug/49522, PR middle-end/49640, + PR c++/48157, PR c/49644, PR fortran/48926. + - Apparently fixes a boost issue. Closes: #632938. + * Apply proposed patch for PR fortran/49690. Closes: #631204. + + * README.Debian: New section 'Former and/or inactive maintainers'. + + -- Matthias Klose Sun, 10 Jul 2011 00:04:34 +0200 + +gcc-4.6 (4.6.1-2) unstable; urgency=medium + + * Update to SVN 20110705 (r175840) from the gcc-4_6-branch. + - Fix PR target/47997, PR c++/49528, PR c++/49440, PR c++/49418, + PR target/44643, PR tree-optimization/49615, PR tree-optimization/49572, + PR target/34734, PR tree-optimization/49539, PR tree-optimizations/49516, + PR target/49089, PR rtl-optimization/49014, PR target/48273, + PR fortran/49466, PR libfortran/49296, PR libffi/46660, PR debug/49262, + PR rtl-optimization/49472, PR rtl-optimization/49619, PR fortran/49623, + PR fortran/49540. + + [Ludovic Brenta, Євгеній Мещеряков, Xavier Grave] + * Adjust patches to GCC 4.6. + * Remove patches merged upstream: + - debian/patches/ada-arm-eabi.diff + - debian/patches/ada-bug589164.diff + - debian/patches/ada-bug601133.diff + - debian/patches/ada-gnatvsn.diff + - debian/patches/ada-mips.diff + - debian/patches/ada-polyorb-dsa.diff + + [Ludovic Brenta] + * debian/patches/ada-acats.diff: set LD_LIBRARY_PATH, ADA_INCLUDE_PATH + and ADA_OBJECTS_PATH so that the GNAT testsuite runs. + * debian/patches/adalibgnat{vsn,prj}.diff, + debian/rules.d/binary-ada.mk: install libgnat{vsn,prj}.so.* in the correct + multiarch directory. + * debian/control.m4, debian/rules.d/binary-ada.mk: move the SJLJ version + of the Ada run-time library to a new package, gnat-4.6-sjlj. + * debian/control.m4 (libgnatvsn4.6, libgnatvsn4.6-dbg, libgnatprj4.6, + libgnatprj4.6-dbg): pre-depend on multiarch-support and add + Multi-Arch: same. + + [Nicolas Boulenguez] + * debian/rules.d/binary-ada.mk: add gnathtml to the package gnat-4.6. + * debian/gnat.1: remove the version number of GCC. Mention gnathtml. + + [ Matthias Klose ] + * Do not install the spu and hppa64 cross compilers into the multiarch path. + * Update the Linaro support to 20110704. + + [ Thorsten Glaser ] + * Apply changes from src:gcc-4.4 for m68k support. Closes: #632380. + - debian/rules.defs: Remove m68k from locale_no_cpus. + - debian/patches/gcc-multiarch.diff: Add m68k multiarch_mappings. + - debian/patches/pr43804.diff: Fix backported from SVN. + - debian/rules.patch: Add pr43804. + + -- Matthias Klose Tue, 05 Jul 2011 10:45:56 +0200 + +gcc-4.6 (4.6.1-1) unstable; urgency=low + + * GCC 4.6.1 release. + + [Ludovic Brenta] + * debian/patches/ada-gnatvsn.diff, + debian/patches/ada-polyorb-dsa.diff: remove backports, no longer + needed. + + [ Matthias Klose ] + * Fix plugin header installation. Closes: #631082. + * Stop passing -Wno-error=unused-but-set-parameter and + -Wno-error=unused-but-set-variable if -Werror is present. + This was a temporary workaround introduced in 4.6.0~rc1-2. Closes: #615157. + * gcc-4.6-spu: Install the lto plugin. Closes: #631772. + + -- Matthias Klose Mon, 27 Jun 2011 13:54:04 +0200 + +gcc-4.6 (4.6.0-14) unstable; urgency=low + + * Update to SVN 20110616 (r175102) from the gcc-4_6-branch. + - Fix PR debug/48459, PR fortran/49103, PR rtl-optimization/49390, + PR c++/49117, PR c++/49369, PR c++/49290, PR target/44618, + PR tree-optimization/49419 (closes: #630567). + * Update the Linaro support to the 4.6-2011.06-0 release. + + -- Matthias Klose Thu, 16 Jun 2011 16:10:33 +0200 + +gcc-4.6 (4.6.0-13) unstable; urgency=low + + * Update to SVN 20110611 (r174958) from the gcc-4_6-branch. + * Extend multiarch support for mips/mipsel. + * Fix control files for gcj multiarch builds. + * Update libstdc++ symbols files. + + -- Matthias Klose Sat, 11 Jun 2011 20:49:42 +0200 + +gcc-4.6 (4.6.0-12) unstable; urgency=medium + + * Update to SVN 20110608 (r174800) from the gcc-4_6-branch. + - PR target/49186, PR rtl-optimization/49235, PR tree-optimization/48702, + PR tree-optimization/49243, PR c++/49134, PR target/49238, + PR gcov-profile/49299, PR c++/48780, PR c++/49298, PR fortran/49268. + * Fix c++ biarch header installation on i386. LP: #793411. + * Enable multiarch. + * Add multiarch attributes for gnat and libgnat packages. + * Add multiarch attributes for libgcj* packages. + * Adjust build dependency on multiarch glibc. + + -- Matthias Klose Wed, 08 Jun 2011 11:26:52 +0200 + +gcc-4.6 (4.6.0-11) unstable; urgency=low + + * Update to SVN 20110604 (r174637) from the gcc-4_6-branch. + - Fix PR c++/49165, PR tree-optimization/49218, PR target/45263, + PR target/43700, PR target/43995, PR tree-optimization/49217, + PR c++/49223, PR c++/47049, PR c++/47277, PR c++/48284, PR c++/48657, + PR c++/49176, PR fortran/48955, PR tree-optimization/49038, + PR tree-optimization/49093, PR middle-end/48985, PR middle-end/48953, + PR c++/49276, PR fortran/49265, PR fortran/45786. + * Configure the hppa64 and spu cross builds with --enable-plugin. + + -- Matthias Klose Sat, 04 Jun 2011 16:12:27 +0200 + +gcc-4.6 (4.6.0-10) unstable; urgency=high + + * Update to SVN 20110526 (r174290) from the gcc-4_6-branch. + - Fix PR target/44643, PR c++/49165, PR tree-optimization/49161, + PR target/49128, PR tree-optimization/44897, PR target/49133, + PR c++/44994, PR c++/49156, PR c++/45401, PR c++/44311, PR c++/44311, + PR c++/45698, PR c++/46145, PR c++/46245, PR c++/46696, PR c++/47184, + PR c++/48935, PR c++/45418, PR c++/45080, PR c++/48292, PR c++/49136, + PR c++/49042, PR c++/48884, PR c++/49105, PR c++/47263, PR c++/47336, + PR c++/47544, PR c++/48617, PR c++/48424, PR libstdc++/49141, + PR libobjc/48177. + * Proposed fix for PR tree-optimization/48702, PR tree-optimization/49144. + Closes: #627795. + * Proposed fix for PR fortran/PR48955. + * Add some conditionals to build the package on older releases. + + -- Matthias Klose Thu, 26 May 2011 16:00:49 +0200 + +gcc-4.6 (4.6.0-9) unstable; urgency=low + + * Update to SVN 20110524 (r174102) from the gcc-4_6-branch. + - Fix PR lto/49123, PR debug/49032, PR c/49120, PR middle-end/48973, + PR target/49104, PR middle-end/49029, PR c++/48647, PR c++/48945, + PR c++/48780, PR c++/49066, PR libstdc++/49058, PR target/49104. + * Use gcc-4.4 as the bootstrap compiler for kfreebsd to work around + a bootstrap issue. + + -- Matthias Klose Tue, 24 May 2011 09:41:35 +0200 + +gcc-4.6 (4.6.0-8) unstable; urgency=low + + * Update to SVN 20110521 (r173994) from the gcc-4_6-branch. + - Fix PR target/48986, PR preprocessor/48677, PR tree-optimization/48975, + PR tree-optimization/48822, PR debug/48967, PR debug/48159, + PR target/48857, PR target/48495, PR tree-optimization/48837, + PR tree-optimization/48611, PR tree-optimization/48794, PR c++/48859, + PR c++/48574, PR fortran/48889, PR target/49002, PR lto/48207, + PR tree-optimization/49039, PR tree-optimization/49018, PR lto/48703, + PR tree-optimization/48172, PR tree-optimization/48172, PR c++/48873, + PR tree-optimization/49000, PR c++/48869, PR c++/49043, PR c++/49082, + PR c++/48948, PR c++/48745, PR c++/48736, PR bootstrap/49086, + PR tree-optimization/49079, PR tree-optimization/49073. + * Update the Linaro support to the 4.6-2011.05-0 release. + * pr45979.diff: Update to the version from the trunk. + + -- Matthias Klose Sat, 21 May 2011 12:19:10 +0200 + +gcc-4.6 (4.6.0-7) unstable; urgency=low + + * Update to SVN 20110507 (r173528) from the gcc-4_6-branch. + - Fix PR middle-end/48597, PR c++/48656, PR fortran/48112, + PR fortran/48279, PR fortran/48788, PR tree-optimization/48809, + PR target/48262, PR fortran/48462, PR fortran/48746, + PR fortran/48810, PR fortran/48800, PR libstdc++/48760, + PR libgfortran/48030, PR preprocessor/48192, PR lto/48846, + PR target/48723, PR fortran/48894, PR target/48900, PR target/48252, + PR c++/40975, PR target/48252, PR target/48774, PR c++/48838, + PR c++/48749, PR ada/48844, PR fortran/48720, PR libstdc++/48750, + PR c++/48909, PR c++/48911, PR c++/48446, PR c++/48089. + + * Fix issue with volatile bitfields vs. inline asm memory constraints, + taken from the trunk, apply for ARM only. Addresses: #625825. + + -- Matthias Klose Sat, 07 May 2011 14:54:51 +0200 + +gcc-4.6 (4.6.0-6) unstable; urgency=low + + * Update to SVN 20110428 (r173059) from the gcc-4_6-branch. + - Fix PR c/48685 (closes: #623161), PR tree-optimization/48717, PR c/48716, + PR c/48742, PR debug/48768, PR tree-optimization/48734, + PR tree-optimization/48731, PR other/48748, PR c++/42687, PR c++/48726, + PR c++/48707, PR fortran/48588, PR libstdc++/48521, PR c++/48046, + PR preprocessor/48740. + * Update the ibm/gcc-4_6-branch to 20110428. + * Use gcc-4.6 as bootstrap compiler on kfreebsd-*. + + -- Matthias Klose Thu, 28 Apr 2011 10:33:52 +0200 + +gcc-4.6 (4.6.0-5) unstable; urgency=low + + * Update to SVN 20110421 (r172845) from the gcc-4_6-branch. + - Fix PR target/48288, PR tree-optimization/48611, PR lto/48148, + PR lto/48492, PR fortran/47976, PR c++/48594, PR c++/48657, + PR c++/46304, PR target/48708, PR middle-end/48695. + + * Update the Linaro support to the 4.6-2011.04-0 release. + + -- Matthias Klose Thu, 21 Apr 2011 22:50:25 +0200 + +gcc-4.6 (4.6.0-4) unstable; urgency=medium + + * Update to SVN 20110419 (r172584) from the gcc-4_6-branch. + - Fix PR target/48678, PR middle-end/48661, PR tree-optimization/48616, + PR lto/48538, PR c++/48537, PR c++/48632, PR testsuite/48675, + PR libstdc++/48635, PR libfortran/47571. + + [ Aurelien Jarno ] + * Enable SSP on mips/mipsel. + + [ Matthias Klose ] + * (Build-)depend on binutils 2.21.51. + + -- Matthias Klose Tue, 19 Apr 2011 23:45:16 +0200 + +gcc-4.6 (4.6.0-3) unstable; urgency=high + + * Update to SVN 20110416 (r172584) from the gcc-4_6-branch. + - Fix PR rtl-optimization/48143, PR target/48142, PR target/48349, + PR debug/48253, PR fortran/48291, PR target/16292, PR c++/48280, + PR c++/48212, PR c++/48369, PR c++/48281, PR c++/48265, PR lto/48246, + PR libstdc++/48398, PR bootstrap/48431, PR tree-optimization/48377, + PR debug/48343, PR rtl-optimization/48144, PR debug/48466, PR c/48517, + PR middle-end/48335, PR c++/48450, PR target/47829, PR c++/48534, + PR c++/48523, PR libstdc++/48566, PR libstdc++/48541, PR target/48366, + PR libstdc++/48465, PR middle-end/48591, PR target/48605, + PR middle-end/48591, PR target/48090, PR tree-optimization/48195, + PR rtl-optimization/48549, PR c++/48594, PR c++/48570, PR c++/48574, + PR fortran/48360, PR fortran/48456, PR libstdc++/48631, + PR libstdc++/48635, PR libstdc++/48476. + + [ Matthias Klose ] + * libjava-jnipath.diff: Add /usr/lib//jni as jnipath too. + * Add mudflap support for varargs (patch taken from the trunk). + * gcc-4.6-plugin-dev: Install gtype.state. + * Bootstrap with gcc-4.4 -g -O2 on armel. + * Fix linker plugin configuration. Closes: #620661. + * Update the Linaro support for GCC-4.6. + * gcc-snapshot builds: + - Fix build with multiarch changes. + - Use gcc-snapshot as the bootstrap compiler on armel. + - Re-enable building java in the gcc-snapshot package. + * Build supporting multiarch on wheezy/sid. + * Adjust (build)-dependency to new libgmp-dev name. + + [ Marcin Juszkiewicz ] + * Configure stage1 cross builds with --disable-libquadmath. + + -- Matthias Klose Sat, 16 Apr 2011 17:02:30 +0200 + +gcc-4.6 (4.6.0-2) unstable; urgency=low + + * Update to SVN 20110329 (r171700) from the gcc-4_6-branch. + - Fix PR bootstrap/48135, PR target/47553, PR middle-end/48269, + PR tree-optimization/48228, PR middle-end/48134, PR middle-end/48031, + PR other/48179, PR other/48221, PR other/48234, PR target/48237, + PR debug/48204, PR c/42544, PR c/48197, PR rtl-optimization/48141, + PR rtl-optimization/48141, PR c++/48166, PR c++/48296, PR c++/48289, + PR c++/47999, PR c++/48313, Core 1232, Core 1148, PR c++/47504, + PR c++/47570, PR preprocessor/48248, PR c++/48319. + + [ Matthias Klose ] + * Update NEWS files. + * Configure the hppa64 cross build with --disable-libquadmath. + * Don't build armhf from the Linaro branch. + * Don't try to build Go on sh4. + + [ Marcin Juszkiewicz ] + * Fixes issues with staged cross builds. LP: #741855, #741853. + * Fix libdir setting for multiarch enabled cross builds. LP: #741846. + * Drop alternatives for cross builds. LP: #676454. + + -- Matthias Klose Tue, 29 Mar 2011 23:22:07 +0200 + +gcc-4.6 (4.6.0-1) unstable; urgency=low + + * GCC 4.6.0 release. + + * Build the gold LTO plugin for ppc64 (Hiroyuki Yamamoto). Closes: #618865. + * Fix PR target/48226, Allow Iterator::vector vector on powerpc with VSX, + taken from the trunk. + * Fix PR target/47487 ICE building libgo, taken from the trunk. + * Merge multiarch changes from the gcc-4.5 package. + * Apply proposed patch to reduce the overhead of dwarf2 location tracking. + Addresses: #618748. + + -- Matthias Klose Sat, 26 Mar 2011 03:03:21 +0100 + +gcc-4.6 (4.6.0~rc1-3) experimental; urgency=low + + * GCC 4.6.0 release candidate 2. + + -- Matthias Klose Tue, 22 Mar 2011 22:11:42 +0100 + +gcc-4.6 (4.6.0~rc1-2) experimental; urgency=low + + [ Loic Minier ] + * Rework config/vxworks-dummy.h installation snippet to test + DEB_TARGET_GNU_CPU against patterns close to the upstream ones (arm% mips% + sh% sparc%) as to also install this header on other ports targetting the + relevant upstream CPUs such as armhf. Add a comment pointing at the + upstream bug. + * Update __aeabi symbol handling to test whether DEB_TARGET_GNU_TYPE matches + arm-linux-gnueabi% instead of testing whether DEB_TARGET_ARCH equals + armel. Add a comment pointing at the Debian bug and indicating that this + is only useful for older dpkg-dev versions. + * debian/rules.def: fix "armel" entry to "arm" in list of + DEB_TARGET_ARCH_CPUs for Debian experimental GCC 4.5/4.6 libraries. + * debian/rules2: drop commented out GCC #42509 workaround as this was fixed + upstream in 4.4+. + * Change bogus DEB_TARGET_GNU_CPU test on armel and armhf to just test for + arm as ths is what the Debian arm, armel and armhf port use. + * Rework snippet setting armv7 on Debian armhf / Ubuntu to avoid + duplication, as a comment called out for. + * Use "arm" instead of armel/armhf in DEB_TARGET_GNU_CPU test when deciding + whether to enable profiledbootstrap. + * Set DEJAGNU_TIMEOUT=600 on Ubuntu armhf as well. + * Fix a couple more uses of armel or armhf against DEB_TARGET_GNU_CPU. + * Patched a couple of comments mentioning armel to also mention armhf. + * Add patch armhf-triplet-backport, support for arm-linux-*eabi* backported + from a patch sent on the upstream mailing-list. + + [ Matthias Klose ] + * Update libstdc++ symbols files. + * Update libgfortran symbols files. + + -- Matthias Klose Sun, 20 Mar 2011 13:53:48 +0100 + +gcc-4.6 (4.6.0~rc1-2) experimental; urgency=low + + * Update to SVN 20110320 (r171192) from the gcc-4_6-branch. + + [ Matthias Klose ] + * Update gcc-default-ssp* patches for the release candidate. + * Pass -Wno-error=unused-but-set-parameter if -Werror is present (temporary + for rebuild tests). + * Always configure --with-plugin-ld, always install liblto_plugin.so. + + [ Marcin Juszkiewicz ] + * Add conflicts with -4.5-*dev packages. Closes: #618450. + + [ Petr Salinger] + * Disable lock-2.c test on kfreebsd-*. Closes: #618988. + * Re-enable parallel builds on kfreebsd. + * Package lto_plugin for kfreebsd-* and Hurd. + + -- Matthias Klose Sun, 20 Mar 2011 13:53:48 +0100 + +gcc-4.6 (4.6.0~rc1-1) experimental; urgency=low + + * Build from the GCC 4.6.0 release candidate tarball. + + [ Matthias Klose ] + * Disable Go on powerpc. Closes: #615827. + * Fix lintian errors for the -plugin-dev package. + * Update kbsd-gnu.diff (Petr Salinger). Closes: #615826. + * Disable parallel builds on kfreebsd (Petr Salinger). + * Update gmp (build) dependencies. + * Update GFDL compliant builds. Closes: #609161. + * For GFDL compliant builds, build a dummy s-tm-texi without access + to the texinfo sources. + + [ Aurelien Jarno ] + * Import symbol files for kfreebsd-amd64, kfreebsd-i386, sh4 and + sparc64 from gcc-4.5. + + -- Matthias Klose Mon, 14 Mar 2011 19:01:08 +0100 + +gcc-4.6 (4.6-20110227-1) experimental; urgency=low + + [ Matthias Klose ] + * Update libquadmath symbols file. + * gcc-4.6-plugin-dev: Install gengtype. + + [ Sebastian Andrzej Siewior ] + * Remove -many on powerpcspe (__SPE__). + * Remove classic FPU opcodes from libgcc if target has no support for them + (powerpcspe). + + -- Matthias Klose Sun, 27 Feb 2011 22:33:45 +0100 + +gcc-4.6 (4.6-20110216-1) experimental; urgency=low + + * GCC snapshot, taken from the trunk. + * Pass --no-add-needed by default to the linker. See + http://wiki.debian.org/ToolChain/DSOLinking, section "Not resolving symbols + in indirect dependent shared libraries" for more information. + + -- Matthias Klose Wed, 16 Feb 2011 23:55:32 +0100 + +gcc-4.6 (4.6-20110125-1) experimental; urgency=low + + * debian/copyright: Add unicode copyright for + libjava/classpath/resource/gnu/java/locale/* files. Addresses: #609161. + + -- Matthias Klose Wed, 26 Jan 2011 03:42:10 +0100 + +gcc-4.6 (4.6-20110123-1) experimental; urgency=low + + * GCC snapshot, taken from the trunk. + * Don't run the libstdc++ testsuite on mipsel, times out on the buildd. + + [ Marcin Juszkiewicz ] + * Fix biarch/triarch cross builds. + - dpkg-shlibdeps failed to find libraries for 64 or n32 builds + - LD_LIBRARY_PATH for dpkg-shlibdeps lacked host dirs. + + -- Matthias Klose Sun, 23 Jan 2011 12:14:49 +0100 + +gcc-4.6 (4.6-20110116-1) experimental; urgency=low + + * GCC snapshot, taken from the trunk. + * Update patches for the trunk. + * Pass -Wno-error=unused-but-set-variable if -Werror is present (temporary + for rebuild tests). + * Work around PR libffi/47248, force a read only eh frame section. + + -- Matthias Klose Sun, 16 Jan 2011 23:28:28 +0100 + +gcc-4.6 (4.6-20110105-1) experimental; urgency=low + + [ Matthias Klose ] + * Rename and update libobjc symbols files. + * Update cloog/ppl build dependencies. + * Adjust libstdc++ configure and paths for stylesheets and dtds. + * Update copyright for libquadmath, libgo, gcc/go/gofrontend. + * Enable Go for more architectures. + * DP: libgo: Fix GOARCH for i386 biarch, add GOARCH for powerpc + + [ Kees Cook ] + * Update hardening patches for GCC-4.6. LP: #696990. + + -- Matthias Klose Wed, 05 Jan 2011 22:29:57 +0100 + +gcc-4.6 (4.6-20101220-1) maverick; urgency=low + + * GCC snapshot, taken from the trunk. + + -- Matthias Klose Tue, 21 Dec 2010 00:16:19 +0100 + +gcc-4.5 (4.5.2-7) unstable; urgency=low + + * Update to SVN 20110323 (r171351) from the gcc-4_5-branch. + - Fix PR c++/47125, PR fortran/47348, PR libstdc++/48114, + PR libfortran/48066, PR target/48171, PR target/47862. + PR preprocessor/48192. + + [ Steve Langasek ] + * Make dpkg-dev versioned build-dependency conditional on whether we want + to build for multiarch. + * Add a new patch, gcc-multiarch+biarch.diff, used only when building for + multiarch to set our multilib paths to the correct relative directories. + * debian/rules.defs: support turning on multiarch build by architecture; + but don't enable this yet, we still need to wait for dpkg-dev. + * When DEB_HOST_MULTIARCH is available (i.e., with the next dpkg upload), + use it as our multiarch path. + * debian/rules.d/binary-java.mk: jvm-exports path is /usr/lib/jvm-exports, + not $(libdir)/jvm-exports. + * OTOH, libgcj_bc *is* in $(libdir). + * the spu build is not a multiarch build; look in the correct + non-multiarch directory. + * debian/rules2: pass --libdir also for stageX builds, needed in order to + successfully build for multiarch. + * debian/rules2: $(usr_lib) for a cross-build should not include the + multiarch dir as part of the path. + * debian/patches/gcc-multiarch+biarch.diff: restore the original intent of + the patch, namely, that the multilib dir for the default variant is + always equal to libdir (the multiarch dir), and we walk up the tree + to find lib for the secondary variant. + * debian/patches/gcc-multiarch+biarch32.diff: apply the same multilib + directory rewriting for biarch paths with multiarch as we do without; + still needed in the near term. + * Put our list of patches in README.Debian.$(DEB_TARGET_ARCH) instead of + in README.Debian, so that the individual files are architecture-neutral + and play nicely with multiarch. LP: #737846. + * Add a comment at the bottom of README.Debian with a pointer to the new + file listing the patches. + + [ Loic Minier ] + * Rework config/vxworks-dummy.h installation snippet to test + DEB_TARGET_GNU_CPU against patterns close to the upstream ones (arm% mips% + sh% sparc%) as to also install this header on other ports targetting the + relevant upstream CPUs such as armhf. Add a comment pointing at the + upstream bug. + * Update __aeabi symbol handling to test whether DEB_TARGET_GNU_TYPE matches + arm-linux-gnueabi% instead of testing whether DEB_TARGET_ARCH equals + armel. Add a comment pointing at the Debian bug and indicating that this + is only useful for older dpkg-dev versions. + * debian/rules.def: fix "armel" entry to "arm" in list of + DEB_TARGET_ARCH_CPUs for Debian experimental GCC 4.5/4.6 libraries. + * debian/rules2: drop commented out GCC #42509 workaround as this was fixed + upstream in 4.4+. + * Change bogus DEB_TARGET_GNU_CPU test on armel and armhf to just test for + arm as ths is what the Debian arm, armel and armhf port use. + * Rework snippet setting armv7 on Debian armhf / Ubuntu to avoid + duplication, as a comment called out for. + * Use "arm" instead of armel/armhf in DEB_TARGET_GNU_CPU test when deciding + whether to enable profiledbootstrap. + * Set DEJAGNU_TIMEOUT=600 on Ubuntu armhf as well. + * Fix a couple more uses of armel or armhf against DEB_TARGET_GNU_CPU. + * Patched a couple of comments mentioning armel to also mention armhf. + * Add patch armhf-triplet-backport, support for arm-linux-*eabi* backported + from a patch sent on the upstream mailing-list. + + [ Matthias Klose ] + * Fix PR target/48226, Allow Iterator::vector vector on powerpc with VSX, + taken from the trunk. + * Fix PR preprocessor/48192, make conditional macros not defined for + #ifdef, proposed patch. + * Build the gold LTO plugin for ppc64 (Hiroyuki Yamamoto). Closes: #618864. + * Fix issue with volatile bitfields, default to -fstrict-volatile-bitfields + again on armel for Linaro builds. LP: #675347. + + -- Matthias Klose Wed, 23 Mar 2011 15:44:01 +0100 + +gcc-4.5 (4.5.2-6) unstable; urgency=low + + * Update to SVN 20110312 (r170895) from the gcc-4_5-branch. + - Fix PR tree-optimization/45967, PR tree-optimization/47278, + PR target/47862, PR c++/44629, PR c++/45651, PR c++/47289, PR c++/47705, + PR c++/47488, PR libgfortran/47778, PR c++/48029. + + [ Steve Langasek ] + * Make sure our libs Pre-Depend on 'multiarch-support' when building for + multiarch. + * debian/patches/gcc-multiarch*, debian/rules.patch: use i386 in the + multiarch path for amd64 / kfreebsd-amd64, not i486 or i686. This lets + us use a common set of paths on both Debian and Ubuntu, regardless of + the target default optimization level. + * debian/rules.conf: when building for multiarch, we need to be sure we + are building against a libc-dev that supports the corresponding paths. + (the referenced version number for this needs to be bumped once this is + officially in the archive.) + + [ Matthias Klose ] + * Don't run the libmudflap testsuite on hppa; times out on the buildd. + * Don't run the libstdc++ testsuite on mipsel; times out on the buildd. + * Post Linaro 4.5-2011.03-0 release changes (up to 20110313). + * Undefine LINK_EH_SPEC before redefining it to turn off warnings on + powerpc. + * Update gmp (build) dependencies. + + [ Aurelien Jarno ] + * Add symbol files on kfreebsd-i386. + * Add symbol files on kfreebsd-amd64. + * Add symbol files on sparc64. + * Add symbol files on sh4. + + -- Matthias Klose Sun, 13 Mar 2011 17:30:48 +0100 + +gcc-4.5 (4.5.2-5) unstable; urgency=low + + * Update to SVN 20110305 (r170696) from the gcc-4_5-branch. + - Fix PR target/43810, PR fortran/47886, PR tree-optimization/47615, + PR middle-end/47639, PR tree-optimization/47890, PR libfortran/47830, + PR tree-optimization/46723, PR target/45261, PR target/45808, + PR c++/46159, PR c++/47904, PR fortran/47886, PR libstdc++/47433, + PR target/42240, PR fortran/47878, PR libfortran/47694. + * Update the Linaro support to the 4.5-2011.03-0 release. + - Fix LP: #705689, LP: #695302, LP: #710652, LP: #710623, LP: #721021, + LP: #721021, LP: #709453. + + -- Matthias Klose Sun, 06 Mar 2011 02:58:01 +0100 + +gcc-4.5 (4.5.2-4) unstable; urgency=low + + * Update to SVN 20110222 (r170382) from the gcc-4_5-branch. + - Fix PR target/43653, PR fortran/47775, PR target/47840, + PR libfortran/47830. + + [ Matthias Klose ] + * Don't apply a patch twice. + * Build libgcc_s with -fno-stack-protector, when not building from the + Linaro branch. + * Backport proposed fix for PR tree-optimization/46723 from the trunk. + + [ Steve Langasek ] + * debian/control.m4: add missing Multi-Arch: same for libgcc4; make sure + Multi-Arch: same doesn't get set for libmudflap when building an + Architecture: all cross-compiler package. + * debian/rules2: use $libdir for libiberty.a. + * debian/patches/gcc-multiarch-*.diff: make sure we're using the same + set_multiarch_path definition for all variants. + + [ Sebastian Andrzej Siewior ] + * PR target/44364 + * Remove -many on powerpcspe (__SPE__) + * Remove classic FPU opcodes from libgcc if target has no support for them + (powerpcspe) + + -- Matthias Klose Wed, 23 Feb 2011 00:35:54 +0100 + +gcc-4.5 (4.5.2-3) experimental; urgency=low + + * Update to SVN 20110215 (r170181) from the gcc-4_5-branch. + - Fix PR rtl-optimization/44469, PR tree-optimization/47411, + PR bootstrap/44699, PR target/44392, PR fortran/47331, PR fortran/47448, + PR pch/14940, PR rtl-optimization/47166, PR target/47272, PR target/47580, + PR tree-optimization/47541, PR target/44606, PR boehm-gc/34544, + PR fortran/47569, PR libstdc++/47709, PR libstdc++/46914, PR libffi/46661. + * Update the Linaro support to the 4.5 2011.02-0 release. + * Pass --no-add-needed by default to the linker. See + http://wiki.debian.org/ToolChain/DSOLinking, section "Not resolving symbols + in indirect dependent shared libraries" for more information. + + -- Matthias Klose Wed, 16 Feb 2011 15:29:26 +0100 + +gcc-4.5 (4.5.2-2) experimental; urgency=low + + * Update to SVN 20110123 (r169142) from the gcc-4_5-branch. + - Fix PR target/46915, PR target/46729, PR libgcj/46774, PR target/47038, + PR target/46685, PR target/45447, PR tree-optimization/46758, + PR tree-optimization/45552, PR tree-optimization/43023, + PR middle-end/46734, PR fortran/45338, PR preprocessor/39213, + PR target/43309, PR fortran/46874, PR tree-optimization/47286, + PR tree-optimization/44592, PR target/47201, PR c/47150, PR target/46880, + PR middle-end/45852, PR tree-optimization/43655, PR debug/46893, + PR rtl-optimization/46804, PR rtl-optimization/46865, PR target/41082, + PR tree-optimization/46864, PR fortran/45777, PR tree-optimization/47365, + PR tree-optimization/47167, PR target/47318, PR target/46655, + PR fortran/47394, PR libstdc++/47354. + + [ Matthias Klose ] + * Update the Linaro support to the 4.5 2011.01-1 release. + * Don't build packages now built from the gcc-4.6 package for architectures + with a sucessful gcc-4.6 build. + + [ Kees Cook ] + * debian/patches/gcc-default-ssp.patch: do not ignore -fstack-protector-all + (LP: #691722). + + [ Marcin Juszkiewicz ] + * Fix biarch/triarch cross builds. + - dpkg-shlibdeps failed to find libraries for 64 or n32 builds + - LD_LIBRARY_PATH for dpkg-shlibdeps lacked host dirs. + + -- Matthias Klose Sun, 23 Jan 2011 11:54:52 +0100 + +gcc-4.5 (4.5.2-1) experimental; urgency=low + + * GCC 4.5.2 release. + + -- Matthias Klose Sat, 18 Dec 2010 14:14:38 +0100 + +gcc-4.5 (4.5.1-12) experimental; urgency=low + + * Update to SVN 20101129 (r167272) from the gcc-4_5-branch. + - Fix PR fortran/45742, PR tree-optimization/46498, PR target/45807, + PR target/44266, PR rtl-optimization/46315, PR tree-optimization/44545, + PR tree-optimization/46491, PR rtl-optimization/46571, PR target/31100, + PR c/46547, PR fortran/46638, PR tree-optimization/46675, PR debug/46258, + PR ada/40777. + + [ Matthias Klose ] + * Use lib instead of lib64 as the 64bit system dir on biarch + architectures defaulting to 64bit. Closes: #603597. + * Fix powerpc and s390 builds when biarch is disabled. + * Backport PR bootstrap/44768, miscompilation of dpkg on ARM + with -O2 (Chung-Lin Tang). LP: #674146. + * Update libgcc2 symbols file. Closes: #602099. + + [ Marcin Juszkiewicz ] + * Do not depend on target mpfr and zlib -dev packages for cross builds. + LP: #676027. + + [ Konstantinos Margaritis ] + * Add support for new target architecture `armhf'. Closes: #603948. + + -- Matthias Klose Mon, 22 Nov 2010 08:12:08 +0100 + +gcc-4.5 (4.5.1-11) experimental; urgency=low + + * Update to SVN 20101114 (r166728) from the gcc-4_5-branch. + - Fix PR fortran/45742. + * Don't hardcode debian/patches when referencing patches. Closes: #600502. + + -- Matthias Klose Sun, 14 Nov 2010 08:36:27 +0100 + +gcc-4.5 (4.5.1-10) experimental; urgency=low + + * Update to SVN 20101112 (r166653) from the gcc-4_5-branch. + - Fix PR rtl-optimization/44691, PR tree-optimization/46355, + PR tree-optimization/46177, PR c/44772, PR tree-optimization/46099, + PR middle-end/43690, PR tree-optimization/46165, PR middle-end/46419, + PR tree-optimization/46107, PR tree-optimization/45314, PR debug/45939, + PR rtl-optimization/46237, PR middle-end/44569, PR middle-end/44569, + PR tree-optimization/45902, PR target/46153, PR rtl-optimization/46226, + PR tree-optimization/46167, PR target/46098, PR target/45946, + PR fortran/42169, PR middle-end/46019, PR c/45969, PR c++/45894, + PR c++/46160, PR c++/45983, PR fortran/46152, PR fortran/46140, + PR libstdc++/45999, PR libgfortran/46373, PR libgfortran/46010, + PR fortran/46007, PR c++/46024. + * Update the Linaro support to the 4.5 2010.11 release. + * Update gcc-4.5 source dependencies. Closes: #600503. + * ARM: Fix Thumb-1 reload ICE with nested functions (Julian Brown), + taken from the trunk. + * Fix earlyclobbers on some arm.md DImode shifts (may miscompile "x >> 1"), + taken from the trunk. Closes: #600888. + + -- Matthias Klose Fri, 12 Nov 2010 18:34:47 +0100 + +gcc-4.5 (4.5.1-9) experimental; urgency=low + + * Update to SVN 20101014 (r165474) from the gcc-4_5-branch. + - Fix PR target/45820, PR tree-optimization/45854, PR target/45843, + PR target/43764, PR rtl-optimization/43358, PR bootstrap/44621, + PR libffi/45677, PR middle-end/45869, PR middle-end/45569, + PR tree-optimization/45752, PR fortran/45748, PR libstdc++/45403, + PR libstdc++/45924, PR libfortran/45710, PR bootstrap/44455, + PR java/43839, PR debug/45656, PR debug/44832, PR libstdc++/45711, + PR tree-optimization/45982. + + [ Matthias Klose ] + * Update the Linaro support to the 4.5 2010.10 release. + * Just try to build java on mips/mipsel (was disabled in 4.5.0-9, when + java was built from the same source package). Addresses: #599976. + * Remove the gpc packaging support. + * Fix libmudflap.so symlink. Addresses: #600161. + * Fix pch test failures with heap randomization on armel (PR pch/45979). + + [ Kees Cook ] + * Don't enable -fstack-protector with -ffreestanding. + + -- Matthias Klose Thu, 14 Oct 2010 19:17:41 +0200 + +gcc-4.5 (4.5.1-8) experimental; urgency=low + + * Update to SVN 20100925 (r164618) from the gcc-4_5-branch. + - Fix PR middle-end/44763, PR java/44095, PR target/35664, + PR rtl-optimization/41085, PR rtl-optimization/45051, + PR target/45694, PR middle-end/45678, PR middle-end/45678, + PR middle-end/45704, PR rtl-optimization/45728, PR libfortran/45532, + PR rtl-optimization/45695, PR rtl-optimization/42775, PR target/45726, + PR tree-optimization/45623, PR tree-optimization/45709, PR debug/43628, + PR tree-optimization/45709, PR rtl-optimization/45593, PR fortran/45081, + * Find 32bit system libraries on sparc64, s390x. + * Remove README.Debian from the source package to avoid confusion for + readers of the packaging. + * Don't include info files and man pages in hppa64 and spu builds. + Closes: #597435. + * Apply proposed patch for PR mudflap/24619 (instrumentation of dlopen) + (Brian M. Carlson) Closes: #507514. + + -- Matthias Klose Sat, 25 Sep 2010 14:11:39 +0200 + +gcc-4.5 (4.5.1-7) experimental; urgency=low + + * Update to SVN 20100914 (r164279) from the gcc-4_5-branch. + - Fix PR target/40959, PR middle-end/45567, PR debug/45660, + PR rtl-optimization/41087, PR rtl-optimization/44919, PR target/36502, + PR target/42313, PR target/44651. + * Add support to build from the Linaro 4.5 2010.09 release. + * gcc-4.5-plugin-dev: Install config/arm/arm-cores.def. + * Remove non-existing URL's in README.c++ (Osamu Aoki). Closes: #596406. + * Don't provide c++abi2-dev for g++ cross builds. + * Don't pass -mimplicit-it=thumb if -mthumb to as on ARM, rejected upstream. + + -- Matthias Klose Tue, 14 Sep 2010 12:52:34 +0200 + +gcc-4.5 (4.5.1-6) experimental; urgency=low + + * Update to SVN 20100909 (r164132) from the gcc-4_5-branch. + - Fix PR middle-end/45312, PR bootstrap/43847, PR middle-end/44554, + PR middle-end/40386, PR other/45443, PR c++/45200, PR c++/45293, + PR c++/45558, PR fortran/45595, PR fortran/45530, PR fortran/45489, + PR fortran/45019, PR libstdc++/45398. + + [ Matthias Klose ] + * Tighten binutils dependencies to 2.20.1-14. + + [ Marcin Juszkiewicz ] + * Fix the gcc-4.5-plugin-dev package name for cross builds. LP: #631474. + * Build the gcc-4.5-plugin-dev for stage1 cross builds. + * Fix priorities and sections for some cross packages. + + [ Al Viro ] + * Fix installation of libgcc_s.so as a linker script for biarch builds. + + [ Kees Cook ] + * Push glibc stack traces into stderr when building the package. + * debian/patches/gcc-default-ssp.patch: Lower ssp-buffer-size to 4. + + -- Matthias Klose Fri, 10 Sep 2010 21:25:37 +0200 + +gcc-4.5 (4.5.1-5) experimental; urgency=low + + * Always add dependencies on multilib library packages in *-multilib + packages. + * Fix installation of libgcc_s.so on architectures when libgcc_s.so is + a linker script, not a symlink (Steve Langasek). Closes: #595474. + * Remove the lib32gcc1 preinst script. Closes: #595495. + + -- Matthias Klose Sat, 04 Sep 2010 12:41:40 +0200 + +gcc-4.5 (4.5.1-4) experimental; urgency=low + + * Update to SVN 20100903 (r163833) from the gcc-4_5-branch. + - Fix PR target/45070, PR middle-end/45458, PR rtl-optimization/45353, + PR middle-end/45423, PR c/45079, PR tree-optimization/45393, + PR c++/44991, PR middle-end/45484, PR debug/45500, PR lto/45496. + + [ Matthias Klose ] + * Install config/vxworks-dummy.h in the gcc-4.5-plugin-dev package + on armel, mipsel and sparc64 too. + * Cleanup packaging files in gcc-source package. + * [ARM] Provide __builtin_expect() hints in linux-atomic.c (backport). + + [ Al Viro ] + * Fix builds with disabled biarch library packages. + * New variables {usr_lib,gcc_lib_dir,libgcc_dir}{,32,64,n32}, and switch + to using them in rules.d/*; as the result, most of the explicit pathnames + in there are gone _and_ we get uniformity across different flavours. + * New variables {usr_lib,gcc_lib_dir,libgcc_dir}{,32,64,n32}, and switch + to using them in rules.d/*; as the result, most of the explicit pathnames + in there are gone _and_ we get uniformity across different flavours. + * Merge bi-/tri-arch stuff in binary-gcc.mk. + * Merge rules for libgcc biarch variants. + * Merge rules for libstdc++ biarch variants. Fix n32 variant of + libstdc++-dbg removing _pic.a from the wrong place. + * Merge libgfortran rules. + * Merge rules for cxx-multi and objc-multi packages. + * Enable gcc-hppa64 in cross-gcc-to-hppa build. + + [ Marcin Juszkiewicz ] + * Create libgcc1 and gcc-*-base packages for stage2 cross builds. + LP: #628855. + + -- Matthias Klose Fri, 03 Sep 2010 18:09:40 +0200 + +gcc-4.5 (4.5.1-3) experimental; urgency=low + + * Update to SVN 20100829 (r163627) from the gcc-4_5-branch. + - Fix PR target/45327, PR middle-end/45292, PR fortran/45344, + PR target/41484, PR rtl-optimization/44858, PR rtl-optimization/45400, + PR tree-optimization/45260, PR c++/45315. + + [ Matthias Klose ] + * Don't run the libstdc++ testsuite on armel on the buildds. + * Integrate and extend bi/tri-arch cross builds patches. + * Fix dependencies for mips* triarch library packages depend on *both* lib64* + and libn32* packages. Closes: #594540. + * Tighten binutils dependencies to 2.20.1-13. + * Update LAST_UPDATED file when applying upstream updates. + + [ Al Viro ] + * Bi/tri-arch cross builds patches. + * Fix installation paths in bi/tri-arch libobjc and libmudflap packages. + * Merge rules for all flavours of libgomp, libmudflap, libobjc. + * Crossbuild fix for lib32gomp (use $(PFL)/lib32 instead of $(lib32)). + * gcc-4.5: libgcc_s.so.1 symlink creation on cross-builds. + * Enable gcc-multilib for cross-builds and fix what needs fixing. + * Enable g++-multilib for cross-builds, fix pathnames. + * Enable gobjc/gobjc++ multilib for cross-builds, fixes. + * Enable gfortran multilib for cross-builds, fix paths. + * Multilib dependency fixes for cross-builds. + + -- Matthias Klose Sun, 29 Aug 2010 18:24:37 +0200 + +gcc-4.5 (4.5.1-2) experimental; urgency=low + + * Update to SVN 20100818 (r163323) from the gcc-4_5-branch. + - Fix PR target/41089, PR tree-optimization/44914, PR c++/45112, + PR fortran/44929, PR middle-end/45262, PR debug/45259, PR debug/45055, + PR target/44805, PR middle-end/45034, PR tree-optimization/45109, + PR target/44942, PR fortran/31588, PR fortran/43954, PR fortran/44660, + PR fortran/42051, PR fortran/44064, PR fortran/45151, PR libstdc++/44963, + PR tree-optimization/45241, PR middle-end/44632 (closes: #585925), + PR libstdc++/45283, PR target/45296. + + [ Matthias Klose ] + * Allow overwriting of the PF macro used in the build from the environment + (Jim Heck). Closes: #588381. + * Fix libc-dbg build dependency for java enabled builds. Addresses: #591424. + * gcj: Align data in .rodata.jutf8.* sections, patch taken from the trunk. + * Configure with --enable-checking+release. LP: #612822. + * Add the complete packaging to the -source package. LP: #608650. + * Drop the gcc-ix86-asm-generic32.diff patch. + * Tighten (build-) dependency on cloog-ppl (>= 0.15.9-2). + * Apply proposed patch for PR middle-end/45292. + * Re-enable running the libstdc++ testsuite on armel and ia64 on the buildds. + + [ Steve Langasek ] + * s,/lib/,/$(libdir)/, throughout debian/rules*; a no-op in the current + case, but required for us to find the libraries when building for + multiarch + * Don't append multiarch paths to any multilib paths except for the default; + our biarch (multilib) builds need to remain independent of multiarch in + the near term, so we want to make sure we can find /usr/lib32 without + /usr/lib/i486-linux-gnu being available. + * debian/control.m4, debian/rules.conf: conditionally set packages to be + Multi-Arch: yes when MULTIARCH is defined. + + [ Marcin Juszkiewicz ] + * Allow building intermediate stages for cross builds. LP: #603497. + + -- Matthias Klose Wed, 18 Aug 2010 07:00:12 +0200 + +gcc-4.5 (4.5.1-1) experimental; urgency=low + + * GCC-4.5.1 release. + * Update to SVN 20100731 (r162781) from the gcc-4_5-branch. + - Fix PR tree-optimization/45052, PR target/43698. + * Apply proposed fixes for PR c++/45112, PR c/45079. + * Install config/vxworks-dummy.h in the gcc-4.5-plugin-dev package + on armel, mips, mipsel, sh4, sparc, sparc64. Closes: #590054. + * Link executables statically when `static' is passed in DEB_BUILD_OPTIONS + (Jim Heck). Closes: #590102. + * Stop building java packages from the gcc-4.5 source package. + + -- Matthias Klose Sat, 31 Jul 2010 16:30:20 +0200 + +gcc-4.5 (4.5.0-10) experimental; urgency=low + + * Update to SVN 20100725 (r162508) from the gcc-4_5-branch. + - Fix PR tree-optimization/45047, PR c++/43016, PR c++/45008. + * Disable building gcj/libjava on mips/mipsel (fails to link libgcj). + * Update libstdc++6 symbols files. + + -- Matthias Klose Sun, 25 Jul 2010 16:39:11 +0200 + +gcc-4.5 (4.5.0-9) experimental; urgency=low + + * Update to SVN 20100723 (r162448) from the gcc-4_5-branch (post + GCC-4.5.1 release candidate 1). + - Fix PR debug/45015, PR target/44942, PR tree-optimization/44900, + PR tree-optimization/44977, PR c++/44996, PR fortran/44929, + PR fortran/30668, PR fortran/31346, PR fortran/34260, + PR fortran/40011. + + [ Marcin Juszkiewicz ] + * Fix dependencies on cross library packages. + * Copy all debian/rules* files to the -source package. + + [ Matthias Klose ] + * Fix versioned build dependency on gcc-4.x-source package for cross builds. + LP: #609060. + * Set Vcs attributes in control file. + + -- Matthias Klose Fri, 23 Jul 2010 13:08:07 +0200 + +gcc-4.5 (4.5.0-8) experimental; urgency=low + + * Update to SVN 20100718 (r161892) from the gcc-4_5-branch. + - Fixes: PR target/44531, PR bootstrap/44820, PR target/44597, + PR target/44705, PR middle-end/44777, PR debug/44694, PR c++/44039, + PR tree-optimization/43801, PR target/44575, PR debug/44104, + PR middle-end/44671, PR middle-end/44686, PR tree-optimization/44357, + PR debug/44694, PR middle-end/43866, PR debug/42278, PR c++/44059, + PR tree-optimization/43905, PR middle-end/44133, PR tree-optimize/44063, + PR tree-optimization/44683, PR rtl-optimization/43332, PR debug/44610, + PR middle-end/44684, PR tree-optimization/44393, PR middle-end/44674, + PR c++/44628, PR c++/44587, PR fortran/44582, PR fortran/43841, + PR fortran/43843, PR libstdc++/44708, PR tree-optimization/44886, + PR target/43888, PR tree-optimization/44284, PR middle-end/44828, + PR middle-end/41355, PR c++/44703, PR ada/43731, PR fortran/44773, + PR fortran/44847. + + [ Marcin Juszkiewicz ] + * debian/rules2: Merge rules.d includes. + * Properly -name -dbg packages for cross builds. + * Various cross build fixes. + * Build libmudflap packages for cross builds. + * Fix generation of maintainer scripts for cross packages. + * Build a gcc-base package for cross builds. + + [ Kees Cook ] + * Fix additional libstdc++ testsuite failures for hardening defaults. + + [ Samuel Thibault ] + * Update hurd patch for 4.5, fixing build failure. Closes: #584819. + + [ Matthias Klose ] + * gcc-arm-implicit-it.diff: Only pass -mimplicit-it=thumb when in + thumb mode (Andrew Stubbs). + + -- Matthias Klose Sun, 18 Jul 2010 10:53:51 +0200 + +gcc-4.5 (4.5.0-7) experimental; urgency=low + + * Update to SVN 20100625 (r161383) from the gcc-4_5-branch. + - Fixes: PR bootstrap/44426, PR target/44546, PR target/44261, + PR target/43740, PR libstdc++/44630 (closes: #577458), + PR c++/44627 (LP: #503668), PR target/39690, PR target/44615, + PR fortran/44556, PR c/44555. + - Update libstdc++'s pretty printer for python2.6. Closes: #585202. + + [ Matthias Klose ] + * Fix libstdc++ symbols files for powerpc and sparc. + * Add maintainer scripts for cross packages. + + [ Samuel Thibault ] + * Update hurd patch for 4.5, fixing build failure. Closes: #584454, + #584819. + + [ Marcin Juszkiewicz ] + * Merge the rules.d/binary-*-cross.mk files into rules.d/binary-*.mk. + + -- Matthias Klose Fri, 25 Jun 2010 15:57:38 +0200 + +gcc-4.5 (4.5.0-6) experimental; urgency=low + + [ Matthias Klose ] + + * Update to SVN 20100617 (r161901) from the gcc-4_5-branch. Fixes: + PR target/44169, PR bootstrap/43170, PR objc/35996, PR objc++/32052, + PR objc++/23716, PR lto/44464, PR rtl-optimization/42461, PR fortran/44536, + PR tree-optimization/44258, PR tree-optimization/44423, PR target/44534, + PR bootstrap/44426, PR tree-optimization/44508, PR tree-optimization/44507, + PR lto/42776, PR target/44481, PR debug/41371, PR bootstrap/37304, + PR target/44067, PR debug/41371, PR debug/41371, PR target/44075, + PR c++/44366, PR c++/44401, PR fortran/44347, PR fortran/44430, + PR lto/42776, PR libstdc++/44487, PR other/43838, PR libgcj/44216. + * debian/patches/cross-fixes.diff: Update for 4.5 (Marcin Juszkiewicz). + * debian/patches/libstdc++-pic.diff: Fix installation for cross builds. + * Fix PR bootstrap/43847, --enable-plugin for cross builds. + * Export long double versions of "C" math library for arm-linux-gnueabi, + m68k-linux-gnu (ColdFire), mips*-linux-gnu (o32 ABI), sh*-linux-gnu + (not 32 bit). Merge the libstdc++-*-ldbl-compat.diff patches. + * Merge binary-libgcc.mk packaging changes into binary-libgcc-cross.mk + (Loic Minier). + * Update libgcc and libstdc++ symbols files. + + [ Aurelien Jarno ] + + * libstdc++-mips-ldbl-compat.diff: On MIPS provide the long double + versions of "C" math functions in libstdc++ as we need to keep the + ABI. Closes: #584610. + + -- Matthias Klose Thu, 17 Jun 2010 14:56:14 +0200 + +gcc-4.5 (4.5.0-5) experimental; urgency=low + + * Update to SVN 20100602 (r160097) from the gcc-4_5-branch. Fixes: + PR target/44338, PR middle-end/44337, PR tree-optimization/44182, + PR target/44161, PR c++/44358, PR fortran/44360, PR lto/44385. + * Fix PR target/44261, taken from the trunk. Closes: #582787. + * Fix passing the expanded -iplugindir option. + * Disable broken profiled bootstrap on alpha. + * On ix86, pass -mtune=generic32 in 32bit mode to the assembler, when + configured for i586-linux-gnu or i686-linux-gnu. + + -- Matthias Klose Thu, 03 Jun 2010 00:44:37 +0200 + +gcc-4.5 (4.5.0-4) experimental; urgency=low + + * Update to SVN 20100527 (r160047) from the gcc-4_5-branch. Fixes: + PR rtl-optimization/44164, PR middle-end/44069, PR target/44199, + PR lto/44196, PR target/43733, PR target/44245, PR target/43869, + PR debug/44223, PR tree-optimization/44038, PR tree-optimization/43949, + PR debug/44205, PR debug/44178, PR bootstrap/43870, PR target/44202, + PR target/44074, PR lto/43455, PR lto/42653, PR lto/42425, PR lto/43080, + PR lto/43946, PR c++/43382, PR c++/41510, PR c++/44193, PR c++/44157, + PR c++/44158, PR lto/44256, PR libstdc++/44190, PR lto/44312, + PR target/43636, PR target/43726, PR c++/43555PR libstdc++/40497. + + [ Matthias Klose ] + + * Enable multilibs again on powerpcspe. Closes: #579780. + * Fix setting CC for REVERSE_CROSS build (host == target,host != build). + Closes: #579779. + * Fix setting biarch_cpu macro. + * Don't bother with un-normalized paths in .la files, just remove them. + * debian/locale-gen: Update locales needed for the libstdc++-v3 testsuite. + * If libstdc++6 is built from newer gcc-4.x source, run the libstdc++-v3 + testsuite against the installed lib too. + * Configure with --enable-secureplt on powerpcspe. + + [ Aurelien Jarno ] + + * Fix $(distrelease) on non-official archives. Fix powerpcspe, sh4 and + sparc64 builds. + + -- Matthias Klose Sun, 30 May 2010 12:52:02 +0200 + +gcc-4.5 (4.5.0-3) experimental; urgency=low + + * Update to SVN 20100519 (r159556) from the gcc-4_5-branch. Fixes: + PR c++/43704, PR fortran/43339, PR middle-end/43337, PR target/43635, + PR tree-optimization/43783, PR tree-optimization/43796, PR middle-end/43570, + PR libgomp/43706, PR libgomp/43569, PR middle-end/43835, PR c/43893, + PR tree-optimization/43572, PR tree-optimization/43845, PR libgcj/40860, + PR target/43744, PR debug/43370, PR c++/43880, PR middle-end/43671, + PR debug/43972, PR target/43921, PR c++/38064, PR c++/43953, + PR fortran/43985, PR fortran/43592, PR fortran/40539, PR c++/43787, + PR middle-end/44085, PR middle-end/44071, PR middle-end/43812, + PR debug/44028, PR rtl-optimization/44012, PR target/44046, + PR documentation/44016, PR fortran/44036, PR fortran/40728, + PR libstdc++/44014, PR lto/44184, PR bootstrap/42347, PR middle-end/44102, + PR c++/44127, PR debug/44136, PR target/44088, PR tree-optimization/44124, + PR fortran/43591, PR fortran/44135, PR libstdc++/43259. + + [ Matthias Klose ] + * Revert gcj-arm-no-merge-exidx-entries patch, fixed by PR libgcj/40860. + * Don't run the libstdc++-v3 testsuite on the ia64 buildds. Timeouts. + * Backport two libjava fixes from the trunk to run josm with gcj. + * Ubuntu only: + - Pass --hash-style=gnu instead of --hash-style=both to the linker. + * Preliminary architecture port for powerpcspe (Kyle Moffett). + Closes: #579780. + * Update configury to be able to target i686 instead of i486 on i386. + + [ Aurelien Jarno] + * Don't link with --hash-style=both on mips/mipsel as GNU hash is not + compatible with the MIPS ABI. + * Default to -mplt on mips(el), -march=mips2 and -mtune=mips32 on 32-bit + mips(el), -march=mips3 and -mtune=mips64 on 64-bit mips(el). + + -- Matthias Klose Wed, 19 May 2010 09:48:20 +0200 + +gcc-4.5 (4.5.0-2) experimental; urgency=low + + * Update to SVN 20100419 from the gcc-4_5-branch. + - Fix PR tree-optimization/43627, c++/43641, PR c++/43621, PR c++/43611, + PR fortran/31538, PR fortran/30073, PR target/43662, + PR tree-optimization/43572, PR tree-optimization/43771. + * Install the linker plugin. + * Search the linker plugin as a readable, not an executable file. + * Link with --hash-style=both on mips/mipsel. + * On mips, pass -mfix-loongson2f-nop to as, if -mno-fix-loongson2f-nop + is not passed. + * Sequel to PR40521, fix -g to generate .eh_frame on ARM. + * On ARM, let gcj pass --no-merge-exidx-entries to the linker. + * Build-depend/depend on binutils snapshot. + * Update NEWS.html and NEWS.gcc. + + -- Matthias Klose Mon, 19 Apr 2010 15:22:55 +0200 + +gcc-4.5 (4.5.0-1) experimental; urgency=low + + * GCC 4.5.0 release. + * Always apply biarch patches. + * Build the lto-linker plugin again. Closes: #575448. + * Run the libstdc++v3 testsuite on armel again. + * Fix --enable-libstdcxx-time documentation, show configure result. + * On linux targets always pass --no-add-needed to the linker. + * Update the patch to search for plugins in a default plugin directory. + * Fix java installations in snapshot builds. + * Configure --with-plugin-ld=ld.gold. + * Linker selection: ld is used by default, to use the gold linker, + pass -fuse-linker-plugin (no other side effects if -flto/-fwhopr + is not passed). To force ld.bfd or ld.gold, pass -B/usr/lib/compat-ld + for ld.bfd or /usr/lib/gold-ld for ld.gold. + * Don't apply the gold-and-ld patch for now. + * Stop building the documentation for dfsg compliant builds. Closes: #571759. + + -- Matthias Klose Wed, 14 Apr 2010 13:29:20 +0200 + +gcc-4.5 (4.5-20100404-1) experimental; urgency=low + + * Update to SVN 20100404 from the trunk. + * Fix build failures building cross compilers configure --with-ld. + * lib32gcc1: Set priority to `extra'. + * Apply proposed patch to search for plugins in a default plugin directory. + * In snapshot builds, use for javac/ecj1 the jvm provided by the package. + * libstdc++-arm-ldbl-compat.diff: On ARM provide the long double versions + of "C" math functions in libstdc++; these are dropped when built + against glibc-2.11. + + -- Matthias Klose Sun, 04 Apr 2010 15:51:25 +0200 + +gcc-4.5 (4.5-20100321-1) experimental; urgency=low + + * Update to SVN 20100321 from the trunk. + * gcj-4.5-jre-headless: Stop providing java-virtual-machine. + * gcj-4.5-plugin-dev: Don't suggest mudflap packages. + * Apply proposed patch to enable both gold and ld in a single toolchain. + New option -fuse-ld=ld.bfd, -fuse-ld=gold. + + -- Matthias Klose Sun, 21 Mar 2010 11:45:48 +0100 + +gcc-4.5 (4.5-20100227-1) experimental; urgency=low + + * Update to SVN 20100227 from the trunk. + * Don't run the libstdc++-v3 testsuite on arm*-*-linux-gnueabi, when + defaulting to thumb mode (Timeouts on the Ubuntu buildd). + + -- Matthias Klose Sat, 27 Feb 2010 08:29:55 +0100 + +gcc-4.5 (4.5-20100222-1) experimental; urgency=low + + * Update to SVN 20100222 from the trunk. + - Install additional header files needed by plugins. Closes: #562881. + * gcc-4.5-plugin-dev: Should depend on libgmp3-dev. Closes: #566366. + * Update libstdc++6 symbols files. + + -- Matthias Klose Tue, 23 Feb 2010 02:16:22 +0100 + +gcc-4.5 (4.5-20100216-0ubuntu1~ppa1) lucid; urgency=low + + * Update to SVN 20100216 from the trunk. + * Don't call dh_makeshlibs with -V for shared libraries with + symbol files. + * Don't run the libstdc++-v3 testsuite in thumb mode on armel + to work around buildd timeout (see PR target/42509). + + -- Matthias Klose Wed, 17 Feb 2010 02:06:02 +0100 + +gcc-4.5 (4.5-20100204-1) experimental; urgency=low + + * Update to SVN 20100204 from the trunk. + + -- Matthias Klose Thu, 04 Feb 2010 19:44:19 +0100 + +gcc-4.5 (4.5-20100202-1) experimental; urgency=low + + * Update to SVN 20100202 from the trunk. + - gcc-stack_chk_fail-check.diff: Remove, applied upstream. + * Update libstdc++6 symbol files. + * Build gnat in snapshot builds on arm. + * Configure with --enable-checking=yes for snapshot builds, and for + 4.5 builds before the release. + * Temporary workaround: On arm-linux-gnueabi run the libstdc++v3 testsuite + with -Wno-abi. + * When building the hppa64 cross compiler, add $(builddir)/gcc to + LD_LIBRARY_PATH to find the just built libgcc6. Closes: #565862. + * On sh4-linux, use sh as java architecture name instead of sh4. + * On armel, build gnat-4.5 using gcc-snapshot. + * Revert the bump of the libgcc soversion on hppa (6 -> 4). + + -- Matthias Klose Tue, 02 Feb 2010 19:35:25 +0100 + +gcc-4.5 (4.5-20100107-1) experimental; urgency=low + + [ Matthias Klose ] + * Update to SVN 20100107 from the trunk. + * Revert the workaround for the alpha build (PR bootstrap/42511 is fixed). + * testsuite-hardening-format.diff: Add a fix for the libstdc++ testsuite. + * Build-depend again on autogen. + * Work around PR lto/41569 (installation bug when configured with + --enabled-gold). + * On armel run the testsuite both in arm and thumb mode, when the + distribution is supporthing tumb processors. + * Work around PR target/42509 (armel), not setting BOOT_CFLAGS, but + applying libcpp-arm-workaround.diff. + + [ Nobuhiro Iwamatsu ] + * Update gcc-multiarch patch for sh4. + + -- Matthias Klose Thu, 07 Jan 2010 16:34:57 +0100 + +gcc-4.5 (4.5-20100106-0ubuntu1) lucid; urgency=low + + * Update to SVN 20100106 from the trunk. + * gcj-4.5-jdk: Include /usr/lib/jvm-exports. + * Rename libgcc symbols file for hppa. + * On alpha and armel, set BOOT_CFLAGS to -g -O1 to work around bootstrap + failures (see PR target/42509 (armel) and PR bootstrap/42511 (alpha)). + * Base the source build-dependency on the package version instead of the + gcc version. + + -- Matthias Klose Wed, 06 Jan 2010 14:17:29 +0100 + +gcc-4.5 (4.5-20100103-1) experimental; urgency=low + + * Update to SVN 20100103 from the trunk. + + [ Samuel Thibault ] + * Update hurd patch for 4.5. Closes: #562802. + + [ Aurelien Jarno ] + * Remove patches/kbsd-gnu-ada.diff (merged upstream). + + [ Matthias Klose ] + * libgcj11: Move .so symlinks into gcj-4.5-jdk. Addresses: #563280. + * gcc-snapshot: On sparc64, use gcc-snapshot as bootstrap compiler. + * Don't use expect-tcl8.3 on hppa anymore. + * Merge gnat-4.4 changes back from 4.4.2-5. + * Bump libgcc soversion on hppa (4 -> 6). + * Default to v9a (ultrasparc) on sparc*-linux. + + -- Matthias Klose Sun, 03 Jan 2010 17:25:27 +0100 + +gcc-4.5 (4.5-20091226-1) experimental; urgency=low + + * Update to SVN 20091226 from the trunk. + * Fix powerpc spu installation. + * Enable multiarch for sh4. + * Fix libffi multilib test runs. + * Configure the hppa -> hppa64 cross compiler --with-system-zlib. + * gcc-4.5-hppa64: Don't ship info dir file. + * lib32stdc++6{,-dbg}: Add dependency on 32bit glibc. + + -- Matthias Klose Sat, 26 Dec 2009 15:38:23 +0100 + +gcc-4.5 (4.5-20091223-1) experimental; urgency=low + + * Update to SVN 20091223 from the trunk. + + [ Matthias Klose ] + * Update hardening patches for 4.5. + * Don't call install-info directly, depend on dpkg | install-info instead. + * Add conflicts with packages built from GCC 4.4 sources. + * On ARM, pass --hash-style=both to ld. + * Update libgfortran3 symbols file. + * Update libstdc++6 symbols file. + + [ Arthur Loiret ] + * debian/rules.conf (gen_no_archs): Handle multiple arm ports. + + -- Matthias Klose Wed, 23 Dec 2009 18:02:24 +0100 + +gcc-4.5 (4.5-20091220-1) experimental; urgency=low + + * Update to SVN 20091220 from the trunk. + - Remove patches applied upstream: arm-boehm-gc-locks.diff, + arm-gcc-gcse.diff, deb-protoize.diff, gcc-arm-thumb2-sched.diff, + gcc-atom-doc.diff, gcc-atom.diff, gcc-build-id.diff, + gcc-unwind-debug-hook.diff, gcj-use-atomic-builtins-doc.diff, + gcj-use-atomic-builtins.diff, libjava-atomic-builtins-eabi.diff, + libjava-nobiarch-check-snap.diff, lp432222.diff, pr25509-doc.diff, + pr25509.diff, pr39429.diff, pr40133.diff, pr40134.diff, rev146451.diff, + s390-biarch-snap.diff, sh4-scheduling.diff, sh4_atomic_update.diff. + - Update patches: gcc-multiarch.diff, gcc-textdomain.diff, + libjava-nobiarch-check.diff, libjava-subdir.diff, libstdc++-doclink.diff, + libstdc++-man-3cxx.diff, libstdc++-pic.diff, note-gnu-stack.diff, + rename-info-files.diff, s390-biarch.diff. + * Stop building the protoize package, removed from the GCC 4.5 sources. + * gcc-4.5: Install lto1, lto-wrapper, and new header files for intrinsics. + * libstdc++6-4.5-dbg: Install the python files for use with gdb. + * Build java packages from the gcc-4.5 source package. + + -- Matthias Klose Sun, 20 Dec 2009 10:56:56 +0100 + +gcc-4.4 (4.4.2-6) unstable; urgency=low + + * Update to SVN 20091220 from the gcc-4_4-branch (r155367). + Fix PR c++/42387, PR c++/41183. + + [ Matthias Klose ] + * Apply svn-doc-updates.diff for non DFSG builds. + * gcc-snapshot: + - Remove patches integrated upstream: pr40133.diff. Closes: #561550. + + [ Nobuhiro Iwamatsu ] + * Backport linux atomic ops changes for sh4 from the trunk. Closes: #561550. + * Backport from trunk: [SH] Not run scheduling before reload as default. + Closes: #561429. + + [ Arthur Loiret ] + * Apply spu patches independently of the hardening patches; fix build + failure on powerpc. + + -- Matthias Klose Sun, 20 Dec 2009 10:20:19 +0100 + +gcc-4.4 (4.4.2-5) unstable; urgency=low + + * Update to SVN 20091212 from the gcc-4_4-branch (r155122). + Revert the fix for PR libstdc++/42261, fix PR fortran/42268, + PR target/42263, PR target/42263, PR target/41196, PR target/41939, + PR rtl-optimization/41574. + + [ Matthias Klose ] + * Regenerate svn-updates.diff. + * Disable biarch testsuite runs for libffi (broken and unused). + * Support xz compression of source tarballs. + * Fix typo in PR libstdc++/40133 to do the link tests. + * gcc-snapshot: + - Remove patches integrated upstream: pr40134-snap.diff. + - Update s390-biarch.diff for trunk. + + [ Aurelien Jarno ] + * Add sparc64 support: disable multilib and install the libraries + in /lib. + + -- Matthias Klose Sun, 13 Dec 2009 10:28:19 +0100 + +gcc-4.4 (4.4.2-4) unstable; urgency=low + + * Update to SVN 20091210 from the gcc-4_4-branch (r155122), Fixes: + PR target/42165, PR target/42113, PR libgfortran/42090, + PR middle-end/42049, PR c++/42234, PR fortran/41278, PR libstdc++/42261, + PR libstdc++/42273 PR java/41991. + + [ Matthias Klose ] + * gcc-arm-thumb2-sched.diff: Don't restrict reloads to LO_REGS for Thumb-2. + * PR target/40134: Don't redefine LIB_SPEC on hppa. + * PR target/42263, fix wrong code bugs in SMP support on ARM, backport from + the trunk. + * Pass -mimplicit-it=thumb to as by default on ARM, when configured + --with-mode=thumb. + * Fix boehm-gc build on ARM --with-mode=thumb. + * ARM: Don't copy uncopyable instructions in gcse.c (backport from trunk). + * Build the spu cross compiler for powerpc from the cell-4_4-branch. + * gcj: add option -fuse-atomic-builtins (backport from the trunk). + + [ Arthur Loiret ] + * Make svn update interdiffs more readable. + + -- Matthias Klose Thu, 10 Dec 2009 04:29:36 +0100 + +gcc-4.4 (4.4.2-3) unstable; urgency=low + + * Update to SVN 20091118 from the gcc-4_4-branch (r154294). + Fix PR PR c++/9381, PR c++/21008, PR c++/35067, PR c++/36912, PR c++/37037, + PR c++/37093, PR c++/38699, PR c++/39786, c++/36959, PR c++/41754, + PR c++/41876, PR c++/41967, PR c++/41972, PR c++/41994, PR c++/42059, + PR c++/42061, + PR fortran/41772, PR fortran/41850, PR fortran/41909, + PR middle-end/40946, PR middle-end/41317, R tree-optimization/41643, + PR target/41900, PR rtl-optimization/41917, PR middle-end/41963, + PR middle-end/42029. + * Snapshot builds: + - Patch updates. + - Configure with --disable-browser-plugin. + * Configure with --disable-libstdcxx-pch on hppa. + * Backport armel patches form the trunk: + - Fix PR objc/41848 - workaround ObjC and -fsection-anchors. + - Enable scheduling for Thumb-2, including the fix for PR target/42031. + - Fix PR target/41939, EABI violation in accessing values below the stack. + + -- Matthias Klose Wed, 18 Nov 2009 08:37:18 -0600 + +gcc-4.4 (4.4.2-2) unstable; urgency=low + + * Update to SVN 20091031 from the gcc-4_4-branch (r153603). + - Fix PR debug/40521, PR target/40913, PR middle-end/22072, + PR target/41665, PR c++/38798, PR c++/40092, PR c++/37875, + PR c++/37204, PR fortran/41755, PR libstdc++/40654, PR libstdc++/40826, + PR target/41702, PR c/41842, PR target/41762, PR c++/40808, + PR fortran/41777, PR libstdc++/40852. + * Snapshot builds: + - Configure with --enable-plugin, disable the gcjwebplugin by a patch. + Addresses: #551200. + - Proposed patch for PR lto/41652, compile lto-plugin with + -D_FILE_OFFSET_BITS=64 + - Allow disabling the ada build via DEB_BUILD_OPTIONS nolang=ada. + * Fixes for reverse cross builds. + * On sparc default to v9 in 32bit mode. + * Fix __stack_chk_fail check for cross builds configured --with-headers. + * Apply some fixes for uClibc cross builds (Jonas Meyer, Hector Oron). + + -- Matthias Klose Sat, 31 Oct 2009 14:16:03 +0100 + +gcc-4.4 (4.4.2-1) unstable; urgency=low + + * GCC 4.4.2 release. + - Fixes PR target/26515, PR target/41680, PR rtl-optimization/41646, + PR c++/39863, PR c++/41038. + * Fix setting timeout for testsuite runs. + * gcj-4.4/gcc-snapshot: Drop build-dependency on libgconf2-dev, disabled + by default. + * gcj-4.4: Run the libffi testsuite as well. + * Add explicit build dependency on zlib1g-dev. + * Fix cross builds, add support for gomp and gfortran (only tested for + non-biarch targets). + * (Build-)depend on binutils-2.20. + * Fix up omp.h for multilibs (taken from Fedora). + + -- Matthias Klose Sun, 18 Oct 2009 02:31:32 +0200 + +gcc-4.4 (4.4.1-6) unstable; urgency=low + + * Snapshot builds: + - Add build dependency on libelfg0-dev (>= 0.8.12). + - Add build dependency on binutils-gold where available. + - Suggest binutils-gold; not perfect, it is required when using + -use-linker-plugin. + - Work around installation failure in the lto-plugin (PR lto/41569). + - Install java home symlinks in /usr/lib/jvm. + - Revert the dwarf2cfi_asm workaround, obsoleted by PR debug/40521. + * PR debug/40521: + - Apply patch for PR debug/40521, taken from the trunk. + - Revert the dwarf2cfi_asm workaround, obsoleted by PR debug/40521. + - Depend on binutils (>= 2.19.91.20091005). + * Update to SVN 20091005 from the gcc-4_4-branch (r152450). + - Fixes PR fortran/41479. + * In the test summary, add more information about package versions + used for the build. + + -- Matthias Klose Wed, 07 Oct 2009 02:12:56 +0200 + +gcc-4.4 (4.4.1-5) unstable; urgency=medium + + * Update to SVN 20091003 from the gcc-4_4-branch (r152174). + - Fixes PR target/22093, PR c/39779, PR libffi/40242, PR target/40473, + PR debug/40521, PR c/41049, PR debug/41065, PR ada/41100, + PR tree-optimization/41101, PR libgfortran/41328, PR libffi/41443, + PR fortran/41515. + * Updates for snapshot builds: + - Fix build dependency on automake for snapshot builds. + - Update patches pr40134-snap and libjava-nobiarch-check-snap. + * Fix lintian errors in libstdc++ packages and lintian warnings in the + source package. + * Add debian/README.source. + * Don't apply PR libstdc++/39491 for the trunk anymore. + * Install java home symlinks for snapshot builds in /usr/lib/jvm, + including javac. Depend on ecj. Addresses #536102. + * Fix build failure on armel with -mfloat-abi=softfp. + * Don't pessimize the code for newer armv6 and armv7 processors. + * libjava: Use atomic builtins For Linux ARM/EABI, backported from the + trunk. + * Proposed patch to fix wrong-code on powerpc (Alan Modra). LP: #432222. + * Link against -ldl instead of -lcloog -lppl. Exit with an error when using + the Graphite loop transformation infrastructure without having the + libcloog-ppl0 package installed (patch taken from Fedora). Packages + using these optimizations should build-depend on libcloog-ppl0. + gcc-4.4: Suggest the cloog runtime libraries. + * Install a hook _Unwind_DebugHook, called during unwinding. Intended as + a hook for a debugger to intercept exceptions. CFA is the CFA of the + target frame. HANDLER is the PC to which control will be transferred + (patch taken from Fedora). + + -- Matthias Klose Sat, 03 Oct 2009 13:33:05 +0100 + +gcc-4.4 (4.4.1-4) unstable; urgency=low + + * Update to SVN 20090911 from the gcc-4_4-branch (r151649). + - Fixes PR target/34412, PR middle-end/41094, PR target/40718, + PR fortran/41062, PR libstdc++/41005, PR target/41184, + PR bootstrap/41180, PR c++/41127, PR fortran/41258, + PR rtl-optimization/40861, PR target/41315, PR fortran/39876. + + [ Matthias Klose ] + * Avoid underscores in doc-base document id's to workaround a + dh_installdocs bug. + * Update file names for the Ada user's guide. + * Set Homepage attribute for packages. + * Update the patch for gnat on armel. + * gcj-4.4-jdk: Depend on libantlr-java. Addresses: #546062. + * Backport patch for PR tree-optimization/41101 from the trunk. + Closes: #541816. + * Update libstdc++6.symbols for symbols introduced with the fix + for PR libstdc++/41005. + * Apply proposed patches for PR libstdc++/40133 and PR target/40134. + Add symbols exception propagation support in libstdc++ on armel + to the libstdc++6 symbols. + + [ Ludovic Brenta] + Merge from gnat-4.4 (4.4.1-3) unstable; urgency=low + * debian/rules.defs, debian/rules.d/binary-ada.mk, debian/rules.patch: + better support for architectures that support only one exception + handling mechanism (SJLJ or ZCX). + + -- Matthias Klose Sat, 12 Sep 2009 03:18:17 +0200 + +gcc-4.4 (4.4.1-3) unstable; urgency=low + + * Update to SVN 20090822 from the gcc-4_4-branch (r151011). + - Fixes PR tree-optimization/41016, PR tree-optimization/41011, + PR tree-optimization/41008, PR tree-optimization/40991, + PR tree-optimization/40964, PR target/8603 (closes: #161432), + PR target/41019, PR target/41015, PR target/40957, PR target/40934, + PR rtl-optimization/41033, PR middle-end/41047, PR middle-end/41006, + PR fortran/41070, PR fortran/40995, PR fortran/40847, PR debug/40990, + PR debug/37801, PR c/41046, PR c/40948, PR c/40866, PR bootstrap/41018, + PR middle-end/41123,PR target/40971, PR c++/41131, PR fortran/41102, + PR libfortran/40962. + + [ Arthur Loiret ] + * Only use -fno-stack-protector when known to the stage1 compiler. + + [ Aurelien Jarno ] + * lib32* packages: remove the Pre-Depends: libc6-i386 (>= 2.9-18) and + upgrade the Conflicts: libc6-i386 from (<< 2.9-18) to (<< 2.9-22). + Closes: #537466. + * kbsd-gnu-ada.dpatch: add support for kfreebsd-amd64. + + [ Matthias Klose ] + * Build gnat on armel, the gnat-4.4 build still failing, gcc-snapshot + builds good enough to build itself. + * Merge enough of the gnat-4.4 changes back to allow a combined build + from the gcc-4.4 source. + * Build libgnatprj for armel. + * On armel build just one version of the ada run-time library. + * Update auto* build dependencies for snapshot builds. + * Apply proposed patch for PR target/40718. + + -- Matthias Klose Sun, 23 Aug 2009 11:50:38 +0200 + +gcc-4.4 (4.4.1-2) unstable; urgency=low + + [ Matthias Klose ] + * Update to SVN 20090808 from the gcc-4_4-branch (r150577). + - Fixes PR target/40832, PR rtl-optimization/40710, + PR tree-optimization/40321, PR build/40010, PR fortran/40727, + PR build/40010, PR rtl-optimization/40924, PR c/39902, + PR middle-end/40943, PR target/40577, PR c++/39987, PR debug/39706, + PR c++/40948, PR c++/40749, PR fortran/40851, PR fortran/40878, + PR target/40906. + * Bump GCC version required in dependencies to 4.4.1. + * Enable Ada for snapshot builds on all archs with a gnat package + available in the archive. + * Build-depend on binutils 2.19.51.20090805, needed at least for armel. + + [ Aurelien Jarno ] + * kbsd-gnu-ada.dpatch: new patch to fix build on GNU/kFreeBSD. + + -- Matthias Klose Sat, 08 Aug 2009 10:17:39 +0200 + +gcc-4.4 (4.4.1-1) unstable; urgency=low + + * GCC 4.4.1 release. + - Fixes PR target/39943, PR tree-optimization/40792, PR c++/40780, + PR middle-end/40747, PR libstdc++/40691, PR libfortran/40714, + PR tree-optimization/40813 (ICE in OpenJDK build on sparc). + * Apply proposed patch for PR target/39429, an ARM wrong-code error. + * Fix a typo in the arm back-end (proposed patch). + * Build-depend on libmpc-dev for snapshot builds. + * Fix build failure in cross builds (Hector Oron). Closes: #522597. + * Run the testsuite as part of the build target, not the install target. + + -- Matthias Klose Wed, 22 Jul 2009 13:24:39 +0200 + +gcc-4.4 (4.4.0-11) unstable; urgency=medium + + [ Matthias Klose ] + * Update to SVN 20090715 from the gcc-4_4-branch (r149690). + - Corresponds to the 4.4.1 release candidate. + - Fixes PR target/38900, PR debug/40666, PR middle-end/40669, + PR middle-end/40328, PR target/40587, PR middle-end/40585, + PR c++/40566, PR tree-optimization/40542, PR c/39902, + PR tree-optimization/40579, PR tree-optimization/40550, PR c++/40684, + PR c++/35828, PR c++/37816, PR c++/40639, PR c++/40633, PR c++/40619, + PR c++/40595, PR fortran/40440, PR fortran/40551, PR fortran/40638, + PR fortran/40443, PR libstdc++/40600, PR rtl-optimization/40667, PR c++/40740, + PR c++/36628, PR c++/37206, PR c++/40689, PR c++/40502, PR middle-end/40747. + * Backport of PR c/25509, new option -Wno-unused-result. LP: #305176. + * gcc-4.4: Depend on libgomp1, even if not building the libgomp1 package. + * Add proposed patches for PR libstdc++/40133, PR target/40134; don't apply + yet. + + [Emilio Pozuelo Monfort] + * Backport build-id support, configure with --enable-linker-build-id. + + -- Matthias Klose Tue, 14 Jul 2009 16:09:33 -0400 + +gcc-4.4 (4.4.0-10) unstable; urgency=low + + [ Arthur Loiret ] + * debian/rules.patch: Record the auto* calls to run them once only. + + [ Matthias Klose ] + * Update to SVN 20090627 from the gcc-4_4-branch (r149023). + - Fixes PR other/40024. + * Fix typo, adding blacklisted symbols to the libgcc1 symbols file on armel. + * On mips/mipsel use -O2 in STAGE1_CFLAGS until binutils is updated. + + -- Matthias Klose Sun, 28 Jun 2009 10:13:08 +0200 + +gcc-4.4 (4.4.0-9) unstable; urgency=high + + * Update to SVN 20090624 from the gcc-4_4-branch (r148821). + - Fix PR objc/28050 (LP: #362217), PR libstdc++/40297, PR c++/40342. + * Continue the well planned lib32 transition on amd64, adding pre-dependencies + on libc6-i386 (>= 2.9-18) on Debian. Closes: #533767. + * Enable SSP on arm and armel, run the testsuite with -fstack-protector. + LP: #375189. + * Fix spu fortran build in gcc-snapshot builds. + * Add missing symbols for 64bit libgfortran library. + * Update libstdc++ symbol files for sparc 64bit, adding symbols + for exception propagation support. + * Explicitely add __aeabi symbols to the libgcc1 symbols file on armel. + Closes: #533843. + + -- Matthias Klose Wed, 24 Jun 2009 23:46:02 +0200 + +gcc-4.4 (4.4.0-8) unstable; urgency=medium + + * Let all 32bit libs conflict with libc6-i386 (<< 2.9-17). Closes: #533767. + * Update to SVN 20090620 from the gcc-4_4-branch (r148747). + - Fixes PR fortran/39800, PR fortran/40402. + * Work around tar bug on kfreebsd unpacking java class file updates (#533356). + + -- Matthias Klose Sat, 20 Jun 2009 15:15:22 +0200 + +gcc-4.4 (4.4.0-7) unstable; urgency=medium + + * Update to SVN 20090618 from the gcc-4_4-branch (r148685). + - Fixes PR middle-end/40446, PR middle-end/40389, PR middle-end/40460, + PR fortran/40168, PR target/40470. + * On amd64, install 32bit libraries into /lib32 and /usr/lib32. + * lib32gcc1, lib32gomp1, lib32stdc++6: Conflict with libc6-i386 (= 2.9-15), + libc6-i386 (= 2.9-16). + * Handle serialver alternative in -jdk install scripts, not in -jre-headless. + + -- Matthias Klose Fri, 19 Jun 2009 01:36:00 +0200 + +gcc-4.4 (4.4.0-6) unstable; urgency=low + + [ Matthias Klose ] + * Update to SVN 20090612 from the gcc-4_4-branch (r148433). + - Fixes PR c++/38064, PR c++/40139, PR target/40017, PR target/40266, + PR bootstrap/40027, PR tree-optimization/40087, PR target/39856, + PR rtl-optimization/40105, PR target/39942, PR middle-end/40204, + PR debug/40109, PR tree-optimization/39999, PR libfortran/37754, + PR fortran/22423, PR libfortran/39667, PR libfortran/39782, + PR libfortran/38668, PR libfortran/39665, PR libfortran/39702, + PR libfortran/39709, PR libfortran/39665i, PR libgfortran/39664, + PR fortran/38654, PR libfortran/37754, PR libfortran/37754, + PR libfortran/25561, PR libfortran/37754, PR middle-end/40291, + PR target/40017, PR middle-end/40340, PR c++/40308, PR c++/40311, + PR c++/40306, PR c++/40307, PR c++/40370, PR c++/40372, PR c++/40373, + PR c++/40381, PR fortran/40019, PR fortran/39893. + * gcj-4.4-jdk: Depend on libecj-java-gcj instead of libecj-java. + * Let gjdoc --version use the Configuration class instead of + version.properties (Alexander Sack). LP: #385682. + * Preserve libgcc_s.so linker scripts. Closes: #532263. + + [Ludovic Brenta] + * debian/patches/ppc64-ada.dpatch, + debian/patches/ada-mips.dpatch, + debian/patches/ada-mipsel.dpatch: remove, merged upstream. + * debian/patches/*ada*.dpatch: + - rename to *.diff; + - remove the dpatch prologue shell script + - refresh with quilt -p ab and without time stamps + - adjust to GCC 4.4 + * debian/patches/ada-library-project-files-soname.diff, + debian/patches/ada-polyorb-dsa.diff, + debian/patches/pr39856.diff: new. + * debian/rules.patch: adjust accordingly. + * debian/rules.defs: re-enable Ada. + * debian/rules2: do a lean bootstrap when building Ada. + * debian/rules.d/binary-ada.mk: do not build gnatbl or gprmake anymore, + removed upstream. + + -- Matthias Klose Fri, 12 Jun 2009 18:34:13 +0200 + +gcc-4.4 (4.4.0-5) unstable; urgency=medium + + * Update to SVN 20090517 from the gcc-4_4-branch (r147630). + - Fixes PR tree-optimization/40062, PR middle-end/39986, + PR middle-end/40057, PR fortran/39879, PR libstdc++/40038, + PR middle-end/40035, PR target/37179, PR middle-end/39666, + PR tree-optimization/40074, PR fortran/40018, PR fortran/38863, + PR middle-end/40147, PR fortran/40018, PR target/40153. + + [ Matthias Klose ] + * Update libstdc++ symbols files. + * Update libgcc, libobjc, libstdc++ symbols files for armel. + * Fix version symlink in gcc_lib_dir. Closes: #527837. + * Fix symlinks for javac and header files in /usr/lib/jvm. + Closes: #528084. + * Don't build the stage1 compiler with -O with recent binutils (trunk). + * Revert doing link tests to check for the atomic builtins, disabling + exception propagation support in libstdc++ on armel. See PR40133, PR40134. + * On mips/mipsel don't run the java testsuite with -mabi=64. + * Default to armv4 for the gcc-snapshot package as well. Closes: #523936. + * Mention GCC trunk in the gcc-snapshot package description. Closes: #526309. + * Remove unneed '..' elements from symlinks in JAVA_HOME. + * Fix some lintian warnings for gcc-snapshot. + + [ Arthur Loiret ] + * Add missing dir separator to multiarch path. Closes: #527537. + + -- Matthias Klose Sun, 17 May 2009 11:15:52 +0200 + +gcc-4.4 (4.4.0-4) unstable; urgency=medium + + * Update to SVN 20090506 from the gcc-4_4-branch (r147161). + - Fixes PR rtl-optimization/39914, PR testsuite/39776, + PR tree-optimization/40022, PR libstdc++/39909. + + [ Matthias Klose ] + * gcc-4.4-source: Don't depend on gcc-4.4-base, depend on quilt + and patchutils. + * On armel, link the shared libstdc++ with both -lgcc_s and -lgcc. + * Update libgcc and libstdc++ symbol files for mips and mipsel. + * Update libstdc++ symbol files for armel and hppa, adding symbols + for exception propagation support. + * Add ARM EABI symbols to libstdc++ symbol files for armel. + * Add libobjc symbols file for armel. + * Fix PR libstdc++/40038, missing ceill/tanhl symbols in libstdc++. + + [ Aurelien Jarno ] + * Fix libc name for biarch packages on kfreebsd-amd64. + + -- Matthias Klose Wed, 06 May 2009 15:10:36 +0200 + +gcc-4.4 (4.4.0-3) unstable; urgency=low + + * libstdc++-doc: Install the man pages again. + * Fix build configuration for the GC enabled ObjC runtime library. + * Fix thinko in autotools_files, resulting in autoconf not run in + some cases. + * Do link tests to check for the atomic builtins, enables exception + propagation support in libstdc++ on armel and hppa. + + -- Matthias Klose Sun, 03 May 2009 23:38:56 +0200 + +gcc-4.4 (4.4.0-2) unstable; urgency=low + + [ Samuel Thibault ] + * Enable java build on the hurd. + + [ Matthias Klose ] + * libobjc2.symbols.armel: Remove, use the default one. + * Address PR libstdc++/39491, removing __signbitl from the libstdc++6 + symbols file on hppa. + * libstdc++6.symbols.armel: Fix error introduced with copy from the + arm symbols file. + * libstdc++6.symbols.*: Don't assume exception propagation support + enabled for all architectures (although it should on armel, hppa, + sparc). + * Disable the build of the ObjC garbage collection library on mips*, + working around a build failure. + + -- Matthias Klose Sat, 02 May 2009 14:22:35 +0200 + +gcc-4.4 (4.4.0-1) unstable; urgency=low + + [ Matthias Klose ] + * Update to SVN 20090429 from the gcc-4_4-branch (r146989). + * Configure java enabled builds with --enable-java-home. + * Integrate the bits previously found in java-gcj-compat. + * Rename the packages using the naming schema used for OpenJDK: + gcj-X.Y-{jre-headless,jre,jre-lib,jdk,source}. The packages + {gij,gcj,gappletviewer}-X.Y and libgcjN-{jar,source} are gone. + * Build the libgcj documentation with the just built gjdoc. + * Don't use profiled bootstrap when building the gcj source. + * Apply proposed patch for PR target/39856. + * Fix some lintian warnings. + * Don't include debug symbols for libstdc++.so.6, if the library is + built by a newer GCC version. + * Adjust hrefs to point to the local libstdc++ documentation. LP: #365414. + * Update libgcc, libgfortran, libobjc, libstdc++ symbol files. + * gcc-4.4: Include libssp_nonshared.a. + * For ix86, set the java architecture directory to i386. + + [ Samuel Thibault ] + * Update Hurd changes. + * Configure with --enable-clocale=gnu on hurd-i386. + * debian/patches/hurd-pthread.diff: Reapply. + + -- Matthias Klose Thu, 30 Apr 2009 00:30:20 +0200 + +gcc-4.4 (4.4.0-1~exp2) experimental; urgency=low + + * Update to SVN 20090423 from the gcc-4_4-branch. + + [ Aurelien Jarno ] + * kbsd-gnu.diff: remove parts merged upstream. + + [ Matthias Klose ] + * Remove conflicts/replaces for *-spu packages. + * Configure the spu cross compiler without --with-sysroot and + --enable-multiarch. + * Fix and reenable the gfortran-spu build. + * Work around build failures with missing libstdc++ baseline files. + * Install gjdoc man page. + * Fix java configuration with --enable-java-home and include symlinks + for JAVA_HOME in /usr/lib/jvm. + * Apply proposed fix for PR middle-end/39794. + * Install libstdc++ man pages with suffix .3cxx instead of .3. + Closes: #525244. + * lib*stdc++6-{dbg,doc}: Add conflicts to the corresponding 4.3 packages. + + -- Matthias Klose Thu, 23 Apr 2009 18:11:49 +0200 + +gcc-4.4 (4.4.0-1~exp1) experimental; urgency=low + + * Final GCC 4.4.0 release. + + * Don't build the Fortran SPU cross compiler, currently broken. + * spu cross build: Build without spucache and spumea64. + * Configure --with-arch-32=i486 on amd64, i386, and kfreebsd-{amd64,i386}, + --with-arch-32=i586 on hurd-i386, --with-cpu=atom on lpia. + * Build using profiled bootstrap. + * Remove the gcc-4.4-base.postinst. Addresses: #524708. + * Update debian/copyright: Include runtime library exception, remove + D and Phobas license. + * Apply proposed patch for PR libstdc++/39491, missing symbol in libstdc++ + on hppa. + * Remove unsused soft-fp functions in the 64bit libgcc on powerpc (PR39828). + * Update NEWS files for 4.4. + * Build again libgfortran for the non-default multilib configuration. + * Restore missing chunks in note-gnu-stack.diff, lost during the conversion + to quilt. + + -- Matthias Klose Wed, 22 Apr 2009 00:53:16 +0200 + +gcc-4.4 (4.4-20090418-1) experimental; urgency=low + + * Update to SVN 20090418 from the gcc-4_4-branch. + + [ Arthur Loiret ] + * Update patches: + - boehm-gc-nocheck, cross-include, libjava-rpath, link-libs: + Rebase on trunk. + - gcc-m68k-pch, libjava-debuginfo, libjava-loading-constraints: + Remove, merged in trunk. + - cell-branch, cell-branch-doc: Remove, there is no upstream cell 4.4 + branch yet. + - gdc-fix-build-kbsd-gnu, svn-gdc-updates, gpc-4.1, gpc-gcc-4.x, + gpc-names: Remove, gpc and gdc are not ported to GCC 4.4 yet. + - svn-class-updates, svn-doc-updates, svn-updates: Make empty. + - Refresh all others, and convert them all to quilt. + + * Build system improvements: + - Partial rewrite/refactor of rules files. + - Switch patch system to quilt. + - Autogenerate debian/copyright. + - Use the autoconf2.59 package. + + * multilib/multiarch support improvements: Closes: #369064, #484589. + - mips-triarch.diff: Replace with a newer version (approved upstream). + - s390-biarch.diff: Ditto. + - debian/rules2: Configure with --enable-targets=all on mips-linux, + mipsel-linux and s390-linux. + - gcc-multiarch.diff: New, add multiarch include directories and + libraries path to the system paths. + - debian/rules2: Configure with --enable-multiarch. Configure spu build + with --with-multiarch-defaults=spu-elf. + - multiarch-include.diff: Remove. + - debian/multiarch.inc: Ditto. + + * cross-compilers changes: + - Never build a separated -base package, don't symlink any doc dir. + - Build gobjc again. + + * Run the 64-bit tests with -mabi=64 instead of -m64 on mips/mipsel to + hopefully fix the massive failure. + * Always set $(distribution) to "Debian" on mips/mipsel, workarounds FTBFS + on those archs due to a kernel bug triggered by lsb_release call. + Adresses: #524416. + * debian/rules.patch: Only apply the ada-nobiarch-check patch when ada is + enabled. Remove gpc and gdc patches. + * debian/rules.unpack (install_autotools_stamp): Remove. + * debian/rules.defs (configure_dependencies): Remove autotools dependency. + * debian/rules.conf: Add a copyright-file target. + * debian/control.m4: Build-Depends on autoconf2.59 and patchutils. + Make gcc-4.4-source Depends on autoconf2.59. + Add myself to Uploaders. + * debian/rules.d/binary-source.mk: Don't build and install an embedded + copy or autoconf2.59 in gcc-4.4-source. + * debian/copyright.in: New. + + [ Matthias Klose ] + * Build gcj on hppa. + * Add support to build vfp optimized runtime libraries on armel. + * gcc-4.4-spu: Depend on newlib-spu. + * Fix sections of -dbg and java packages. + * gcc-default-ssp.dpatch: Set the default as well, when calling the + preprocessor. LP: #346126. + * Build-depend on quilt. + * Keep the copyright file in the archive. + * Remove conflict of the gcc-X.Y-source packages. + * Update removal of gfdl doc files for 4.4. + * Don't re-run the autotools (introduced with the switch to quilt). + * On arm and armel, install the arm_neon.h header. LP: #360819. + * When hardening options are turned on by default, patch the testsuite + to handle the hardening defaults (Kees Cook). + * Only run the patch target once. Avoids multiple autotool runs, but + doesn't reflect changes in the series file anymore. + * libgcj-doc: Fix documentation title. + * Fix gcj source build with recent build changes. + * Don't check for libraries in DEB_BUILD_OPTIONS/nolang. + * gappletviewer: Include missing binary. + + [ Aurelien Jarno ] + * Remove: patches/kbsd-gnu-ada.dpatch (merged upstream). + * kbsd-gnu.diff: add fix for stuff broken by upstream. + + -- Matthias Klose Mon, 20 Apr 2009 01:34:26 +0200 + +gcc-4.4 (4.4-20090317-1) experimental; urgency=low + + * Initial upload of GCC-4.4, based on trunk 20090317 (r144904). + + [Matthias Klose] + * Branch from the gcc-4.3 packaging. + * Remove *-trunk patches, update remaining patches for the trunk. + * Remove patches integrated upstream: libobjc-gc-link, libjava-file-support, + libjava-realloc-leak, libjava-armel-ldflags, libstdc++-symbols-hppa, + gcc-m68k-pch, libjava-extra-cflags, libjava-javah-bridge-tgts, + hppa-atomic-builtins, armel-atomic-builtins, libssp-gnu, libobjc-armel, + gfortran-armel-updates, sparc-biarch, libjava-xulrunner-1.9. + * Update patches for 4.4, mostly using the patches converted for quilt by + Arthur Loiret. + * debian/patches/libjava-soname.dpatch: Remove, unmodifed upstream library. + * debian/patches/gcc-driver-extra-langs.dpatch: Search Ada files in subdir. + * debian/rules.unpack, debian/rules.d/binary-source.mk: Update for included + autoconf tarball. + * debian/rules.d/binary-{gcc,java}.mk: Install new header files. + * debian/libgfortran3.symbols.common: Remove symbol not generated by + gfortran (__iso_c_binding_c_f_procpointer@GFORTRAN_1.0), PR38871. + * debian/rules.conf: Update for 4.4. + * Fix build dependencies and configure options for 4.4, which were applied + for snapshot builds only. + + [Arthur Loiret] + * Update patches from debian/patches: + - Remove backported fixes: + PR ada: pr10768.dpatch, pr15808.dpatch, pr15915.dpatch, pr16086.dpatch, + pr16087.dpatch, pr16098.dpatch, pr17985.dpatch, pr18680.dpatch, + pr22255.dpatch, pr22387.dpatch, pr28305.dpatch, pr28733.dpatch, + pr29015.dpatch, pr30740.dpatch, pr30827.dpatch pr33688.dpatch, + pr34466.dpatch, pr35050.dpatch, pr35792.dpatch. + PR target: pr27880.dpatch, pr28102.dpatch, pr30961.dpatch, + pr35965.dpatch, pr37661.dpatch. + PR libgcj: pr24170.dpatch, pr35020.dpatch. + PR gcov-profile: pr38292.dpatch. + PR other: pr28322.dpatch. + * debian/rules.patch: Update. + * debian/symbols/libgomp1.symbols.common: Add new symbols from OpenMP 3.0. + + -- Matthias Klose Tue, 17 Mar 2009 02:28:01 +0100 + +gcc-4.3 (4.3.3-5) unstable; urgency=low + + Merge from gnat-4.3 (4.3.3-1): + + [Petr Salinger] + * debian/patches/ada-libgnatprj.dpatch: enable support for GNU/kFreeBSD. + Fixes: #512277. + + [Ludovic Brenta] + * debian/patches/ada-acats.dpatch: attempt to fix ACATS tests (not entirely + successful yet). + * New upstream version. Fixes: #514565. + + [Matthias Klose] + * Update to SVN 20090301 from the gcc-4_3-branch. + - Fix PR c/35446, PR c++/38950, PR fortran/38852, PR fortran/39006, + PR c++/39225 (closes: #516727), PR c++/38950, PR target/38056, + PR target/39228, PR middle-end/36578, PR inline-asm/39058, + PR middle-end/37861. + * Don't provide the 4.3.2 symlink in gcc_lib_dir anymore. + * Require binutils-2.19.1. + + -- Matthias Klose Sun, 01 Mar 2009 14:18:09 +0100 + +gcc-4.3 (4.3.3-4) unstable; urgency=low + + * Fix Fix PR gcov-profile/38292 (wrong profile information), taken + from the trunk. + * Update to SVN 20090215 from the gcc-4_3-branch. + Fix PR c/35435, PR tree-optimization/39100, PR rtl-optimization/39076, + PR c/35433, PR tree-optimization/39041, PR target/38988, + PR middle-end/38969, PR c++/36897, PR c++/39054, PR c/39035, PR c/35434, + PR c/36432, PR target/38991, PR c/39084, PR target/39118. + * Reapply the fix for PR middle-end/38615. + * Include autoconf-2.59 sources into the source package, and install as + part of the gcc-4.3-source package. + * Explicitely use autoconf-1.9. + * Disable building the gcjwebplugin. + * Don't configure with --enable-cld on amd64 and i386. + + -- Matthias Klose Sun, 15 Feb 2009 23:40:09 +0100 + +gcc-4.3 (4.3.3-3) unstable; urgency=medium + + * Revert fix for PR middle-end/38615. Closes: #513420. + + -- Matthias Klose Thu, 29 Jan 2009 07:05:15 +0100 + +gcc-4.3 (4.3.3-2) unstable; urgency=low + + * Update to SVN 20090127 from the gcc-4_3-branch. + - Fix PR tree-optimization/38359. Closes: #492505. + - Fix PR tree-optimization/38932 (ice-on-valid-code), PR target/38931 + (ice-on-valid-code), PR rtl-optimization/38879 (wrong-code), + PR c++/23287 (rejects-valid), PR fortran/38907 (ice-on-valid-code), + PR fortran/38859 (wrong-code), PR fortran/38657 (rejects-valid), + PR fortran/38672 (ice-on-valid-code). + * Fix PR middle-end/38969, taken from the trunk. Closes: #513007. + + -- Matthias Klose Tue, 27 Jan 2009 23:42:45 +0100 + +gcc-4.3 (4.3.3-1) unstable; urgency=low + + * GCC-4.3.3 release (no changes compared to the 4.3.2-4 upload). + * Fix PR middle-end/38615 (wrong code, taken from the trunk). + + -- Matthias Klose Sat, 24 Jan 2009 14:43:09 +0100 + +gcc-4.3 (4.3.2-4) unstable; urgency=medium + + * Update to SVN 20090119 from the gcc-4_3-branch. + - Fix PR tree-optimization/36765 (wrong code). + * Remove patch for PR 34571, applied upstream (fix build failure on alpha). + * Apply proposed patch for PR middle-end/38902 (wrong code). + + -- Matthias Klose Tue, 20 Jan 2009 00:22:41 +0100 + +gcc-4.3 (4.3.2-3) unstable; urgency=low + + * Update to SVN 20090117 from the gcc-4_3-branch (4.3.3 release candidate). + - Fix PR target/34571, PR debug/7055, PR tree-optimization/37194, + PR tree-optimization/38529, PR fortran/38763, PR fortran/38765, + PR fortran/38669, PR fortran/38487, PR fortran/35681, PR fortran/38657, + PR c++/36019, PR c++/31488, PR c++/37646, PR c++/36334, PR c++/38357, + PR c++/31260, PR c++/38877, PR libstdc++/36801, PR libgcj/38396. + - debian/patches/libgcj-bc.dpatch: Remove, applied upstream. + * Fix PR middle-end/38616 (wrong code with -fstack-protector). + * Update backport for PR28322 (Gunther Nikl). + + -- Matthias Klose Sat, 17 Jan 2009 21:09:35 +0100 + +gcc-4.3 (4.3.2-2) unstable; urgency=low + + * Update to SVN 20090110 from the gcc-4_3-branch. + - Fix PR target/36654, PR tree-optimization/38752, PR fortran/38675, + PR fortran/37469, PR libstdc++/38000. + + -- Matthias Klose Sat, 10 Jan 2009 18:32:34 +0100 + +gcc-4.3 (4.3.2-2~exp5) experimental; urgency=low + + * Adjust build-dependencies for cross builds. Closes: #499998. + * Update to SVN 20081231 from the gcc-4_3-branch. + - Fix PR middle-end/38565, PR target/38062, PR bootstrap/38383, + PR target/38402, PR testsuite/35677, PR tree-optimization/38478, + PR target/38054, PR middle-end/29056, PR testsuite/28870, + PR target/38254. + - Fix PR libstdc++/37144, PR c++/37582, PR libstdc++/38080. + - Fix PR fortran/38602, PR fortran/38602, PR fortran/38487, + PR fortran/38113, PR fortran/35983, PR fortran/35937, PR testsuite/36889. + * Update the spu cross compiler from the cell-gcc-4_3-branch 20081217. + * debian/patches/libobjc-armel.dpatch: Don't define EH_USES. + * Apply the Atomic builtins patch for PARISC. + + -- Matthias Klose Thu, 18 Dec 2008 00:34:46 +0100 + +gcc-4.3 (4.3.2-2~exp4) experimental; urgency=low + + * Update to SVN 20081130 from the gcc-4_3-branch. + - Fix PR bootstrap/33304, PR middle-end/37807, PR middle-end/37809, + PR rtl-optimization/37489, PR target/35574, PR c/37924, + PR tree-optimization/37879, PR middle-end/37858, PR middle-end/37870, + PR target/38016, PR target/37939, PR rtl-optimization/37769, + PR target/37909, PR fortran/37597, PR fortran/35820, PR fortran/37445, + PR fortran/PR35769, PR fortran/37903, PR fortran/37749. + - Fix PR target/37640, PR tree-optimization/37868, PR bootstrap/33100, + PR other/38214, PR c++/37142, PR c++/35405, PR c++/37563, PR c++/38030, + PR c++/37932, PR c++/38007. + - Fix PR fortran/37836, PR fortran/38171, PR fortran/35681, + PR fortran/37792, PR fortran/37926, PR fortran/38033, PR fortran/36526. + - Fix PR target/38287. Closes: #506713. + * Atomic builtins using kernel helpers for PARISC and ARM Linux/EABI, taken + from the trunk. + + -- Matthias Klose Mon, 01 Dec 2008 01:29:51 +0100 + +gcc-4.3 (4.3.2-2~exp3) experimental; urgency=low + + * Update to SVN 20081117 from the gcc-4_3-branch. + * Add build dependencies on spu packages for snapshot builds. + * Add build dependency on libantlr-java for snapshot builds. + * Disable fortran on spu for snapshot builds. + * Add dependency on binutils-{hppa64,spu} for snapshot builds. + + -- Matthias Klose Mon, 17 Nov 2008 21:57:51 +0100 + +gcc-4.3 (4.3.2-2~exp2) experimental; urgency=low + + * Update to SVN 20081023 from the gcc-4_3-branch. + - General regression fixes: PR rtl-optimization/37882 (wrong code), + - Fortran regression fixes: PR fortran/37787, PR fortran/37723. + * Use gij-4.3 for builds in java maintainer mode. + * Don't run the testsuite with -fstack-protector for snapshot builds. + * Update the spu cross compiler from the cell-gcc-4_3-branch 20081023. + Don't disable multilibs, install additional components in the gcc-4.3-spu + package. + * Enable building the spu cross compiler for powerpc and ppc64 snapshot + builds. + * Apply proposed patch for PR tree-optimization/37868 (wrong code). + * Apply proposed patch to parallelize make check. + * For biarch builds, disable the gnat testsuite for the non-default + architecture (no biarch support in gnat yet). + + -- Matthias Klose Thu, 23 Oct 2008 22:06:38 +0200 + +gcc-4.3 (4.3.2-2~exp1) experimental; urgency=low + + * Update to SVN 20081017 from the gcc-4_3-branch. + - General regression fixes: PR rtl-optimization/37408 (wrong code), + PR tree-optimization/36630, PR tree-optimization/37102 (wrong code), + PR c/35437 (ice on invalid code), PR middle-end/37731 (wrong code), + PR target/37603 (wrong code, hppa), PR tree-optimization/35737 (ice on + valid code), PR middle-end/36575 (wrong code), PR c/37645 (ice on valid + code), PR tree-optimization/37539 (compile time hog), PR middle-end/37236 + (ice on invalid code), PR tree-optimization/36343 (wrong code), + PR rtl-optimization/37544 (wrong code), PR target/35620 (ice on valid + code), PR target/35713 (ice on valid code, wrong code), PR c/35712 (wrong + code), PR target/37466 (wrong code, AVR). + - C++ regression fixes: PR c++/37389 (LP: #252301), PR c++/37555 (ice on + invalid code). + - Fortran regression fixes: PR fortran/37199, PR fortran/36214, + PR fortran/35770, PR fortran/36454, PR fortran/36374, PR fortran/37274, + PR fortran/37583, PR fortran/36700, PR fortran/35945, PR fortran/37626, + PR fortran/37504, PR fortran/37580, PR fortran/37706, PR fortran/35680, + PR fortran/37794. + * Remove obsolete patches: ada-driver.dpatch, pr33148.dpatch. + * Fix naming of bridge targets in gjavah (wrong header generation). + * Fix PR target/37661, SPARC64 int-to-TFmode conversions. + * Include the complete test summaries in a binary package, to allow + regression checking from the previous build. + * Tighten inter-package dependencies to (>= 4.3.2-1). + * Drop the 4.3.1 symlink in gcc_lib_dir, add a 4.3.3 symlink to 4.3. + + -- Matthias Klose Fri, 17 Oct 2008 23:26:50 +0200 + +gcc-4.3 (4.3.2-1) unstable; urgency=medium + + [Matthias Klose] + * Final gcc-4.3.2 release (regression fixes). + - Remove the generated install docs from the tarball (GFDL licensed). + - C++ regression fixes: PR debug/37156. + - general regression fixes: PR debug/37156, PR target/37101. + - Java regression fixes: PR libgcj/8995. + * Update to SVN 20080905 from the gcc-4_3-branch. + - C++ regression fixes: PR c++/36741 (wrong diagnostic), + - general regression fixes: PR target/37184 (ice on valid code), + PR target/37191 (ice on valid code), PR target/37197 (ice on valid code), + PR middle-end/36817 (ice on valid code), PR middle-end/36548 (wrong code), + PR middle-end/37125 (wrong code), PR c/37261 (wrong diagnostic), + PR target/37168 (ice on valid code), PR middle-end/36449 (wrong code), + PR middle-end/37248 (missed optimization), PR target/36332 (wrong code). + - Fortran regression fixes: PR fortran/37193 (rejects valid code). + * Move symlinks in gcc_lib_dir from cpp-4.3 to gcc-4.3-base. Closes: #497369. + * Don't build-depend on autogen on architectures where it is not installable + (needed for the fixincludes testsuite only); don't build-depend on it for + source packages not running the fixincludes testsuite. + + [Ludovic Brenta] + * Add sdefault.ads to libgnatprj4.3-dev. Fixes: #492866. + * turn gnatvsn.gpr and gnatprj.gpr into proper library project files. + * Unconditionally build-depend on gnat when building gnat-4.3. + Fixes: #487564. + * (debian/rules.d/binary-ada.mk): Add a symlink libgnat.so to + /usr/lib/libgnat-4.3.so in the adalib directory. Fixes: #493814. + * (debian/patches/ada-sjlj.dpatch): remove dangling symlinks from all + adalib directories. + * debian/patches/ada-alpha.dpatch: remove, applied upstream. + + [Samuel Tardieu, Ludovic Brenta] + * debian/patches/pr16086.dpatch: new; backport from GCC 4.4. + Closes: #248172. + * debian/patches/pr35792.dpatch: new; backport from GCC 4.4. + * debian/patches/pr15808.dpatch (fixes: #246392), + debian/patches/pr30827.dpatch: new; backport from the trunk. + + -- Matthias Klose Fri, 05 Sep 2008 22:52:58 +0200 + +gcc-4.3 (4.3.1-9) unstable; urgency=low + + * Update to SVN 20080814 from the gcc-4_3-branch. + - C++/libstdc++ regression fixes: PR c++/36688, PR c++/37016, PR c++/36999, + PR c++/36405, PR c++/36767, PR c++/36852. + - general regression fixes: PR target/36613, PR rtl-optimization/36998, + PR middle-end/37042, PR middle-end/35432, PR target/35659, + PR middle-end/37026, PR middle-end/36691, PR tree-optimization/36991, + PR rtl-optimization/35542, PR bootstrap/35752, PR rtl-optimization/36419, + PR debug/36278, PR preprocessor/36649, PR rtl-optimization/36929, + PR tree-optimization/36830, PR c/35746, PR middle-end/37014, + PR middle-end/37103. + - Fortran regression fixes: PR fortran/36132. + - Java regression fixes: PR libgcj/31890. + - Fixes PR middle-end/37090. Closes: #494815. + + -- Matthias Klose Thu, 14 Aug 2008 18:02:52 +0000 + +gcc-4.3 (4.3.1-8) unstable; urgency=low + + * Undo Revert PR tree-optimization/36262 on i386 (PR 36917 is invalid). + + -- Matthias Klose Fri, 25 Jul 2008 21:47:52 +0200 + +gcc-4.3 (4.3.1-7) unstable; urgency=low + + * Update to SVN 20080722 from the gcc-4_3-branch. + - Fix PR middle-end/36811, infinite loop building with -O3. + - C++/libstdc++ regression fixes: PR c++/36407, PR c++/34963, + PR libstdc++/36832, PR libstdc++/36552, PR libstdc++/36729. + - Fortran regression fixes: PR fortran/36366, PR fortran/36824. + - general regression fixes: PR middle-end/36877, PR target/36780, + PR target/36827, PR rtl-optimization/35281, PR rtl-optimization/36753, + PR target/36827, PR target/36784, PR target/36782, PR middle-end/36369, + PR target/36780, PR target/35492, PR middle-end/36811, + PR rtl-optimization/36419, PR target/35802, PR target/36736, + PR target/34780. + * Revert PR tree-optimization/36262 on i386, causing miscompilation of + OpenJDK hotspot. + * gij/gcj: Don't remove alternatives on upgrade. Addresses: #479950. + + -- Matthias Klose Tue, 22 Jul 2008 23:55:54 +0200 + +gcc-4.3 (4.3.1-6) unstable; urgency=low + + * Start the logwatch script on alpha as well to avoid timeouts in + the testsuite. + + -- Matthias Klose Mon, 07 Jul 2008 11:31:58 +0200 + +gcc-4.3 (4.3.1-5) unstable; urgency=low + + * Update to SVN 20080705 from the gcc-4_3-branch. + - Fix PR target/36634, wrong-code on powerpc with -msecure-plt. + * Fix PR target/35965, PIC + -fstack-protector on arm/armel. Closes: #469517. + * Don't run the libjava testsuite with -mabi=n32. + * Update patch for PR other/28322, that unknown -Wno-* options do not + cause errors, but warnings instead. + * On m68k, add -fgnu89-inline when in gnu99 mode (requested by Michael + Casadeval for the m68k port). Closes: #489234. + + -- Matthias Klose Sun, 06 Jul 2008 01:39:30 +0200 + +gcc-4.3 (4.3.1-4) unstable; urgency=low + + * Revert: debian/patches/gcc-multilib64dir.dpatch: Remove obsolete patch. + * Remove obsolete multiarch-lib patch. + + -- Matthias Klose Mon, 30 Jun 2008 23:05:17 +0200 + +gcc-4.3 (4.3.1-3) unstable; urgency=medium + + [Arthur Loiret] + * debian/rules2: + - configure sh4-linux with --with-multilib-list=m4,m4-nofpu + and --with-cpu=sh4. + - configure sparc-linux with --enable-targets=all on snapshot builds + (change already in 4.3.1-1). + * debian/rules.patch: Don't apply sh4-multilib.dpatch. + + [Matthias Klose] + * Update to SVN 20080628 from the gcc-4_3-branch. + - Fix PR target/36533, wrong-code with incorrectly assumed aligned_operand. + Closes: #487115. + * debian/rules.defs: Remove hurd-i386 from ssp_no_archs (Samuel Thibault). + Closes: #483613. + * Do not create a /usr/lib/gcc//4.3.0 symlink. + * debian/patches/gcc-multilib64dir.dpatch: Remove obsolete patch. + * libjava/classpath: Set and use EXTRA_CFLAGS (taken from the trunk). + + -- Matthias Klose Sat, 28 Jun 2008 16:00:38 +0200 + +gcc-4.3 (4.3.1-2) unstable; urgency=low + + * Update to SVN 20080610 from the gcc-4_3-branch. + - config.gcc: Fix quoting for in the enable_cld test. + * Use GNU locales on hurd-i386 (Samuel Thibault). Closes: #485395. + * libstdc++-doc: Fix URL's for locally installed docs. Closes: #485133. + * libjava: On armel apply kludge to fix unwinder infinitely looping 'til + it runs out of memory. + * Adjust dependencies to require GCC 4.3.1. + + -- Matthias Klose Wed, 11 Jun 2008 00:35:38 +0200 + +gcc-4.3 (4.3.1-1) unstable; urgency=high + + [Samuel Tardieu, Ludovic Brenta] + * debian/patches/pr16087.dpatch: new. Fixes: #248173. + * Correct the patches from the previous upload. + + [Ludovic Brenta] + * debian/patches/ada-acats.dpatch: really run the just-built gnat, not the + bootstrap gnat. + * debian/rules2: when running the Ada test suite, do not run the multilib + tests as gnat does not support multilib yet. + * Run the ACATS testsuite again (patch it so it correctly finds gnatmake). + + [Thiemo Seufer] + * debian/patches/ada-libgnatprj.dpatch, + debian/patches/ada-mips{,el}.dpatch: complete support for mips and mipsel. + Fixes: #482433. + + [Matthias Klose] + * GCC-4.3.1 release. + * Do not include standard system paths in libgcj pkgconfig file. + * Suggest the correct libmudflap0-dbg package. + * Fix PR libjava/35020, taken from the trunk. + * Apply proposed patch for PR tree-optimization/36343. + * On hurd-i386 with -fstack-protector do not link with libssp_nonshared + (Samuel Thibault). Closes: #483613. + * Apply proposed patch for PR tree-optimization/34244. + * Remove debian-revision in symbols files. + * Fix installation of all biarch -multilib packages which are not triarch. + * Fix some lintian warnings. + * Include library symlinks in gobjc and gfortran multilib packages, when + not building the library packages. + * Fix sections in doc-base files. + * Don't apply the sparc-biarch patch when building the gcc-snapshot package. + * libjava: Add @file support for gjavah & gjar. + * Apply patch for PR rtl-optimization/36111, taken from the trunk. + + * Closing reports reported against gcc-4.0 and fixed in gcc-4.3: + - General + + Fix PR optimization/3511, inlined strlen() could be smarter. + Close: #86251. + - C + + Fix PR c/9072, Split of -Wconversion in two different flags. + Closes: #128950, #226952. + - C++/libstdc++ + + PR libstdc++/24660, implement versioning weak symbols in libstdc++. + Closes: #328421. + - Architecture specific: + - mips + + PR target/26560, unable to find a register to spill in class + 'FP_REGS'. Closes: #354439. + - sparc + + Fix PR rtl-optimization/23454, ICE in invert_exp_1. Closes: #340951. + * Closing reports reported against gcc-4.1 and fixed in gcc-4.2: + - General + + PR tree-optimization/30132, ICE in find_lattice_value. Closes: #400484. + + PR other/29534, ICE in "gcc -O -ftrapv" with decreasing array index. + Closes: #405065. + + Incorrect SSE2 code generation for vector initialization. + Closes: #406442. + + Fix segfault in cc1 due to infinite loop in error() when using -ftrapv. + Closes: #458072. + + Fix regression in code size with -Os compared to GCC-3.3. + Closes: #348298. + - C++ + + Fix initialization of global variables with non-constant initializer. + Closes: #446067. + + Fix ICE building muse. Closes: #429385. + * Closing reports reported against gcc-4.1 and fixed in gcc-4.3: + - C++ + + PR c++/28705, ICE: in type_dependent_expression_p. Closes: #406324. + + PR c++/7302, -Wnon-virtual-dtor should't complain of protected dtor. + Closes: #356316. + + PR c++/28316, PR c++/24791, PR c++/20133, ICE in instantiate_decl. + Closes: #327346, #355909. + - Fortran + + PR fortran/31639, ICE in gfc_conv_constant. Closes: #401496. + - Java + + Fix ICE using gcj with --coverage. Closes: #416326. + + PR libgcj/29869, LogManager class loading failure. Closes: #399251 + + PR swing/29547 setText (String) of JButton does not work + with HTML code. Closes: #392791. + + PR libgcj/29178, CharsetEncoder.canEncode() gives different results + than Sun version. Closes: #388596. + + PR java/8923, ICE when modifying a variable decleared "final static". + Closes: #351512. + + PR java/22507, segfault building Apache Cocoon. Closes: #318534. + + PR java/2499, class members should be inherited from implemented + interfaces. Closes: #225434. + + PR java/10581, ICE compiling freenet. Closes: #186922. + + PR libgcj/28340, gij ignores -Djava.security.manager. Closes: #421098. + + PR java/32846, build failure on GNU/Hurd. Closes: #408888. + + PR java/29194, fails to import package from project. Closes: #369873. + + PR libgcj/31700, -X options not recognised by JNI_CreateJavaVM. + Closes: #426742. + + java.util.Calendar.setTimeZone fails to set ZONE_OFFSET. + Closes: #433636. + - Architecture specific: + - alpha + + C++, fix segfault in constructor with -Os. Closes: #438436. + - hppa + + PR target/30131, ICE in propagate_one_insn. Closes: #397341. + - m32r + + PR target/28508, assembler error (operand out of range). + Closes: #417542. + - m68k + + PR target/34688, ICE in output_operand. Closes: #459429. + * Closing reports reported against gcc-4.2 and fixed in gcc-4.3: + - General + + PR tree-optimization/33826, wrong code generation for infinitely + recursive functions. Closes: #445536. + - C++ + + PR c++/24791, ICE on invalid instantiation of template's static member. + Closes: #446698. + + [Aurelien Jarno] + * Really apply arm-funroll-loops.dpatch on arm and armel. Closes: #476460. + + -- Matthias Klose Sat, 07 Jun 2008 23:16:21 +0200 + +gcc-4.3 (4.3.0-5) unstable; urgency=medium + + * Update to SVN 20080523 from the gcc-4_3-branch. + - Remove gcc-i386-emit-cld patch. + - On Debian amd64 and i386 configure with --enable-cld. + * Fix PR tree-optimization/36129, ICE with -fprofile-use. + * Add spu build dependencies independent of the architecture. + * Move arm -funroll-loops fix to arm-funroll-loops from + gfortran-armel-updates. Apply it on both arm and armel. + Closes: #476460. + * Use iceape-dev as a build dependency for Java enabled builds. + * Build the sru cross compiler from a separate source dir without applying + the hardening patches. + + -- Matthias Klose Fri, 23 May 2008 10:12:02 +0200 + +gcc-4.3 (4.3.0-4) unstable; urgency=low + + [ Aurelien Jarno ] + * Fix gnat-4.3 build on mips/mipsel. + * Update libgcc1 symbols for hurd-i386. + + [ Arthur Loiret ] + * Make gcc-4.3-spu Recommends newlib-spu. Closes: #476088 + * Build depend on spu build dependencies only when building + as gcc-4.x source package. + * Disable spu for snapshot builds. + * Support sh4 targets: + - sh4-multilib.dpatch: Add, fix multilib (m4/m4-nofpu) for sh4-linux + - multiarch-include.dpatch: Don't apply on sh4. + + [ Matthias Klose ] + * Stop building libffi packages. + * Update to SVN 20080501 from the gcc-4_3-branch. + - Fix PR target/35662, wrong gfortran code on mips/mipsel. Closes: #476427. + - Fixes mplayer build on powerpc. Closes: #475153. + * Stop building gij/gcj on alpha, arm and hppa. Closes: #459560. + * libstdc++6-4.3-doc: Fix file location in doc-base file. Closes: #476253. + * debian/patches/template.dpatch: Remove the `exit 0' line. + * Fix alternative names for amd64 cross builds. Addresses: #466422. + * debian/copyright: Update to GPLv3, remove the text of the GFDL + and reference the copy in common-licenses. + * Generate the locale data for the testsuite, if the locales package + is installed (not a dependency on all archs). + * Update libgcc2 symbols for m68k, libstdc++6 symbols for arm, m68k, mips + and mipsel. + * Do not include a symbols file for libobjc_gc.so. + * Add four more symbols to libgcj_bc, patch taken from the trunk. + * Adjust names of manual pages in the spu build on powerpc. + * ARM EABI (armel) updates (Andrew Jenner, Julian Brown): + - Add Objective-C support. + - Fortran support patches. + - Fix ICE in gfortran.dg/vector_subscript_1.f90 for -Os -mthumb reload. + * Build ObjC and Obj-C++ packages on armel. + * Reenable running the testsuite on m68k. + + [Samuel Tardieu, Ludovic Brenta] + * debian/patches/gnalasup_to_lapack.dpatch: new. + * debian/patches/pr34466.dpatch, + debian/patches/pr22255.dpatch, + debian/patches/pr33688.dpatch, + debian/patches/pr10768.dpatch, + debian/patches/pr28305.dpatch, + debian/patches/pr17985.dpatch (#278685) + debian/patches/pr15915.dpatch, + debian/patches/pr16098.dpatch, + debian/patches/pr18680.dpatch, + debian/patches/pr28733.dpatch, + debian/patches/pr22387.dpatch, + debian/patches/pr29015.dpatch: new; backport Ada bug fixes from GCC 4.4. + * debian/patches/rules.patch: apply them. + * debian/patches/pr35050.dpatch: update. + + [Andreas Jochens] + * debian/patches/ppc64-ada.dpatch: update, adding support for ppc64. + (#476868). + + [Ludovic Brenta] + * Apply ppc64-ada.dpatch whenever we build libgnat, not just on ppc64. + * debian/patches/pr28322.dpatch: never pass -Wno-overlength-strings to + the bootstrap compiler, as the patch breaks the detection of whether + the bootstrap compiler supports this option or not. + Fixes: #471192. Works around #471767. + * Merge Aurélien Jarno's mips patch. Fixes: #472854. + + [ Samuel Tardieu ] + * debian/patches/pr30740.dpatch: new Ada bug fix. + * debian/patches/pr35050.dpatch: new Ada bug fix. + + [ Xavier Grave ] + * debian/patches/ada-mips{,el}.dpatch: new; split mips/mipsel support + into new patches, out of ada-sjlj.dpatch. + * debian/rules.d/binary-ada.mk: fix the version number of libgnarl-4.3.a. + + [Roman Zippel] + * PR target/25343, fix gcc.dg/pch/pch for m68k. + + -- Matthias Klose Thu, 01 May 2008 21:08:09 +0200 + +gcc-4.3 (4.3.0-3) unstable; urgency=medium + + [ Matthias Klose ] + * Update to SVN 20080401 from the gcc-4_3-branch. + - Fix PR middle-end/35705 (hppa only). + * Update libstdc++6 symbols for hurd-i386. Closes: #472334. + * Update symbol files for libgomp (ppc64). + * Only apply the gcc-i386-emit-cld patch on amd64 and i386 architectures. + * Update libstdc++ baseline symbols for hppa. + * Install powerpc specific header files new in 4.3. + * gcc-4.3-hppa64: Don't include the install tools in the package. + + [ Aurelien Jarno ] + * Fix gobjc-4.3-multilib dependencies. Closes: #473455. + * Fix gnat-4.3 build on mips/mipsel. + * patches/ada-alpha.dpatch: new patch to fix gnat-4.3 build on alpha. + Closes: #472852. + * patches/config-ml.dpatch: also check for n32 multidir. + + [ Arthur Loiret ] + * Build-Depends on binutils (>= 2.18.1~cvs20080103-2) on mips and mipsel, + required for triarch. + * libstdc++-pic.dpatch: Update, don't fail anymore if shared lib is disabled. + + [ Andreas Jochens ] + * Fix build failures on ppc64. Closes: #472917. + - gcc-multilib64dir.dpatch: Remove "msoft-float" and "nof" from MULTILIB + variables. + - Removed ppc64-biarch.dpatch. + - Add debian/lib32gfortan3.symbols.ppc64. + + [ Arthur Loiret, Matthias Klose ] + * Build compilers for spu-elf target on powerpc and ppc64. + - Add gcc-4.3-spu, g++-4.3-spu and gfortran-4.3-spu packages. + - Partly based on the work in Ubuntu on the spu toolchain. + + -- Matthias Klose Tue, 01 Apr 2008 23:29:21 +0000 + +gcc-4.3 (4.3.0-2) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20080321 from the gcc-4_3-branch. + - Remove some broken code that attempts to enforce linker + constraints. Closes: #432541. + * Temporary fix, will be removed once a fixed kernel is available + in testing: Emit cld instruction when stringops are used (i386). + Do not expose the -mcld option until added upstream. Closes: #469567. + * Update NEWS files. + * libjava: Don't leak upon failed realloc (taken from the trunk). + * debian/rules2: The build is not yet prepared to take variables from + the environment; unexport and unset those. + + [Arthur Loiret/Aurelien Jarno] + * MIPS tri-arch support: + - mips-triarch.dpatch: new patch to default to o32 and follow the + glibc convention for n32 & 64 bit names. + - Rename $(biarch) and related vars into $(biarch64). + - Fix biarchsubdir to allow triarch. + - Add biarchn32 support. + - Add mips and mipsel to biarch64 and biarchn32 archs. + - Update binary rules for biarchn32 and libn32 targets. + - Fix multilib deps for triarch. + - control.m4: Add libn32 packages. + + -- Matthias Klose Sat, 22 Mar 2008 00:06:33 +0100 + +gcc-4.3 (4.3.0-1) unstable; urgency=low + + [Matthias Klose] + * GCC-4.3.0, final release. + * Update to SVN 20080309 from the gcc-4_3-branch. + * Build from a modified tarball, without GFDL documentation with + invariant sections and cover texts. + * debian/rules.unpack: Avoid make warnings. + * debian/rules.d/binary-cpp.mk: Add 4.3.0 symlink in gcclibdir. + * Stop building treelang (removed upstream). + * gcj-4.3: Hardcode libgcj-bc dependency, don't run dh_shlibdeps on ecj1. + + [Aurelien Jarno] + * Update libssp-gnu.dpatch and reenable it. + + -- Matthias Klose Sun, 09 Mar 2008 15:18:08 +0100 + +gcc-4.3 (4.3.0~rc2-1) unstable; urgency=medium + + * Update to SVN 20080301 from the gcc-4_3-branch. + * Include the biarch libobjc_gc library in the packages. + * Link libobjc_gc with libgcjgc_convenience.la. + * Add new symbols to libstdc++6 symbol files, remove the symbols for + support (reverted upstream for the 4.3 branch). + * Disable running the testsuite on m68k. + * Update PR other/28322, ignore only unknown -W* options. + + -- Matthias Klose Sat, 01 Mar 2008 15:09:16 +0100 + +gcc-4.3 (4.3-20080227-1) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20080227 from the gcc-4_3-branch. + * Fix PR other/28322, GCC new warnings and compatibility. + Addresses: #367657. + + [Hector Oron] + * Fix cross-compile builds. Closes: #467471. + + -- Matthias Klose Thu, 28 Feb 2008 00:30:38 +0100 + +gcc-4.3 (4.3-20080219-1) unstable; urgency=medium + + [Matthias Klose] + * Update to SVN 20080219 from the gcc-4_3-branch. + * Apply proposed patch for PR target/34571 (alpha). + * libgcj9-dev: Don't claim that the package contains the static + libraries. + * libjava-xulrunner1.9.dpatch: Add configure check for xulrunner-1.9. + Name the alternative xulrunner-1.9-javaplugin.so. + * libgcj-doc: Don't include the examples; these cannot be built + with the existing Makefile anyway. Addresses: #449608. + * Manpages for gc-analyze and grmic are GFDL. Don't include these when + building DFSG compliant packages. + * Fix build failure building amd64 cross-target libstdc++ packages + (Tim Bagot). Addresses: #464365. + * Fix typos in rename-info-files patch (Richard Guenther). + * Fix PR libgcj/24170. + + [Aurelien Jarno] + * kbsd-gnu-ada.dpatch: new patch to fix build on GNU/kFreeBSD. + + [Ludovic Brenta] + * debian/rules.defs: Temporarily disable the testsuite when building gnat. + * debian/patches/libffi-configure.dpatch: run autoconf in the top-level + directory, where we've changed configure.ac; not in src/gcc. + * debian/patches/ada-sjlj.dpatch: do not run autoconf since we don't + change configure.ac. + * debian/control.m4 (gnat-4.3-doc): conflict with gnat-4.[12]-doc. + Closes: #464801. + + -- Matthias Klose Tue, 19 Feb 2008 23:20:45 +0000 + +gcc-4.3 (4.3-20080202-1) unstable; urgency=low + + [ Matthias Klose ] + * Update to SVN 20080202 from the trunk. + - Fix PR c/35017, pedwarns about valid code. Closes: #450506. + - Fix PR target/35045, wrong code generation with -O3 on i386. + Closes: #463478. + * gcj-4.3: On armel depend on g++-4.3. + * Re-enable build of libobjc_gc, using the internal version of boehm-gc. + Closes: #212248. + + [Ludovic Brenta] + * debian/patches/ada-default-project-path.dpatch, + debian/patches/ada-gcc-name.dpatch, + debian/patches/ada-symbolic-tracebacks.dpatch, + debian/patches/ada-link-lib.dpatch, + debian/patches/ada-libgnatvsn.dpatch, + debian/patches/ada-libgnatprj.dpatch, + debian/patches/ada-sjlj.dpatch: adjust to GCC 4.3. + * debian/README.gnat, debian/TODO, + debian/rules.d/binary-ada.mk: merge from gnat-4.2. + * debian/README.maintainers: add instructions for patching GCC. + * debian/patches/ada-driver.dpatch: remove, no longer used. + * debian/patches/libffi-configure.dpatch: do not patch the top-level + configure anymore; instead, rerun autoconf. This allows removing the + patch cleanly. + * debian/rules2: use gnatgcc as the bootstrap compiler, not gcc-4.2. + + -- Matthias Klose Sat, 02 Feb 2008 19:58:48 +0100 + +gcc-4.3 (4.3-20080127-1) unstable; urgency=low + + [ Matthias Klose ] + * Update to SVN 20080126 from the trunk. + * Tighten build dependency on doxygen. + * Update libstdc++ patches to current svn. + * gij-4.3: Provide java*-runtime-headless instead of java*-runtime. + + [ Aurelien Jarno] + * debian/multiarch.inc: change mipsel64 into mips64el. + + -- Matthias Klose Sun, 27 Jan 2008 01:33:35 +0100 + +gcc-4.3 (4.3-20080116-1) unstable; urgency=medium + + * Update to SVN 20080116 from the trunk. + * Update debian/watch. + * Build libgomp documentation without building libgomp. Addresses: #460660. + * Handle lzma compressed tarballs. + * Fix dependency generation for the gcc-snapshot package: Addresses: #454667. + * Restore lost chunk in libjava-subdir.dpatch. + + -- Matthias Klose Wed, 16 Jan 2008 20:33:50 +0100 + +gcc-4.3 (4.3-20080112-1) unstable; urgency=low + + * Update to SVN 20080112 from the trunk. + * Tighten build-dependency on dpkg-dev (closes: #458894). + * Update symbol definitions for alpha. + * Build-depend on libmpfr-dev for all source packages. + + -- Matthias Klose Sun, 13 Jan 2008 00:40:28 +0100 + +gcc-4.3 (4.3-20080104-1) unstable; urgency=low + + * Update to SVN 20080104 from the trunk. + * Update symbol definitions for alpha, hppa, ia64, mips, mipsel, powerpc, + s390, sparc. + + -- Matthias Klose Fri, 04 Jan 2008 07:34:15 +0100 + +gcc-4.3 (4.3-20080102-1) unstable; urgency=low + + [ Matthias Klose ] + * Update to SVN 20080102 from the trunk. + - Fix 64bit biarch builds (addresses: #447443). + * debian/rules.d/binary-java.mk: Reorder packaging to get shlibs + dependencies right. + * Use lib instead of lib64 as multilibdir on amd64 and ppc64. + * Build the java plugin always using libxul-dev. + * Add libgcj_bc to the libgcj9-0 shlibs file. + * Add symbol files for libgcc1, lib32gcc1, lib64gcc1, libstdc++6, + lib32stdc++6, lib64stdc++6, libgomp1, lib32gomp1, lib64gomp1, libffi4, + lib32ffi4, lib64ffi4, libobjc2, lib32objc2, lib64objc2, libgfortran3, + lib32gfortran3, lib64gfortran3. + Adjust build dependencies on dpkg-dev and debhelper. + * Do not build the java packages from the gcc-4.3 source package. + + [ Aurelien Jarno ] + * Disable amd64-biarch patch on kfreebsd-amd64. + + -- Matthias Klose Wed, 02 Jan 2008 23:48:14 +0100 + +gcc-4.3 (4.3-20071124-1) experimental; urgency=low + + [ Matthias Klose ] + * Update to SVN 20071124 from the trunk. + * Fix dependencies of lib*gcc1-dbg packages. + * gcjwebplugin: Fix path of the gcj subdirectory. LP: #149792. + * gij-hppa: Call gij-4.2, not gij-4.1. Addresses: #446282. + * Don't run the testsuite on hppa when expect-tcl8.3 is not available. + * Fix libgcc1-dbg doc directory symlink. Closes: #447969. + + [ Aurelien Jarno ] + * Update kbsd-gnu patch. + * Remove kbsd-gnu-ada patch (merged upstream). + + -- Matthias Klose Sat, 24 Nov 2007 13:14:29 +0100 + +gcc-4.3 (4.3-20070930-1) experimental; urgency=low + + [Matthias Klose] + * Update to SVN 20070929 from the trunk. + * Update debian patches to the current trunk. + * Regenerate the control file. + * On powerpc-linux-gnu and i486-linux-gnu cross-compile the 64bit + multilib libraries to allow a sucessful build on 32bit kernels + (our buildds). Although we won't get 64bit test results this way ... + * Remove the build dependency on expect-tcl8.3. + * Fix MULTILIB_OSDIRNAMES for cross builds targeted for amd64 and ppc64. + * When -fstack-protector is the default (Ubuntu), do not enable + -fstack-protector when -nostdlib is specified. LP: #77865. + * Always set STAGE1_CFLAGS to -g -O2, only pass other settings + when configuring when required. + * Configure --with-bugurl, adjust the bug reporting instructions. + * gcc-4.3: Install new cpuid.h header. + * Fix installation of the s390 libstdc++ biarch headers. + * Install new bmmintrin.h, mmintrin-common.h headers. + * Build -dbg packages for libgcc, libgomp, libmudflap, libffi, libobjc, + libgfortran. + * Downgrade libmudflap-dev recommendation to a suggestion. Closes: #443929. + + [Riku Voipio] + * Configure armeabi with --disable-sjlj-exceptions. + * armel testsuite takes ages, adjust build accordingly. + + -- Matthias Klose Sun, 30 Sep 2007 12:06:02 +0200 + +gcc-4.3 (4.3-20070902-1) experimental; urgency=low + + * Upload to experimental. + + -- Matthias Klose Sun, 2 Sep 2007 20:51:16 +0200 + +gcc-4.3 (4.3-20070902-0ubuntu1) gutsy; urgency=low + + * Update to SVN 20070902 from the trunk. + * Fix the build logic for the Ubuntu i386 buildd; we can't build biarch. + * Only remove libgcj9's classmap db if no other libgcj9* library is + installed. + * A lot more updates for 4.3 packaging. + + -- Matthias Klose Sat, 01 Sep 2007 21:01:43 +0200 + +gcc-4.3 (4.3-20070901-0ubuntu1) gutsy; urgency=low + + * Update to SVN 20070901 from the trunk. + * First gcc-4.3 package build. + - Update patches for the *-linux-gnu builds. + - Update build files for 4.3. + * Add proposed patch for PR middle-end/33029. + * gcj-4.3: Install gc-analyze. + + -- Matthias Klose Sat, 1 Sep 2007 20:52:16 +0200 + +gcc-4.2 (4.2.2-7) unstable; urgency=low + + * Update to SVN 20080114 from the ubuntu/gcc-4_2-branch. + - Fix PR middle-end/34762. LP: #182412. + * Update debian/watch. Closes: #459259. Addresses: #459391, #459392. + * Build libgomp documentation without building libgomp. Closes: #460660. + * Restore gomp development files. Closes: #460736. + + -- Matthias Klose Mon, 14 Jan 2008 23:20:04 +0100 + +gcc-4.2 (4.2.2-6) unstable; urgency=low + + * Update to SVN 20080113 from the ubuntu/gcc-4_2-branch. + * Adjust build-dependency on debhelper, dpkg-dev. + * Fix gnat-4.2 build failure (addresses: #456867). + * Do not build packages built from the gcc-4.3 source. + + -- Matthias Klose Sun, 13 Jan 2008 13:48:49 +0100 + +gcc-4.2 (4.2.2-5) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20080102 from the ubuntu/gcc-4_2-branch. + - Fix PR middle-end/32889, ICE in delete_output_reload. + Closes: #444873, #445336, #451047. + - Fix PR target/34215, ICE in assign_386_stack_local. + Closes: #446714, #452451. + - Fix PR target/33848, reference to non-existent label at -O1 on + mips/mipsel. Closes: #441633. + * debian/rules.d/binary-java.mk: dpkg-shlibsdeps can't handle the dangling + symlink to libgcj_bc.so.1. Remove it temporarily. + * Add libgcj_bc to the libgcj8-1 shlibs file. + * Fix build failures for gnat-4.2, gpc-4.2, gdc-4.2 introduced by recent + gdc changes. + * Add symbol files for libgcc1, lib32gcc1, lib64gcc1, libstdc++6, + lib32stdc++6, lib64stdc++6, libgomp1, lib32gomp1, lib64gomp1, libffi4, + lib32ffi4, lib64ffi4, libobjc2, lib32objc2, lib64objc2. Adjust build + dependencies on dpkg-dev and debhelper. + Adjust build-dependency on dpkg-dev. + + [Arthur Loiret] + * Fix gdc-4.2 build failure. + * Update gdc to upstream SVN 20071124. + - d-bi-attrs: Support attributes on declarations in other modules. + - d-codegen.cc (IRState::attributes): Support constant declarations as + string arguments. + * Enable libphobos: + - gdc-4.2.dpatch: Fix ICEs. + - gdc-4.2-build.dpatch: Update, make it cleaner. + * Install libphobos in the private gcc lib dir. + * gdc-4.2.dpatch: Update from gdc-4.1.dpatch. + - gcc/tree-sra.c: Do not use SRA on structs with aliased fields created + for anonymous unions. + - gcc/predict.c: Add null-pointer check. + * debian/rules.defs: Disable phobos on hurd-i386. + - gdc-hurd-proc_maps.dpatch: Remove. + + -- Matthias Klose Wed, 02 Jan 2008 15:49:30 +0100 + +gcc-4.2 (4.2.2-4) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20071123 from the ubuntu/gcc-4_2-branch. + - Fix PR middle-end/34130, wrong code with some __builtin_abs expressions. + Closes: #452108. + * Don't run the testsuite on hppa when expect-tcl8.3 is not available. + * Fix libgcc1-dbg doc directory symlink. Closes: #447969. + * Use gcc-multilib as build-dependency instead of gcc-4.1-mulitlib. + * Support for fast-math on hurd-i386 (Michael Banck). Closes: #451520. + * Fix again profiling support on the Hurd (Thomas Schwinge). Closes: #434937. + + [Arthur Loiret] + * Merge gdc-4.1 patches and build infrastructure: + - gdc-4.2.dpatch: Add, setup gcc-4.2.x for D. + - gdc-4.2-build.dpatch: Add, update gdc builtins and driver objs. + - gdc-driver-zlib.dpatch: Add, use up-to-date system zlib. + - gdc-driver-defaultlib.dpatch: Add, add -defaultlib/-debuglib switches. + - gdc-driver-nophobos.dpatch: Add, disable libphobos when unsupported. + - gdc-libphobos-build.dpatch: Add, enable libphobos build when supported. + - gdc-fix-build.dpatch: Add, fix build on non-biarched 64bits targets. + - gdc-libphobos-std-format.dpatch: Add, replace assert when formating a + struct on non-x86_64 archs by a FormatError. + - gdc-arm-unwind_ptr.dpatch: Add, fix build on arm. + - gdc-mips-gcc-config.dpatch: Add, fix build on mips. + - gdc-hurd-proc_maps.dpatch: Add, fix build on hurd. + + -- Matthias Klose Sat, 24 Nov 2007 12:01:06 +0100 + +gcc-4.2 (4.2.2-3) unstable; urgency=low + + * Update to SVN 20071014 from the ubuntu/gcc-4_2-branch. + - Fix build failure in libjava on mips/mipsel. + * Make 4.2.2-2 a requirement for frontends built from separate sources. + Addresses: #446596. + + -- Matthias Klose Sun, 14 Oct 2007 14:13:00 +0200 + +gcc-4.2 (4.2.2-2) unstable; urgency=low + + * Update to SVN 20071011 from the ubuntu/gcc-4_2-branch. + - Fix PR middle-end/33448, ICE in create_tmp_var. Closes: #439687. + - Remove debian/patches/pr31899.dpatch, applied upstream. + - Remove debian/patches/pr33381.dpatch, applied upstream. + * gij-hppa: Call gij-4.2, not gij-4.1. Addresses: #446282. + + -- Matthias Klose Thu, 11 Oct 2007 23:41:52 +0200 + +gcc-4.2 (4.2.2-1) unstable; urgency=low + + * Update to SVN 20071008 from the ubuntu/gcc-4_2-branch, corresponding + to the GCC-4.2.2 release. + * Fix dependencies of lib*gcc1-dbg packages. Closes: #445190. + * Remove libjava-armeabi patch integrated upstream. + * gcjwebplugin: Fix path of the gcj subdirectory. LP: #149792. + * Apply proposed patch for PR debug/31899. Closes: #445268. + + * Add niagara2 optimization support (David Miller). + + -- Matthias Klose Mon, 08 Oct 2007 21:12:41 +0200 + +gcc-4.2 (4.2.1-6) unstable; urgency=high + + [Matthias Klose] + * Update to SVN 20070929 from the ubuntu/gcc-4_2-branch. + - Fix PR middle-end/33382, ICE (closes: #441481). + - Fix PR tree-optimization/28544 (4.2.1, closes: #380482). + - Fix PR libffi/28313, port to mips64 (closes: #358235). + * Fix PR tree-optimization/33099, PR tree-optimization/33381, + wrong code generation with VRP/SCEV. Closes: #440545, #443576. + * Update Hurd fixes (Samuel Thibault). + * When -fstack-protector is the default (Ubuntu), do not enable + -fstack-protector when -nostdlib is specified. LP: #77865. + * Add -g to BOOT_CFLAGS, set STAGE1_CFLAGS to -g -O, only pass + other settings when required. + * Fix installation of the s390 libstdc++ biarch headers. + * Allow the powerpc build on a 32bit machine (without running the + biarch testsuite). + * Build -dbg packages for libgcc, libgomp, libmudflap, libffi, libobjc, + libgfortran. + * Drop the build dependency on expect-tcl8.3 (the hppa testsuite seems + to complete sucessfully with the expect package). + * Downgrade libmudflap-dev recommendation to a suggestion. Closes: #443929. + + * Closing reports reported against gcc-4.1 and fixed in gcc-4.2: + - General + + PR rtl-optimization/21299, error in invalid asm statement. + Closes: #380121. + - C++ + + PR libstdc++/19664, libstdc++ headers have pop/push of the visibility + around the declarations (closes: #307207, #324290, #423547). + + PR c++/21581, functions in anonymous namespaces default to "hidden" + visibility (closes: #278310). + + PR c++/4882, specialization of inner template using outer template + argument (closes: #269513). + + PR c++/6634, wrong parsing of "long long double" (closes: #247112). + + PR c++/10891, code using dynamic_cast causes segfaults when -fno-rtti + is used (closes: #188943). + + PR libstdc++/14991, stream::attach(int fd) porting entry out-of-date. + Closes: #178561. + + PR libstdc++/31638, string usage leads to warning with -Wcast-align. + Closes: #382153. + + Fix memory hog seen with g++-4.1. Closes: #411234. + - Fortran + + PR fortran/29228, ICE in gfc_trans_deferred_array (closes: #387222). + + PR fortran/24285, allow dollars everywhere in format (closes: #324600). + + PR libfortran/28354, 0.99999 printed as 0. instead of 1. by + format(f3.0). Closes: #397671. + + Fix ICE in gfc_get_extern_function_decl (closes: #396292). + - Architecture specific: + - i386 + + Fix error with -m64 (unable to find a register to spill in class + 'DIREG'). Closes: #430049. + - mips + + Fix ICE in tsubst (closes: #422303). + - s390 + + Fix ICE (segmentation fault) building dcmtk (closes: #435736). + + [Roman Zippel] + * Update the m68k patches. + + [Riku Voipio] + * Configure armeabi with --disable-sjlj-exceptions. + * armel testsuite takes ages, adjust build accordingly. + + [Ludovic Brenta and Xavier Grave] + * Add a version of the Ada run-time library using the setjump/longjump + exception handling mechanism (static library only). Use with + gnatmake --RTS=sjlj. Particularly useful for distributed (Annex E) + programs. + * Restore building libgnatvsn-dev and libgnatprj-dev. + + -- Matthias Klose Sat, 29 Sep 2007 11:19:40 +0200 + +gcc-4.2 (4.2.1-5) unstable; urgency=low + + * Update to SVN 20070825 from the ubuntu/gcc-4_2-branch. + - Fix PR debug/32610, LP: #121911. + * Apply proposed patches: + - Improve debug info for packed arrays with constant bounds + (PR fortran/22244). + - Fix ICE in rtl_for_decl_init on const vector initializers + (PR debug/32914). + - Fix (neg (lt X 0)) optimization (PR rtl-optimization/33148). + - Fix libgcc.a(tramp.o) on ppc32. + - Fix redundant reg/mem stores/moves (PR target/30961). + * Update the -fdirectives-only backport. + * gappletviewer-4.2: Include the gcjwebplugin binary. LP: #131114. + * Update gpc patches and build support (not yet enabled). + * Fix gcc-snapshot hppa64 install target. + * Set the priority of the source package to optional. + * Remove .la files from the biarch libstdc++ debug packages, + conflict with the 3.4 package. Closes: #440490. + + [Arthur Loiret] + * Add build support for GDC. + + -- Matthias Klose Mon, 27 Aug 2007 01:39:32 +0200 + +gcc-4.2 (4.2.1-4) unstable; urgency=medium + + * gcc-4.2: Include missing std*.h header files. + + -- Matthias Klose Tue, 14 Aug 2007 11:14:35 +0200 + +gcc-4.2 (4.2.1-3) unstable; urgency=low + + * Update to SVN 20070812 from the ubuntu/gcc-4_2-branch. + * debian/rules.defs: Fix typo, run the checks in biarch mode too. + * libgcj8-awt: Loosen dependency on gcj-4.2-base. + * Build only needed multilib libraries when building as gcj or gnat. + * Always build biarch libgomp in biarch builds. + * debian/rules2: Adjust testsuite logs files for logwatch.sh. + * Include header files from $/gcc_lib_dir)/include-fixed. + * Backport from trunk: -fdirectives-only (when preprocessing, handle + directives, but do not expand macros). + * Report an ICE to apport (if apport is available and the environment + variable GCC_NOAPPORT is not set) + * Fix gcj build failure on the Hurd (Samuel Thibault). Closes: #437470. + + -- Matthias Klose Sun, 12 Aug 2007 21:11:00 +0200 + +gcc-4.2 (4.2.1-2) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20070804 from the ubuntu/gcc-4_2-branch (20070804): + - Merge gcc-4_2-branch SVN 20070804. + - Imported classpath CVS 20070727. + - Bump the libgcj soname, add conflict with java-gcj-compat (<< 1.0.76-4). + - Remove patches integrated in the branches: pr32862. + - Update patches: libjava-subdir, libjava-jar. + - Add regenerated class files: svn-class-updates. + + * Fix profiling support on the Hurd (Michael Casadeval). Closes: #434937. + * Fix build on kfreebsd-amd64 (Aurelien Jarno). Closes: #435053. + * Period of grace is over, run the testsuite on m68k-linux again. + * Update infrastructure for the gcc-source package (Bastian Blank). + * Update profiling on the Hurd (Samuel Thibault, Michael Casadevall). + Closes: #433539. + * debian/rules2: Allow DEB_BUILD_OPTIONS=parallel= to overwrite NJOBS. + * Allow lang=, nolang= in DEB_BUILD_OPTIONS; deprecating + WITHOUT_LANG, and WITHOUT_CHECK. + * debian/rules.defs, debian/rules.conf: Cache some often used macros. + + * Preliminary work: Enable Java for ARM EABI (Andrew Haley), build + libffi for armel. + * gcj: Don't build the browser plugin in gcc-snapshot builds to get + rid of the xulrunner dependency. + * gcjwebplugin: Register for more browsers (package currently not built). + * gij/boehm-gc: Use sysconf as fallback, if reading /proc/stat fails. + Closes: #422469. + * libjava: Avoid dependency on MAXHOSTNAMELEN (Samuel Thibault). + * gcj: On arm and armel, use the ecj1 binary built from the ecj package. + * gcj: Don't require javac without java maintainer mode, remove build + dependencies on gcj and ecj, add build dependency on libecj-java. + + -- Matthias Klose Sun, 05 Aug 2007 15:56:07 +0200 + +gcc-4.2 (4.2.1-1) unstable; urgency=medium + + [Ludovic Brenta] + * debian/patches/ada-symbolic-tracebacks.c: remove all trace of + the function convert_addresses from adaint.c. Fixes FTBFS on alpha, + s390 and possibly other platforms. Closes: #433633. + * debian/control.m4: list myself as uploader if the source package name + is gnat. Relax build-dependency on gnat-4.2-source. + * debian/control.m4, debian/rules.conf: Build-depend on libmpfr-dev only + if building Fortran. + + [Matthias Klose] + * debian/rules.conf: Fix breakage of Fortran build dependencies introduced + by merge of the Ada bits. + * Don't include the gccbug binary anymore in the gcc package; upstream bug + reports should be reported to the upstream bug tracker at + http://gcc.gnu.org/bugzilla. + * Don't build and test libjava for the biarch architecture. + * Install gappletviewer man page. Addresses: #423094. + * debian/patches/m68k-java.dpatch: Readd. + * gjar: support @ arguments. + * Update to SVN 20070726 from the ubuntu/gcc-4_2-branch. + - Fix mips/mipsel builds. + * libmudflap0: Fix update leaving an empty doc dir. Closes: #428306. + * arm/armel doesn't have ssp support. Closes: #433172. + * Update kbsd-gnu-ada patch (Aurelien Jarno): Addresses: #434754. + * gcj-4.2: Build depend on gcj-4.2 to build the classpath examples files + for the binary-indep target. + * Fix PR java/32862, bugs in EnumMap implementation. Addresses: #423160. + + [Arthur Loiret] + * Fix cross builds targeting x86_64. Closes: LP: #121834. + + -- Matthias Klose Thu, 26 Jul 2007 21:46:03 +0200 + +gcc-4.2 (4.2.1-0) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20070719 from the ubuntu/gcc-4_2-branch, corresponding + to the GCC-4.2.1 release. + - debian/patches/arm-gij.dpatch: Remove. Closes: #433714. + * Apply proposed patch for PR tree-optimization/32723. + * Tighten build dependency on libmpfr-dev. + * On ia64, apply proposed patch for PR target/27880. Closes: #433719. + + [Hector Oron] + * Fix cross and reverse-cross builds. Closes: #432356. + + -- Matthias Klose Thu, 19 Jul 2007 17:59:37 +0200 + +gnat-4.2 (4.2-20070712-1) unstable; urgency=low + + * debian/rules.d/binary-ada.mk, debian/control.m4: + disable building libgnatvsn-dev and libgnatprj-dev, as they conflict + with packages from gnat-4.1. Will reenable them for the transition to + gnat-4.2. + * Upload as gnat-4.2. Closes: #432525. + + -- Ludovic Brenta Sat, 14 Jul 2007 15:12:34 +0200 + +gcc-4.2 (4.2-20070712-1) unstable; urgency=high + + [Matthias Klose] + * Update to SVN 20070712 from the ubuntu/gcc-4_2-branch. + - 4.2.1 RC2, built from SVN. + - same as gcc-4_2-branch, plus backport of gcc/java, boehm-gc, libffi, + libjava, zlib from the trunk. + - debian/patches/arm-libffi.dpatch: Remove. + - Fixes ICE in update_equiv_regs. Closes: #432604. + * debian/control.m4: Restore build dependency on dejagnu. + * debian/patches/arm-gij.dpatch: Update. + * i386-biarch.dpatch: Update for the backport for PR target/31868. + Closes: #432599. + + -- Matthias Klose Fri, 13 Jul 2007 08:07:51 +0200 + +gcc-4.2 (4.2-20070707-1) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20070707 from the ubuntu/gcc-4_2-branch. + - debian/patches/libjava-soname.dpatch: Remove. + - debian/patches/disable-configure-run-check.dpatch: Update. + * Only suggest multilib packages on multilib architectures. + * Point ICE messages to the 4.2 docdir. + * Explicitely use fastjar to build gcj-4.1. Addresses: #416001. + * Configure with --enable-libgcj on m32r (Kazuhiro Inaoka). + * Include the hppa64 cross compiler on hppa snapshot builds. + * debian/patches/arm-libffi.dpatch: Update. + * libgcj-doc: Include the generated documentation. + * Fix building the libjava/classpath examples. + * Support reverse cross builds (Neil Williams). Closes: #431086. + + -- Matthias Klose Sat, 07 Jul 2007 10:59:26 +0200 + +gcc-4.2 (4.2-20070627-1) unstable; urgency=high + + [Matthias Klose] + * Update to SVN gcc-4_2-branch/20070626. + * Update to SVN trunk/20070626 (gcc/java, libjava, libffi, boehm-gc). + * On mips*-linux, always imply -lpthread for -pthread (Thiemo Seufer). + Addresses: #428741. + * Fix libstdc++ cross builds (Arthur Loiret). Closes: #430395. + * README.Debian: Point to debian-toolchain for general toolchain topics. + * Use the generated locales for the libstdc++ build to fix the setting + of the gnu locale model. Closes: #428926, #429660. + * For ix86 lpia targets, configure --with-tune=i586. + * Make build dependency on gcc-4.1-multilib architecture specific. + * Do not ignore bootstrap comparision failure on ia64. + + [Ludovic Brenta] + * ada-link-lib.dpatch: update to apply cleanly on GCC 4.2. + * ada-libgnat{vsn,prj}.dpatch: adjust to GCC 4.2. Reenable in rules.patch. + * rules.conf: do not build libgomp as part of gnat-4.2. + * rules.conf, control.m4: build-depend on libz-dev, lib32z-dev or + lib64-dev only when building Java. + * rules2, rules.defs: $(with_mudflap): remove, use $(with_libmudflap) only. + * config.m4, binary-ada.mk: tighten dependencies; no Ada package depends + on gcc-4.2-base anymore. + * TODO: rewrite. + * README.gnat: include in gnat-4.2-base. Remove outdated information. + * README.maintainers: new. Include in gnat-4.2-base. + + [Hector Oron] + * Merge DEB_CROSS_INDEPENDENT with DEB_CROSS. + * Disables libssp0 for arm and armel targets when cross compiling. + * Updates README.cross. + * Fixes linker mapping problem on binary-libstdcxx-cross.mk. Closes: #430688. + + -- Matthias Klose Wed, 27 Jun 2007 21:54:08 +0200 + +gcc-4.2 (4.2-20070609-1) unstable; urgency=low + + * Update to SVN gcc-4_2-branch/20070609. + - Remove patches integrated upstream: pr30052, hppa-caller-save-pic-tls. + * Update to SVN trunk/20070609 (gcc/java, libjava, libffi, boehm-gc). + - Remove patches integrated upstream: libjava-qt-peer, + classpath-config-guess. + * Do not build with --enable-java-maintainer-mode. + * debian/rules.patch: Comment out m68k-peephole, requires m68k-split_shift. + * Add target to apply patches up to a specific patch (Wouter Verhelst). + Closes: #424855. + * libstdc++6-4.2-*: Add conflicts with 4.1 packages. Closes: #419511. + * Apply proposed fix for PR target/28102. Closes: #426905. + * Fix build failure for cross compiler builds (Jiri Palecek). Closes: #393897. + * Update build macros for kfreebsd-amd64. Closes: #424693. + + -- Matthias Klose Sat, 9 Jun 2007 06:54:13 +0200 + +gcc-4.2 (4.2-20070528-1) unstable; urgency=low + + * Update to SVN gcc-4_2-branch/20070528. + * Add backport for PR middle-end/20218. + * Add proposed PTA solver backport, PR tree-optimization/30052. + * Add backport for PR target/31868. + * Reenable the testsuite for arm, mips, mipsel. + + -- Matthias Klose Mon, 28 May 2007 09:03:04 +0200 + +gcc-4.2 (4.2-20070525-1) unstable; urgency=low + + * Update to SVN gcc-4_2-branch/20070525. + * Update to SVN trunk/20070520 (gcc/java, libjava, libffi, boehm-gc). + * Do not explicitely configure for __cxa_atexit. + * libstdc++6-4.2-doc: Conflict with libstdc++6-4.1-doc. Closes: #424896. + * Update m68k patches: + - Remove patches applied upstream: m68k-jumptable, m68k-gc, + - Reenable patches: m68k-save_pic, m68k-dwarf, m68k-limit_reload, + m68k-prevent-qipush, m68k-peephole, m68k-return, m68k-sig-unwind, + m68k-align-code m68k-align-stack, m68k-symbolic-operand, + m68k-bitfield-offset. + - Update: m68k-return, m68k-secondary-addr-reload, m68k-notice-move + m68k-secondary-addr-reload, m68k-notice-move. + - TODO: m68k-split_shift, m68k-dwarf3, m68k-fpcompare. + * Update the kfreebsd and arm patches (Aurelien Jarno). Closes: #425011. + * Temporarily disable the testsuite on slow architectures to get the + package built soon. + + -- Matthias Klose Fri, 25 May 2007 07:14:36 +0200 + +gcc-4.2 (4.2-20070516-1) unstable; urgency=low + + * Update to SVN gcc-4_2-branch/20070516. + * Update to SVN trunk/20070516 (gcc/java, libjava, libffi, boehm-gc). + * Merge changes from gcc-4.1_4.1.2-7. + * Update NEWS files. + + -- Matthias Klose Wed, 16 May 2007 02:33:57 +0200 + +gcc-4.2 (4.2-20070502-1) unstable; urgency=low + + * Update to SVN gcc-4_2-branch/20070502. + - Remove pr11953 patch, integrated upstream. + * Update to SVN trunk/20070502 (gcc/java, libjava, libffi, boehm-gc). + * Adjust tetex/tex-live build dependency. + * Fix gobjc-4.2's, gobjc++-4.2's dependency on libobjc2. + * Tighten (build) dependency on binutils. Addresses: #421197. + * gfortran-4.2: Depend on libgfortran2, provide the libgfortran.so + symlink. Adresses: #421362. + * Build-depend on gcc-multilib [amd64 i386 powerpc ppc64 s390 sparc]. + * (Build-) depend on glibc (>= 2.5) for all architectures. + * Remove libssp packages from the control file. + + -- Matthias Klose Wed, 2 May 2007 18:46:57 +0200 + +gcc-4.2 (4.2-20070405-1) experimental; urgency=low + + * Update to SVN gcc-4_2-branch/20070405. + * Update to SVN trunk/20070405 (gcc/java, libjava, libffi, boehm-gc). + * gcc-4.2-hppa64: Don't depend on libc6-dev. + * Robustify setting of make's -j flag. Closes: #410919. + * gcc-snapshot: Use the install_snap_stamp target for installation. + + -- Matthias Klose Thu, 5 Apr 2007 23:56:35 +0200 + +gcc-4.2 (4.2-20070307-1) experimental; urgency=low + + * Update to SVN gcc-4_2-branch/20070307. + * Update to SVN trunk/20070307 (gcc/java, libjava, libffi, boehm-gc). + * Build gnat from separate sources. + * Merge changes from gcc-4.1-4.1.2-1. + * Install into /usr/lib/gcc//4.2, to ease upgrades + between subminor versions. + * Configure --with-gxx-include-dir=/usr/include/c++/4.2 + + -- Matthias Klose Thu, 8 Mar 2007 02:52:00 +0100 + +gcc-4.2 (4.2-20070210-1) experimental; urgency=low + + * Merge Java backport from Ubuntu: + - Update to SVN gcc-4_2-branch/20070210. + - Update to SVN trunk/20070210 (gcc/java, libjava). + - Backout trunk specific gcc/java changes. + - Build-depend on gcj-4.1 and ecj-bootstrap. + - gcj-4.2: Depend on ecj-bootstrap, recommend ecj-bootstrap-gcj. + - Merge libgcj8-awt-gtk back into libgcj8-awt; the Qt peers + are disabled by upstream again. + - Generate manual pages for the classpath tools from the classpath + documentation. + - Adopt packaging for the merged libjava. + - Update patches for the merged libjava: libjava-lib32-properties, + i386-biarch, reporting, libjava-soname, libjava-subdir, + libjava-lib32subdir. + - Remove obsolete patches: libjava-plugin-binary, libjava-ia32fix, + libstdc++-docfixes. + + * Set priority of development packages to optional. + * debian/libgcjGCJ.postrm: Don't fail on purge when directories + don't exist anymore. Closes: #406017. + * debian/patches/gcc-textdomain.dpatch: Update for 4.2. + * Generate and install libgomp docs into gcc-4.2-doc. + + -- Matthias Klose Sat, 10 Feb 2007 16:53:11 +0100 + +gcc-4.2 (4.2-20070105-1) experimental; urgency=low + + * Update to SVN 20070105. + * Add tetex-extra to Build-Depend-Indep (libstd++ doxygen docs), + fix doxygen build (libstdc++-docfixes.dpatch). + * Enable parallel build by default on SMP machines. + + -- Matthias Klose Fri, 5 Jan 2007 22:42:18 +0100 + +gcc-4.2 (4.2-20061217-1) experimental; urgency=low + + * Update to SVN 20061217. + * Merge changes from gcc-4.1_4.1.1-16 to gcc-4.1_4.1.1-21. + * Update patches to the current branch. + * Add multilib packages for gcc, g++, gobjc, gobjc++, gfortran. + * Link using --hash-style=gnu (alpha, amd64, ia64, i386, powerpc, ppc64, + s390, sparc). + + -- Matthias Klose Sun, 17 Dec 2006 15:54:54 +0100 + +gcc-4.2 (4.2-20061003-1) experimental; urgency=low + + * libgcj.postinst: Remove /var/lib/gcj-4.2 on package removal. + * Don't install backup files in the doc directory, only one gcc-4.1 + upgrade was broken. Closes: #389366. + * Merge gcc-biarch-generic.dpatch into i386-biarch.dpatch. + * Update link-libs.dpatch. + * Merge libgfortran2-dev into gfortran-4.2. + + -- Matthias Klose Tue, 3 Oct 2006 16:26:38 +0000 + +gcc-4.2 (4.2-20060923-1) experimental; urgency=low + + * Update to SVN 20060923. + * Remove patches applied upstream: kbsd-gnu-java, kbsd-gnu. + + -- Matthias Klose Sat, 23 Sep 2006 15:11:36 +0200 + +gcc-4.2 (4.2-20060905-1) experimental; urgency=low + + * Update to SVN 20060905. + * Merge changes from gcc-4.1 (4.1.1-10 - 4.1.1-12). + * Move gomp development files into gcc and gfortran. + * Build-depend on binutils (>= 2.17). + + -- Matthias Klose Tue, 5 Sep 2006 03:33:00 +0200 + +gcc-4.2 (4.2-20060818-1) experimental; urgency=low + + * Update to SVN 20060818. + - libjava-libgcjbc.dpatch: Remove, applied upstream. + * Merge changes from the Ubuntu gcj-4.2 package: + - libjava-soname.dpatch: Remove, applied upstream. + - libjava-native-libdir.dpatch: update. + - libffi-without-libgcj.dpatch: Remove, new libffi-configure to + enable --disable-libffi. + - Changes required for the classpath-0.92 update: + - New packages gappletviewer-4.2, gcjwebplugin-4.2. + - gij-4.2: Add keytool alternative. + - gcj-4.2: Add jarsigner alternative. + - libgcj8-dev: Remove conflicts with older libgcjX-dev packages. + - lib32gcj8: Populate the /usr/lib32/gcj-4.2 directory. + - libjava-library-path.dpatch: + - When running the i386 binaries on amd64, look in + /usr/lib32/gcj-x.y and /usr/lib32/jni instead. + - Add /usr/lib/jni to java.library.path. Adresses: #364820. + - Add more debugging symbols to libgcj8-dbg. Adresses: #383705. + - Fix and renable the biarch build for sparc. + * Disable gnat for alpha, fails to build. + * Configure without --enable-objc-gc, fails to build. + + -- Matthias Klose Sat, 19 Aug 2006 18:25:50 +0200 + +gcc-4.2 (4.2-20060709-1) experimental; urgency=low + + * Test build, SVN trunk 20060709. + * Merge libssp0-dev into gcc-4.1 (-fstack-protector is a common option). + * Rename libmudflap0-dev to libmudflap0-4.2-dev. + * Ignore compiler warnings when checking whether compiler driver understands + Ada fails. + * Merge changes from the gcc-4.1 package. + + -- Matthias Klose Sun, 9 Jul 2006 14:28:03 +0200 + +gcc-4.2 (4.2-20060617-1) experimental; urgency=low + + * Test build, SVN trunk 20060617. + + [Matthias Klose] + * Configure using --enable-objc-gc, using the internal boehm-gc. + * Build-depend on bison (>= 1:2.3). + * Build the QT based awt peer library, not yet the same functionality + as the GTK based peer library. + * Update libjava-* patches. + + [Ludovic Brenta] + * Do not provide the symbolic link /usr/bin/gnatgcc; this will now + be provided by package gnat from the source package gcc-defaults. + * debian/control.m4, debian/control (gnat): conflict with gnat (<< 4.1), + not all versions of gnat, since gcc-defaults will now provide gnat (= 4.1) + which depends on gnat-4.1. + + [Bastian Blank] + * Make it possible to overwrite arch per DEB_TARGET_ARCH and + DEB_TARGET_GNU_TYPE. + * Disable biarch only on request for cross builds. + * Use correct source directory for tarballs. + * Produce correct multiarch.inc for source builds. + + -- Matthias Klose Sat, 17 Jun 2006 19:02:01 +0200 + +gcc-4.2 (4.2-20060606-1) experimental; urgency=low + + * Test build, SVN trunk 20060606. + * Remove obsolete patches, update patches for 4.2. + * Update the biarch-include patches to work with mips-triarch. + * Disable Ada, not yet updated. + * New packages: libgomp*. + * Remove fastjar, not included upstream anymore. + + -- Matthias Klose Tue, 6 Jun 2006 10:52:28 +0200 + +gcc-4.1 (4.1.2-12) unstable; urgency=high + + * i386-biarch.dpatch: Update for the backport for PR target/31868. + Closes: #427185. + * m68k-libffi2.dpatch: Update. Closes: #425399. + + -- Matthias Klose Mon, 4 Jun 2007 23:53:23 +0200 + +gcc-4.1 (4.1.2-11) unstable; urgency=low + + * Update to SVN 20070601. + * Build the libmudflap0-dev package again. + * Don't build libffi, when the packages are not built. + + -- Matthias Klose Fri, 1 Jun 2007 23:55:22 +0200 + +gcc-4.1 (4.1.2-10) unstable; urgency=low + + * Regenerate the control file. + + -- Matthias Klose Wed, 30 May 2007 00:29:29 +0200 + +gcc-4.1 (4.1.2-9) unstable; urgency=low + + * Update to SVN 20070528. + * Don't build packages now built from the gcc-4.2 source (arm, m68k, + mips, mipsel). + * Add backport for PR middle-end/20218. + * Add backport for PR target/31868. + + -- Matthias Klose Tue, 29 May 2007 00:01:12 +0200 + +gcc-4.1 (4.1.2-8) unstable; urgency=low + + * Update to SVN 20070518. + * Don't build packages now built from the gcc-4.2 source. + + [ Aurelian Jarno ] + * Update libffi patch for ARM. Closes: #425011. + * arm-pr30486, arm-pr28516, arm-unbreak-eabi-armv4t: New. + * Disable FFI, Java, ObjC for armel. + + -- Matthias Klose Sun, 20 May 2007 10:31:24 +0200 + +gcc-4.1 (4.1.2-7) unstable; urgency=low + + * Update to SVN 20070514. + * Link using --hash-style=both on supported architectures. Addresses: #421790. + * On hppa, build ecjx as a native binary. + * note-gnu-stack.dpatch: Fix ARM comment marker (Daniel Jacobowitz). + Closes: #422978. + * Add build dependency on libxul-dev for *-freebsd. Closes: #422995. + * Update config.guess/config.sub and build gcjwebplugin on GNU/kFreeBSD + (Aurelian Jarno). Closes: #422995. + * Disable ssp on hurd-i386. Closes: #423757. + + -- Matthias Klose Mon, 14 May 2007 08:40:08 +0200 + +gcc-4.1 (4.1.2-6) unstable; urgency=low + + * Update libjava from the gcc-4.1 Fedora branch 20070504. + * gfortran-4.1: Fix the target of the libgfortran.so symlink. + Closes: #421362. + * Build-depend on gcc-multilib [amd64 i386 powerpc ppc64 s390 sparc]. + * Readd build dependency on binutils on arm. + * (Build-) depend on glibc (>= 2.5) for all architectures. + * Remove libssp packages from the control file. + * Fix wrong code generation on hppa when TLS variables are used. + Closes: #422421. + + -- Matthias Klose Sun, 6 May 2007 10:00:23 +0200 + +gcc-4.1 (4.1.2-5) unstable; urgency=low + + * Update to SVN 20070429. + * Update libjava from the gcc-4.1 Fedora branch 20070428. + * Update m68k patches: + - Remove pr25514, pr27736, applied upstream. + - Update m68k-java. + * Link using --hash-style=gnu/both. + * Tighten (build) dependency on binutils. Closes: #421197. + * gij-4.1: Add a conflict with java-gcj-compat (<< 1.0.69). + * gfortran-4.1: Depend on libgfortran1, provide the libgfortran.so + symlink. Closes: #421362. + * gcc-4.1, gcc-4.1-multilib: Fix compatibility symlinks. Closes: #421382. + * Temporarily remove build dependency on locales on arm, hppa, m68k, mipsel. + * Temporarily remove build dependency on binutils on arm. + * Fix FTBFS on GNU/kFreeBSD (Aurelian Jarno). Closes: #421423. + * gij-4.1 postinst: Create /var/lib/gcj-4.1. Closes: #421526. + + -- Matthias Klose Mon, 30 Apr 2007 08:13:32 +0200 + +gcc-4.1 (4.1.2-4) unstable; urgency=medium + + * Update to SVN 20070423. + - Remove pr11953, applied upstream. + - Fix ld version detection in libstdc++v3. + * Update libjava from the gcc-4.1 Fedora branch 20070423. + * Merge libgfortran1-dev into gfortran-4.1. + * Add multilib packages for gcc, g++, gobjc, gobjc++, gfortran. + * Don't link using --hash-style=gnu/both; loosen dependency on binutils. + * Don't revert the patch to fix PR c++/27227. + + -- Matthias Klose Mon, 23 Apr 2007 23:13:14 +0200 + +gcc-4.1 (4.1.2-3) experimental; urgency=low + + * Update to SVN 20070405. + * Update libjava from the gcc-4.1 Fedora branch 20070405. + * Robustify setting of make's -j flag. Closes: #414316. + * Only build the libssp packages, when building the common libraries. + * gcc-4.1-hppa64: Don't depend on libc6-dev. + + -- Matthias Klose Fri, 6 Apr 2007 00:28:29 +0200 + +gcc-4.1 (4.1.2-2) experimental; urgency=low + + * Update to SVN 20070306. + * Update libjava from the gcc-4.1 Fedora branch 20070306. + + [Matthias Klose] + * Don't install gij-wrapper anymore, directly register gij as a java + alternative. + * Don't install gcjh-wrapper anymore. + * Don't use exact versioned dependencies on gcj-base for libgcj and + libgcj-awt. + * Fix glibc build dependency for alpha. + * Support -ffast-math on hurd-i386 (Samuel Thibault). Closes: #413342. + * Update kfreebsd-amd64 patches (Aurelien Jarno). Closes: #406015. + * gij: Consistently use $(dbexecdir) to reference the gcj sub dir. + * Install into /usr/lib/gcc//4.1, to ease upgrades + between minor versions. + Add compatibility symlinks in /4.1.2 to build gnat-4.1 + and gcj-4.1 from separate sources. + + -- Matthias Klose Wed, 7 Mar 2007 03:51:47 +0100 + +gcc-4.1 (4.1.2-1) experimental; urgency=low + + [Matthias Klose] + * Update to gcc-4.1.2. + * Update libjava backport patches, split out boehm-gc-backport patch. + * Enable the cpu-default-generic patch (i386, amd64), backport from 4.2. + * Correct mfctl instruction syntax (hppa), backport from the trunk. + * Backport PR java/9861 (name mangling updates). + * gcc.c (main): Call expandargv (backport from 4.2). + * Apply gcc dwarf2 unwinding patches from the trunk. + * Apply backport for PR 20208 on amd64 i386 powerpc ppc64 sparc s390. + * Apply patches from the 4.1 branch for PR rtl-optimization/28772, + PR middle-end/30313, PR middle-end/30473, PR c++/30536, PR debug/30189, + PR fortran/30478, PR rtl-optimization/30787, PR tree-optimization/30823, + PR rtl-optimization/28173, PR ada/30684, bug in pointer dependency test, + PR rtl-optimization/30931, PR fortran/25392, PR fortran/30400, + PR libgfortran/30910, PR libgfortran/30918, PR fortran/29441, + PR target/30634. + * Update NEWS files. + * Include a backport of the ecj+generics java updates as + gcj-ecj-20070215.tar.bz2. Install it into the gcc-4.1-source package. + * Do not build fastjar anymore from this source. + * debian/control.m4: Move expect-tcl8.3 before dejagnu. + * Work around firefox/icewhatever dropping plugin dependencies on xpcom. + * Refactor naming of libgcj packages in the build files. + * Make libstdc++-doc's build dependencies depending on the source package. + * Do not build packages on architectures, which are already built by gcc-4.2. + + * Merge the gcj generics backport from Ubuntu: + + - Merge the Java bits (eclipse based compiler, 1.5 compatibility, + classpath generics) from the gcc-4.1 Fedora branch. + - Drop all previous patches from the classpath-0.93 merge, keep + the boehm-gc backport (splitted out as a separate patch). + - Add a gcj-ecj-generics.tar.bz2 tarball, containing gcc/java, libjava, + config/unwind_ipinfo.m4, taken from the Fedora branch. + - Drop the libjava-hppa, libjava-plugin-binary, pr29362, pr29805 patches + integrated in the backport. + - Update patches for the merge: reporting, libjava-subdir, i386-biarch, + classpath-tooldoc, pr26885 + - Add libjava-dropped, libjava-install; dropped chunks from the merge. + - Add pr9861-nojava mangling changes, non-java parts for PR 9861. + - Add gcc-expandv, expand `@' parameters on the commandline; backport + from the trunk. + - Disable the m68k-gc patch, needs update for the merge. + - Configure --with-java-home set for 1.5.0. + - Configure with --enable-java-maintainer-mode to build the header + and class files on the fly. + - Add build dependency on ecj-bootstrap, configure --with-ecj-jar. + - Build an empty libgcj-doc package; gjdoc currently cannot handle + generics. + - Apply gcc dwarf2 unwinding patches from the trunk, allowing the Events + testcase to pass. + - Tighten dependencies on shared libraries. + - Use /usr/lib/gcj-4-1-71 as private gcj subdir. + - Bump the libgcj soversion to 71, rename the libgcj7-0 package + to libgcj7-1, rename the libgcj7-awt package to libgcj7-1-awt. + - gij-4.1: Add and provide alternatives for gorbd, grmid, gserialver. + - gcj-4.1: Remove gcjh, gcjh-wrapper, gjnih. + - gcj-4.1: Add and provide alternatives for jar, javah, native2ascii, + tnameserv. + - gcj-4.1: Add dependency on ecj-bootstrap, recommend fastjar, + ecj-bootstrap-gcj. + - Add build dependency on ecj-bootstrap version providing the GCCMain + class. + - libgcj7-1: Recommend libgcj7-1-awt. + - Add build dependency on libmagic-dev. + - Build-depend on gcj-4.1; build our own ecj1 and gjdoc before + starting the build. + - Make ecj1 available when running the testsuite. + - Fix build failure on sparc-linux. + - Fix gjavah compatibility problems (PR cp-tools/3070[67]). + - Fixed driver issue source files (PR driver/30714). + - Add (rudimentary) manual pages for classpath tools. + + [Kevin Brown] + * debian/control.m4, debian/rules.d/binary-ada.mk: provide new packages + containing debugging symbols for Ada libraries: libgnat-4.1-dbg, + libgnatprj4.1-dbg, and libgnatvsn4.1-dbg. Adresses: #401385. + + -- Matthias Klose Sat, 3 Mar 2007 23:12:08 +0100 + +gcc-4.1 (4.1.1ds2-30) experimental; urgency=low + + * Update to SVN 20070106. + * Do not revert the fixes for PR 25878, PR 29138, PR 29408. + * Don't build the packages built by gcc-4.2 source. + * debian/patches/note-gnu-stack.dpatch: Add .note.GNU-stack sections + for gcc's crt files, libffi and boehm-gc. Taken from FC. Closes: #382741. + * Merge from Ubuntu: + - Backport g++ visibility patches from the FC gcc-4_1-branch. + - Update the long-double patches; require glibc-2.4 as a build dependency + on alpha, powerpc, sparc, s390. Bump the shlibs dependencies to + require 4.1.1-21. + - On powerpc-linux configure using --enable-secureplt. Closes: #382748. + - When using the cpu-default-generic patch, build for generic x86-64 + on amd64 and i386 biarch. + - Link using --hash-style=both (alpha, amd64, ia64, i386, powerpc, ppc64, + s390, sparc). + * gij-4.1: Recommends libgcj7-awt instead of suggesting it. Closes: #394917. + * Split the gcc-long-double patch into a code and doc part. + * Set priority of development packages to optional. + * Add support for kfreebsd-amd64 (Aurelian Jarno). Closes: #406015. + + -- Matthias Klose Sat, 6 Jan 2007 10:35:42 +0100 + +gcc-4.1 (4.1.1ds2-22) unstable; urgency=high + + * Enable -pthread for GNU/Hurd (Michael Banck). Closes: #400031. + * Update the m68k-fpcompare patch (Roman Zippel). Closes: #401585. + + -- Matthias Klose Sun, 10 Dec 2006 12:35:06 +0100 + +gcc-4.1 (4.1.1ds2-20) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20061115. + - Fix PR tree-optimization/27891, ICE in tree_split_edge. + Closes: #370248, #391657, #394630. + - Fix PR tree-optimization/9814, duplicate of PR tree-optimization/29797. + Closes: #181096. + * Apply the libjava/net backport from the redhat/gcc-4_1-branch. + * Apply proposed patch for PR java/29805. + + [Roman Zippel] + * Build the ObjC and ObjC++ compilers in cross builds. + * debian/patches/m68k-symbolic-operand.dpatch: Better recognize + symbolic operands in addresses. + * debian/patches/m68k-bitfield-offset.dpatch: Only use constant offset + for register bitfields (combine expects shifts, but does a rotate). + * debian/patches/m68k-bitfield-offset.dpatch: Update and apply. + + [Daniel Jacobowitz] + * Don't try to use _Unwind_Backtrace on SJLJ targets. + See bug #387875, #388505, GCC PR 29206. + + -- Matthias Klose Wed, 15 Nov 2006 08:59:53 -0800 + +gcc-4.1 (4.1.1ds2-19) unstable; urgency=low + + * Fix typo in arm-pragma-pack.dpatch. + + -- Matthias Klose Sat, 28 Oct 2006 11:04:00 +0200 + +gcc-4.1 (4.1.1ds2-18) unstable; urgency=medium + + [Matthias Klose] + * Update to SVN 20061028. + * Fix #pragma pack on ARM (Paul Brook). Closes: #394703. + * Revert PR c++/29138, PR c++/29408. Closes: #392559. + * Revert PR c++/25878. Addresses: #387989. + * fastjar: Provide jar. Closes: #395397. + + [Ludovic Brenta] + * debian/control.m4 (libgnatprj-dev): depend on libgnatvsn-dev. + debian/gnatprj.gpr: with gnatvsn.gpr. Closes: #395000. + + -- Matthias Klose Thu, 26 Oct 2006 23:51:10 +0200 + +gcc-4.1 (4.1.1ds2-17) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20061020. + - Fix PR debug/26881, ICE in dwarf2out_finish. Closes: #377613. + - Fix PR PR c++/29408, parse error for valid code. Closes: #392327, #393010. + - Fix PR c++/29435, segfault with sizeof and templates. Closes: #393071. + - Fix PR target/29338, segfault with -finline-limit on arm. Closes: 390620. + - Fix 3.4/4.0 backwards compatibility problem in libstdc++. + * Fix PR classpath/29362, taken from the redhat/gcc-4_1-branch. + * Remove the INSTALL directory from the source tarball. Closes: #392974. + * Disable building the static libgcj; non-functional, and cutting + down build times. + * libgcj7-0: Tighten dependency on libgcj-common. + * libgcj7-dev: Install .pc file as libgcj-4.1.pc. + * README.cross: Updated (Hector Oron). Addresses: #380251. + * config-ml.dpatch: Use *-linux-gnu as *_GNU_TYPE. Closes: #394034. + + [Nikita V. Youshchenko] + * Fix typo in the cross build scripts. Closes: #391445. + + [Falk Hueffner] + * alpha-no-ev4-directive.dpatch: Fix kernel build failure. + + [Roman Zippel] + * debian/patches/m68k-align-code.dpatch: Use "move.l %a4,%a4" to advance + within code. + * debian/patches/m68k-align-stack.dpatch: Try to keep the stack word aligned. + * debian/patches/m68k-dwarf3.dpatch: Emit correct dwarf info for cfa offset + and register with -fomit-frame-pointer. + * debian/patches/m68k-fpcompare.dpatch: Bring fp compare early to its + desired form to relieve reload. Closes: #390879. + * debian/patches/m68k-prevent-swap.dpatch: Don't swap operands + during reloads. + * debian/patches/m68k-reg-inc.dpatch: Reinsert REG_INC notes after splitting + an instruction. + * debian/patches/m68k-secondary-addr-reload.dpatch: Add secondary reloads + to allow reload to get byte values into addr regs. Closes: #385327. + * debian/patches/m68k-symbolic-operand.dpatch: Better recognize symbolic + operands in addresses. + * debian/patches/m68k-limit_reload.dpatch: Remove, superseded by + m68k-secondary-addr-reload.dpatch. + * debian/patches/m68k-notice-move.dpatch: Apply, was checked in in -16. + * debian/patches/m68k-autoinc.dpatch: Updated, don't attempt to increment + the register, if it's used multiple times in the instruction . + + -- Matthias Klose Sat, 21 Oct 2006 00:25:05 +0200 + +gcc-4.1 (4.1.1ds1-16) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20061008. + - Fix PR c++/29226, ICE in make_decl_rtl. Closes: #388263. + * libgcj7-0: Fix package removal. Closes: #390874. + * Configure with --disable-libssp on architectures that don't + support it (alpha, hppa, ia64, m68k, mips, mipsel). + * On hppa, remove build-dependency on dash. + * gij/gcj: Do not install slave links for the non DFSG manpages. + Closes: #390425, #390532. + * libgcj-common: rebuild-gcj-db: Don't do anything, if no classmap + files are found. Closes: #390966. + * Fix PR libstdc++/11953, extended for all linux architectures. + Closes: #391268. + * libffi4-dev: Conflict with libffi. Closes: #387561. + * Backport PR target/27880 to the gcc-4_1-branch. Patch by Steve Ellcey. + Closes: #390693. + * On ia64, don't use _Unwind_GetIPInfo in libjava and libstdc++. + * Add a README.ssp with minimal documentation about stack smashing + protection. Closes: #366094. + * Do not build libgcj-common from the gcc-4.1/gcj-4.1 sources anymore. + + [Roman Zippel] + * debian/patches/m68k-notice-move.dpatch: Don't set cc_status + for fp move without fp register. + + -- Matthias Klose Sun, 8 Oct 2006 02:21:49 +0200 + +gcc-4.1 (4.1.1ds1-15) unstable; urgency=medium + + * Update to SVN 20060927. + - Fix PR debug/29132, exception handling on mips. Closes: #389468, #390042. + - Fix typo in gcc documentation. Closes: #386180. + - Fix PR target/29230, wrong code generation on arm. Closes: #385505. + * libgcj-common: Ignore exit value of gcj-dbtool in rebuild-gcj-db on + arm, m68k, hppa. Adresses: #388505. + * libgcj-common: Replaces java-gcj-compat-dev and java-gcj-compat. + Closes: #389539. + * libgcj-common: /usr/share/gcj/debian_defaults: Define gcj_native_archs. + * Update the java backport from the redhat/gcc-4_1-branch upto 2006-09-27; + remove libjava-str2double.dpatch, pr28661.dpatch. + * Disable ssp on hppa, not supported. + * i386-biarch.dpatch: Avoid warnings about macro redefinitions. + + -- Matthias Klose Fri, 29 Sep 2006 22:32:41 +0200 + +gcc-4.1 (4.1.1ds1-14) unstable; urgency=medium + + [Matthias Klose] + * Update to SVN 20060920. + - Fix PR c++/26957. Closes: #373257, #386910. + - Fix PR rtl-optimization/28243. Closes: #378325. + * Remove patch for PR rtl-optimization/28634, applied upstream. + * Fix FTBFS on GNU/kFreeBSD (fallout from the backport of classpath-0.92). + (Petr Salinger). Closes: #385974. + * Merge from Ubuntu: + - Do not encode the subminor version in the jar files. + - Fix typo for the versioned gcj subdirectory in lib32gcj-0. + - When running the i386 binaries on amd64, adjust the properties + java.home, gnu.classpath.home.url, sun.boot.class.path, + gnu.gcj.precompiled.db.path. + - Configure the 32bit build on amd64 + --with-java-home=/usr/lib32/jvm/java-1.4.2-gcj-4.1-1.4.2.0/jre. + - Configure --with-long-double-128 for glibc-2.4 on alpha, powerpc, ppc64, + s390, s390x, sparc, sparc64. + - Update the java backport from the redhat/gcc-4_1-branch upto 2006-09-20. + - Fix PR java/29013, invalid byte code generation. Closes: #386926. + - debian/patches/gcc-pfrs-2.dpatch: Apply a fix for a regression in the + backport of PR 28946 from the trunk (H.J. Lu). + * Backport PR classpath/28661 from the trunk. + * Don't ship the .la files for the java modules. Closes: #386228. + * gcj-4.1: Remove dangling symlink. Closes: #386430. + * gij: Suggest java-gcj-compat, gcj: Suggest java-gcj-compat-dev. + Closes: #361942. + * Fix infinite loop in string-to-double conversion on 64bit targets. + Closes: #348792. + * gij-4.1: Ignore exit value of gcj-dbtool in postinst. Adresses: #388505. + * libgcj-common: Move rebuild-gcj-db from java-gcj-compat into libgcj-common. + * On hppa, install a wrapper around gij-4.1 to ignore unaligned memory + accesses. Works around buildd configurations enabling this check by + default. Addresses: #364819. + + [Ludovic Brenta] + * debian/patches/ada-libgnatprj.dpatch: Build mlib-tgt-linux.adb instead of + mlib-tgt.adb. Closes: #387826. + * debian/patches/ada-pr15802.dpatch: Backport from the trunk. + Closes: #246384. + * debian/control.m4 (gnat-4.1): do not provide gnat (supplied by + gcc-defaults instead); conflict with gnat-4.2 which will soon be in + unstable. + + [Roman Zippel] + * debian/patches/m68k-dwarf2.dpatch: Recognize stack adjustments also + in the src of an instruction. + * debian/patches/m68k-jumptable.dpatch: Don't force byte offset when + accessing the jumptable, gas can generate the correct offset size instead. + * debian/patches/m68k-peephole.dpatch: Convert some text peepholes to rtl + peepholes, so the correct DWARF2 information can be generated for stack + manipulations (Keep a few peepholes temporarily disabled). + * debian/patches/m68k-peephole-note.dpatch: Don't choke on notes while + reinserting REG_EH_REGION notes. + * debian/patches/m68k-return.dpatch: Don't use single return if fp register + have to be restored. Closes: #386864. + * debian/patches/m68k-sig-unwind.dpatch: Add support for unwinding over + signal frames. + * Fix PR rtl-optimization/27736, backport from the trunk. + * Add java support for m68k. Closes: #312830, #340874, #381022. + + -- Matthias Klose Sun, 24 Sep 2006 19:36:31 +0200 + +gcc-4.1 (4.1.1ds1-13) unstable; urgency=medium + + * Update to SVN 20060901; remove patches applied upstream: + - PR target/24367. + - PR c++/26670. + * Apply proposed patch for PR fortran/28908. + * Fix biarch symlinks in lib64stdc++ for cross builds. + * Fix biarch symlinks in lib32objc on amd64. + + -- Matthias Klose Fri, 1 Sep 2006 00:04:05 +0200 + +gcc-4.1 (4.1.1ds1-12) unstable; urgency=medium + + [Matthias Klose] + * Update to SVN 20060830. + * Add backport of PR other/26208, bump libgcc1 shlibs dependency. + * Add backport of PR c++/26670. Closes: #356548. + * Apply proposed patch for PR target/24367 (s390). + * Add /usr/lib/jni to the libjava dlsearch path. Closes: #364820. + * Build without GFDL licensed docs. Closes: #384036. + - debian/patches/{svn-doc-updates,pr25524-doc,pr26885-doc}.dpatch: + Split out -doc specific patches. + - debian/*.texi, debian/porting.html: Add dummy documentation. + - debian/rules.unpack, debian/rules.patch: Update for non-gfdl build. + - fastjar.texi: Directly define the gcctabopt and gccoptlist macros. + + * Merge from Ubuntu: + - Backport the classpath-0.92, libjava, gcc/java merge from the + redhat/gcc-4_1-branch branch. + - Apply the proposed patch for PR libgcj/28698. + - Change the libgcj/libgij sonames. Rename libgcj7 to libgcj7-0. + - Do not remove the rpath from libjvm.so and libjawt.so. Some + configure scripts rely on being able to link that libraries + directly. + - When running the i386 binaries on amd64, look in + /usr/lib32/gcj-x.y and /usr/lib32/jni instead. + - Add /usr/lib/jni to java.library.path. Closes: #364820. + - Add debugging symbols for more binary packages to libgcj7-dbg. + Closes: #383705. + - libgcj7-dev: Remove conflicts with older libgcjX-dev packages. + - Do not build the libgcj-bc and lib32gcj-bc packages anymore from + the gcj-4.1 source. + + [Roman Zippel] + * debian/patches/m68k-limit_reload.dpatch: Correctly limit reload class. + Closes: #375522. + * debian/patches/m68k-split_shift.dpatch: Use correct predicates for long long + shifts and use more splits. Closes: #381572. + * debian/patches/m68k-prevent-qipush.dpatch: Prevent combine from creating + a byte push on the stack (invalid on m68k). Closes: #385021. + * debian/patches/m68k-autoinc.dpatch: Recognize a few more autoinc possibilities. + * debian/patches/pr25514.dpatch: Backport from the trunk. + * debian/patches/m68k-gc.dpatch: Change STACKBOTTOM to LINUX_STACKBOTTOM + so it works with 2.6 kernels. + * Other m68k bug reports fixed in 4.1.1-11 and 4.1.1-12: + Closes: #378599, #345574, #344041, #323426, #340293. + * Build the stage1 compiler using -g -O2; saves a few hours build time + and apparently is working at the moment. + + -- Matthias Klose Tue, 29 Aug 2006 21:37:28 +0200 + +gcc-4.1 (4.1.1-11) unstable; urgency=low + + * The "Our priority are our users, remove the documentation!" release. + + [Matthias Klose] + * Fix build failure building the hppa->hppa64 cross compiler. + * Update to SVN 20060814. + - Fix directory traversal vulnerability in fastjar. Closes: #368397. + CVE-2006-3619. + - Fix PR rtl-optimization/23454, ICE in invert_exp_1 on sparc. + Closes: #321215. + - Fix PR c++/26757, C++ front-end producing two DECLs with the same UID. + Closes: #356569. + * Remove patch for PR rtl-optimization/28075, applied upstream. + * Apply proposed patch for PR rtl-optimization/28634, rounding problem with + -fdelayed-branch on hppa/mips. Closes: #381710. + * Fixed at least in 4.1.1-10: boost::date_time build failure. + Closes: #382352. + * Build-depend on make (>= 3.81), add make (>= 3.81) as dependency to + gcc-4.1-source. Closes: #381117. + * Backport of libffi from the trunk; needed for the java backport in + experimental. + * libffi4-dev: Install the libffi_convenience library as libffi_pic.a. + * When building a package without the GFDL'd documentation, don't create + the alternative's slave links for manual pages for the java tools. + * Do not build the -doc packages and derived manual pages licensed under + the GFDL with invariant sections or cover texts. + * Only build the libssp package, if the target libc doesn't provide + ssp support. + * Run the complete testsuite, when building a standalone gcj package. + + [Roman Zippel] + * debian/patches/m68k-fjump.dpatch: + Always use as fjcc pseudo op, we rely heavily on as to generate the + right size for the jump instructions. Closes: #359281. + * debian/patches/m68k-gc.dpatch: + The thread suspend handler has to save all registers. + Reenable MPROTECT_VDB, it should work, otherwise it's probably a kernel bug. + * debian/patches/m68k-save_pic.dpatch: + Correctly save the pic register, when not done by reload(). + (fixes _Unwind_RaiseException and thus exception handling). + * debian/patches/m68k-libffi.dpatch: Add support for closures. + * debian/patches/m68k-bitfield.dpatch: Avoid propagation of mem expression + past a zero_extract lvalue. + * debian/patches/m68k-dwarf.dpatch: Correct the dwarf frame information, + but preserve compatibility. + + [Christian Aichinger] + * Fix building a cross compiler targeted for ia64. Closes: #382627. + + -- Matthias Klose Tue, 15 Aug 2006 00:41:00 +0200 + +gcc-4.1 (4.1.1-10) unstable; urgency=low + + * Update to SVN 20060729. + - Fix PR c++/28225, segfault in type_dependent_expression_p. + Closes: #376148. + * Apply proposed patch for PR rtl-optimization/28075. + Closes: #373820. + * Apply proposed backport and proposed patch for PR rtl-optimization/28221. + Closes: #376084. + * libgcj7-jar: Loosen dependency on gcj-4.1-base. + * Add ssp header files to the private gcc includedir. + * Do not build the Ada packages from the gcc-4.1 source, introducing + a new gnat-4.1 source package. + * Build libgnat on alpha and s390 as well. + * Do not build the gnat-4.1-doc package (GFDL with invariant sections or + cover texts). + * Remove references to the stl-manual package. Closes: #378698. + + -- Matthias Klose Sat, 29 Jul 2006 22:08:59 +0200 + +gcc-4.1 (4.1.1-9) unstable; urgency=low + + * Update to SVN 20060715. + - Fix PR c++/28016, do not emit uninstantiated static data members. + Closes: #373895, #376871. + * Revert the patch to fix PR c++/27227. Closes: #378321. + * multiarch-include.dpatch: Renamed from biarch-include.dpatch; + apply for all architectures. + * Do not build the java compiler in gcc-4.1 package, just include the + options and specs in the gcc driver. + * Remove gnat-4.0 as an alternative build dependency. + * Add a patch to enable -fstack-protector by default for C, C++, ObjC, ObjC++. + The patch is disabled by default. + + -- Matthias Klose Sat, 15 Jul 2006 17:07:29 +0200 + +gcc-4.1 (4.1.1-8) unstable; urgency=medium + + * Update to SVN 20060708. + - Fix typo in gcov documentation. Closes: #375140. + - Fix typo in gccint documentation. Closes: #376412. + - [alpha], Fix -fvisibility-inlines-hidden segfaults on reference to + static method. PR target/27082. Closes: #369642. + + * Fix ppc64 architecture string in debian/multiarch.inc. Closes: #374535. + * Fix conflict, replace and provide libssp0-dev for cross compilers. + Closes: #377012. + * Ignore compiler warnings when checking whether compiler driver understands + Ada fails. Closes: #376660. + * Backport fix for PR libmudflap/26864 from the trunk. Closes: #26864. + * README.C++: Remove non-existing URL. Closes: #347601. + * gij-4.1: Provide java2-runtime. Closes: #360906. + + * Closed reports reported against gcc-3.0 and fixed in gcc-4.1: + - C++ + + PR libstdc++/13943, call of overloaded `llabs(int)' is ambiguous. + Closes: #228645. + - Java + + Fixed segmentation fault on compiling bad program. Closes: #165635 + * Closed reports reported against gcc-3.3 and fixed in gcc-4.1: + - Stack protector available. Closes: #213994, #233208. + - Better documentation of -finline-limit option. Closes: #296047. + * Closed reports reported against gcc-3.4 and fixed in gcc-4.1: + - General + + Fixed [unit-at-a-time] Using -O2 cannot detect missing return + statement in a function. Closes: #276843. + - C++ + + PR13943, call of overloaded `llabs(int)' is ambiguous. Closes: #228645. + + PR c++/21280, #pragma interface, templates, and "inline function used + but never defined". Closes: #364412. + - Architecture specific: + - m68k + + Segfault building glibc. Closes: #353618. + + ICE when trying to build boost. Closes: #321486. + * Closed reports reported against gcc-4.0 and fixed in gcc-4.1: + - General + + Handling of #pragma GCC visibility for builtin functions. + Closes: #330279. + + gettext interpretation the two conditional strings as one. + Closes: #227193. + + ICE due to if-conversion. Closes: #335078. + + Fix unaligned accesses with __attribute__(packed) and memcpy. + Closes: #355297. + + Fix ICE in expand_expr_real_1, at expr.c. Closes: #369817. + - Ada + + Link error not finding -laddr2line. Closes: #322849. + + ICE on invalid code. Closes: #333564. + - C++ + + libstdc++: bad thousand separator with fr_FR.UTF-8. Closes: #351786. + + The Compiler uses less memory than 4.0. Closes: #336225. + + Fix "fails to compare reverse map iterators". Closes: #362840. + + Fix "fail to generate code for base destructor defined inline with + pragma interface". Closes: #356435. + + Fix ICE in cp_expr_size, at cp/cp-objcp-common.c. Closes: #317455. + + Fix wrong warning: control may reach end of non-void function. + Closes: #319309. + + Fix bogus warning "statement has no effect" with template and + statement-expression. Closes: #336915. + + Fixed segfault on syntax error. Closes: #349087. + + Fix ICE with __builtin_constant_p in template argument. + Closes: #353366. + + Implement DR280 (fixing "no operator!= for const_reverse_iterator"). + Closes: #244894. + - Fortran + + Fix wrong behaviour in unformatted writing. Closes: #369547. + - Java + + Fixed segfault on -fdump-tree-all-all. Closes: #344265. + + Fixed ant code completion in eclipse generating a nullpointer + exception. Closes: #337510. + + Fixed abort in gnu_java_awt_peer_gtk_GtkImage.c. Closes: #343112. + + Fixed assertion failure in gij with rhdb-explain. Closes: #335650. + + Fixed assertion failure when calling JTabbedPane.addTab(null, ...). + Closes: #314704. + + Fixed error when displaying empty window with bound larger than the + displayed content. Closes: #324502. + + Fixed: Exception in JComboBox.removeAllItems(). Closes: #314706. + + Fixed assertian error in gnu_java_awt_peer_gtk_GtkImage.c. + Closes: #333733. + - libmudflap + + PR libmudflap/23170, libmudflap should not use functions marked + obsolescent by POSIX/SUS. Closes: #320398. + - Architecture specific: + - m68k + + FTBFS building tin. Closes: #323016. + + ICE with -g -fomit-frame-pointer. Closes: #331150. + + ICE in instantiate_virtual_regs_lossage. Closes: #333536. + + Wrong code generation with loop unrolling. Closes: #342121. + + ICEs while building gst-ffmpeg. Closes: #343692. + - mips + + Fix gjdoc build failure. Closes: #344986. + + Fix link failure for static libs and object files when xgot + needs to be used. Closes: #274942. + * gnat bug reports fixed since gnat-3.15p: + - GNAT miscounts UTF8 characters in string with -gnaty. Closes: #66175. + - Bug box from "with Text_IO" when compiling optimized. Closes: #243795. + - Nonconforming parameter lists not detected. Closes: #243796. + - Illegal use clause not detected. Closes: #243797. + - Compiler enters infinite loop on illegal program with tagged records. + Closes: #243799. + - Compiler crashes on illegal program (missing discriminant, unconstrained + parent). Closes: #243800. + - Bug box at sinfo.adb:1215 on illegal program. Closes: #243801. + - Bug box at sinfo.adb:1651 on illegal program. Closes: #243802. + - Illegal program not detected (entry families). Closes: #243803. + - Illegal program not detected, RM 10.1.1(14). Closes: #243807. + - Bug box at exp_ch9.adb:7254 on illegal code. Closes: #243812. + - Illegal program not detected, RM 4.1.4(14). Closes: #243816. + - Bug box in Gigi, code=116, on legal program. Closes: #244225. + - Illegal program not detected, 12.7(10) (generic parameter is visible, + shouldn't be). Closes: #244483. + - Illegal program not detected, ambiguous aggregate. Closes: #244496. + - Bug box at sem_ch3.adb:8003. Closes: #244940. + - Bug box in Gigi, code=103, on illegal program. Closes: #244945. + - Legal program rejected, overloaded procedures. Closes: #246188. + - Bug box in Gigi, code=999, on legal program. Closes: #246388. + - Illegal program not detected, RM 10.1.6(3). Closes: #246389. + - Illegal program not detected, RM 3.10.2(24). Closes: #247014. + - Illegal program not detected, RM 3.9(17). Closes: #247015. + - Legal program rejected. Closes: #247016. + - Legal program rejected. Closes: #247021. + - Illegal program not detected, RM 4.7(3). Closes: #247022. + - Illegal program not detected, RM 3.10.2(27). Closes: #247562. + - Legal program rejected, "limited type has no stream attributes". + Closes: #247563. + - Wrong output from legal program. Closes: #247565. + - Compiler enters infinite loop on illegal program. Closes: #247567. + - Illegal program not detected, RM 8.6(31). Closes: #247568. + - Legal program rejected, visible declaration not seen. Closes: #247572. + - Illegal program not detected, RM 8.2(9). Closes: #247573. + - Wrong output from legal program, dereferencing access all T'Class. + Closes: #248171. + - Compiler crashes on illegal program, RM 5.2(6). Closes: #248174. + - Cannot find generic package body, RM 1.1.3(4). Closes: #248677. + - Illegal program not detected, RM 3.4.1(5). Closes: #248679. + - Compiler ignores legal override of abstract subprogram. Closes: #248686. + - Bug box, Assert_Failure at sinfo.adb:2365 on illegal program. + Closes: #251266. + - Ada.Numerics.Generic_Elementary_Functions.Log erroneout with -gnatN. + Closes: #263498. + - Bug box, Assert_Failure at atree.adb:2906 or Gigi abort, code=102 + with -gnat -gnatc. Closes: #267788. + - Bug box in Gigi, code=116, 'Unrestricted_Access of a protected + subprogram. Closes: #269775. + - Stack overflow on illegal program, AI-306. Closes: #276225. + - Illegal program not detected, RM B.1(24). Closes: #276226. + - Wrong code generated with -O -fPIC. Closes: #306833. + - Obsolete: bashism's in debian/rules file. Closes: #370681. + - Supports more debian architectures. Closes: #171477. + + -- Matthias Klose Sat, 8 Jul 2006 16:24:47 +0200 + +gcc-4.1 (4.1.1-7) unstable; urgency=low + + * Prefer gnat-4.1 over gnat-4.0 as a build dependency. + * libssp0: Set priority to standard. + + -- Matthias Klose Sun, 2 Jul 2006 10:22:50 +0000 + +gcc-4.1 (4.1.1-6) unstable; urgency=low + + [Ludovic Brenta] + * Do not provide the symbolic link /usr/bin/gnatgcc; this will now + be provided by package gnat from the source package gcc-defaults. + * debian/control.m4, debian/control (gnat): conflict with gnat (<< 4.1), + not all versions of gnat, since gcc-defaults will now provide gnat (= 4.1) + which depends on gnat-4.1. + + [Matthias Klose] + * libjava: Change the default for enable_hash_synchronization_default + on PA-RISC. Tighten the libgcj7 shlibs version on hppa. + * Update to SVN 20060630. + * Apply proposed patch for PR 26991. + * Don't use the version for the libstdc++ shlibs dependency for the libgcj + shlibs dependency. + * Merge from Ubuntu edgy: + - Fix %g7 usage in TLS, add patch sparc-g7.dpatch, fixes glibc-2.4 build + failure on sparc (Fabio M. Di Nitto). + - Merge libssp0-dev into gcc-4.1 (-fstack-protector is a common option). + - Run the testsuite with -fstack-protector as well. + + [Bastian Blank] + * Make it possible to overwrite arch per DEB_TARGET_ARCH and DEB_TARGET_GNU_TYPE. + * Disable biarch only on request for cross builds. + * Use correct source directory for tarballs. + * Produce correct multiarch.inc for source builds. + + -- Matthias Klose Sat, 1 Jul 2006 01:49:55 +0200 + +gcc-4.1 (4.1.1-5) unstable; urgency=low + + * Fix build error running with dpkg-buildpackage -rsudo. + + -- Matthias Klose Wed, 14 Jun 2006 01:54:13 +0200 + +gcc-4.1 (4.1.1-4) unstable; urgency=low + + * Really do not backout the fix for PR c++/26068. + Closes: #372152, #372559. + * Update fastjar version string to 4.1. + * Disable pascal again. + + -- Matthias Klose Mon, 12 Jun 2006 20:29:57 +0200 + +gcc-4.1 (4.1.1-3) unstable; urgency=low + + * Update to SVN 20060608, do not revert the fix for PR c++/26068. + Closes: #372152, #372559. + * Fix build failures for Pascal, enable Pascal on all architectures. + * Fix another build failure on GNU/kFreeBSD (Aurelien Jarno). + Closes: #370661. + * Fix build fauilure in gcc/p with parallel make. + * Remove cross-configure patch (Kazuhiro Inaoka). Closes: #370649. + * Only build the gcc-4.1-source package, when building from the gcc-4.1 + source. + * Fix upgrade problem from standalone gcj-4.1. + * Fix build error using bison-2.2, build-depend on bison (>= 2.3). + Closes: #372605. + * Backport PR libstdc++/25524 from the trunk, update the biarch-include + patch. mips triarch support can be added more easily. + + -- Matthias Klose Mon, 12 Jun 2006 00:23:45 +0200 + +gcc-4.1 (4.1.1-2) unstable; urgency=low + + * Update to SVN 20060604. + - Fix PR c++/26757, C++ front-end producing two DECLs with the same UID. + Closes: #356569. + - Fix PR target/27158, ICE in extract_insn with -maltivec. + Closes: #362307. + * Revert PR c++/26068 to work around PR c++/27884 (Martin Michlmayr). + Closes: #370308. + * Mention Ada in copyright, update copyright file (Ludovic Brenta). + Closes: #366744. + * Fix kbsd-gnu-java.dpatch (Petr Salinger). Closes: #370320. + * Don't include version control files in gcc-4.1-source. + + -- Matthias Klose Sun, 4 Jun 2006 19:13:37 +0000 + +gcc-4.1 (4.1.1-1) unstable; urgency=low + + [Matthias Klose] + * Update to SVN 20060601. + * Reenable the gpc build. + * PR libgcj/26483, libffi patch for IA-64 denorms, taken from trunk. + * Disable Ada for m32r targets. Closes: #367595. + * lib32gfortran1: Do not create empty directory /usr/lib32. Closes: #367999. + * gcc-4.1: Add a conflict to the gcj-4.1 version with a different + gcc_libdir. + * Build gij/gcj for GNU/k*BSD. Closes: #367166. + * Update hurd-changes patch (Michael Banck). Closes: #369690. + * debian/copyright: Add exception for the gpc runtime library. + * Update gpc/gpc-doc package descriptions. + + [Ludovic Brenta] + * patches/ada-libgnatprj.dpatch: add prj-pars.ad[bs] and sfn_scan.ad[bs] + to libgnatprj; remove them from gnatmake. + + -- Matthias Klose Thu, 1 Jun 2006 20:35:54 +0200 + +gcc-4.1 (4.1.0-4) unstable; urgency=low + + [Ludovic Brenta] + * Fix a stupid bug whereby fname.ad{b,s} would be included in both + libgnatvsn-dev and libgnatprj-dev, preventing use of gnatprj.gpr. + Closes: #366733. + + -- Matthias Klose Thu, 11 May 2006 04:34:50 +0200 + +gcc-4.1 (4.1.0-3) unstable; urgency=low + + * Update to SVN 20060507. + * debian/rules.d/binary-java.mk: Use $(lib32) everywhere. Closes: #365388. + * Always configure hppa64-linux-gnu with + --includedir=/usr/hppa64-linux-gnu/include. + * Make libgnatvsn4.1 and libgnatprj4.1 priority optional. Closes: #365900. + * Call autoconf2.13 explicitely in the Ada patches, build-depend on + autoconf2.13. Closes: #365780. + * Fix libgnatprj-dev and libgnatvsn-dev dependencies on their shared + libraries. + * Deduce softfloat and vfp (ARM) configure options (Pjotr Kourzanov). + * Update proposed patch for PR26885 (May 2 version). + * Build the libxxstdc++-dbg packages, when not building the library pacakges. + * Do not include the _pic library in the libxxstdc++-dbg packages. + + -- Matthias Klose Sun, 7 May 2006 15:29:53 +0200 + +gcc-4.1 (4.1.0-2) unstable; urgency=medium + + * Update to SVN 20060428. + * Apply proposed patches for PR26885. + + * Keep libffi doc files in its own directory. Closes: #360466. + * Update ppc64 patches for 4.1 (Andreas Jochens). Closes: #360498. + * Fix PR tree-optimization/26763, wrong-code, taken from the 4.1 branch. + Closes: #356896. CVE-2006-1902. + * hppa-cbranch, hppa-cbranch2 patches: Fix for PR target/26743, + PR target/11254, PR target/10274, backport from trunk (Randolph Chung). + * Let libgccN provide -dcv1 when cross-compiling (Pjotr Kourzanov). + Closes: #363289. + * (Build-)depend on glibc-2.3.6-7. Closes: #360895, #361904. + * Fix a pedantic report about a package description. Add a hint that + we do not like bug reports with locales other than "C". Closes: #361409. + * Enable the libjava interpreter on mips/mipsel. + * gcc-4.1-source: Depend on gcc-4.1-base. + * gnat-4.1: Fix permissions of .ali files. + * Build lib32gcj7 on amd64. + * debian/patches/ada-gnatvsn.dpatch: New. Apply proposed fix for + PR27194. + + [Ludovic Brenta] + * debian/patches/ada-default-project-path.dpatch: new. Change the + default search path for project files to the one specified + by the Debian Policy for Ada: /usr/share/ada/adainclude. + * debian/patches/ada-symbolic-tracebacks.dpatch: new. Enable support for + symbolic tracebacks in exceptions. + * debian/patches/ada-missing-lib.dpatch: remove, superseded by the above. + * debian/patches/ada-link-lib.dpatch: changed. + - Instead of building libada as a target library only, build it as + both a host and, if different, target library. + - Build the GNAT tools in their top-level directory; do not use + recursive makefiles. + - Link the GNAT tools dynamically against libgnat. + - Apply proposed fix for PR27300. + - Rerun autoconf (Matthias Klose). + * debian/patches/ada-libgnatvsn.dpatch: new. + - Introduce a new shared library named libgnatvsn, containing + common components of GNAT under the GNAT-Modified GPL, for + use in GNAT tools, ASIS, GLADE and GPS. + - Link the gnat tools against this new library. + - Rerun autoconf (Matthias Klose). + * debian/patches/ada-libgnatprj.dpatch: new. + - Introduce a new shared library named libgnatprj, containing the + GNAT Project Manager, i.e. the parts of GNAT that parses project + files (*.gpr). Licensed under pure GPL; for use in GLADE and GPS. + - Link the gnat tools against this new library. + - Rerun autoconf (Matthias Klose). + * debian/patches/ada-acats.dpatch: new. + - When running the ACATS, look for the gnat tools in their new + directory (build/gnattools), and for the shared libraries in + build/gcc/ada/rts, build/libgnatvsn and build/libgnatprj. + * debian/gnatvsn.gpr, debian/gnatprj.gpr: new. + * debian/rules.d/binary-ada.mk, debian/control.m4: new binary packages: + libgnatvsn-dev, libgnatvsn4.1, libgnatprj-dev, libgnatprj4.1. Place + the *.gpr files in their respective -dev packages. + + -- Matthias Klose Sat, 29 Apr 2006 00:32:09 +0200 + +gcc-4.1 (4.1.0-1) unstable; urgency=low + + * libstdc++CXX-BV-dev.preinst: Remove (handling of c++ include dir for 4.0). + * libgcj-common: Move removal of docdir from preinst into postinst. + * libgcj7: Move removal of docdir from preinst into postinst. + * Drop alternative build dependency on gnat-3.4, not built anymore. + * Fix PR libgcj/26103, wrong exception thrown (4.1 branch). + * debian/patches/libjava-stacktrace.dpatch: Add support to print file names + and line numbers in stacktraces. + * Add debugging symbols for libgcjawt and lib-gnu-java-awt-peer-gtk + in the libgcj7-dbg and lib32gcj7-dbg packages. + * Remove dependency of the libgcj-dbg packages on the libgcj-dev packages, + add recommendations on binutils and libgcj-dev. Mention the requirement + of binutils for the stacktraces. + * Fix upgrade from version 4.0.2-9, loosing the Debian changelog. + Closes: #355439. + * gij/gcj: Install one alternative for each command, do not use slave + links for rmiregistry, javah, rmic. Ubuntu #26781. Closes: #342557. + * Fix for PR tree-optimization/26587, taken from the 4.1 branch. + * Fix PR libstdc++/26526 (link failure when _GLIBCXX_DEBUG is defined). + * Configure with --enable-clocale=gnu, even if not building C++ packages. + * Remove runtime path from biarch libraries as well. + * PR middle-end/26557 (ice-on-vaild-code, regression), taken from + the gcc-4_1-branch. Closes: #349083. + * PR tree-optimization/26672 (ice-on-vaild-code, regression), taken from + the gcc-4_1-branch. Closes: #356231. + * PR middle-end/26004 (rejects-vaild-code, regression), taken from + the gcc-4_1-branch. + * When building as standalone gcj, build libgcc4 (hppa only) and fastjar. + * Configure --with-cpu=v8 on sparc. + * debian/patches/libjava-hppa.dpatch: pa/pa32-linux.h + (CRT_CALL_STATIC_FUNCTION): Define when CRTSTUFFS_O is defined. + (John David Anglin). Closes: #353346. + * Point to the 4.1 version of README.Bugs (closes: #356230). + * Disable the libmudflap testsuite on alpha (getting killed). + + -- Matthias Klose Sat, 18 Mar 2006 23:00:39 +0100 + +gcc-4.1 (4.1.0-0) experimental; urgency=low + + * GCC 4.1.0 final release. + * Build the packages for the Java language from a separate source. + * Update NEWS.html, NEWS.gcc. + * libgcj-doc: Auto generated API documentation for libgcj7, classpath + example programs. + * Add gjdoc to Build-Depends-Indep. + * On amd64, build-depend on libc6-dev-i386 instead of ia32-libs-dev. + * Internal ssp headers now installed in the gcc libdir. + * Do not build gcj-4.1-base when building the gcc-4.1 packages. + * When building as gcj-4.1, use the tarball from the gcc-4.1-source + package. + + [Ludovic Brenta] + * Allow one to enable and disable NLS and bootstrapping from the environment. + - Adding "nls" to WITHOUT_LANG disables NLS support. + - If WITH_BOOTSTRAP is set, debian/rules2 calls configure + --enable-bootstrap=$(WITH_BOOTSTRAP) and just "make". If + WITH_BOOTSTRAP is unset, it calls configure without a bootstrapping + option and calls "make profiledbootstrap" or "make bootstrap-lean" + depending on the target CPU. + Currently overwritten to default to "bootstrap". + + -- Matthias Klose Thu, 2 Mar 2006 00:03:45 +0100 + +gcc-4.1 (4.1ds9-0exp9) experimental; urgency=low + + * Update to GCC 4.1.0 release candidate 1 (gcc-4.1.0-20060219 tarball). + * Update gcc-version patch for gcc-4.1. + * libgccN, libstdc++N*: Fix upgrade of /usr/share/doc symlinks. + * libjava awt & swing update, taken from trunk 2006-02-16. + * libgcj7-dev: Suggest libgcj-doc, built from a separate source package. + * Shorten build-dependency line (work around buildd problems + on arm* and mips*). + * New patch gcc-ice-hack (saving the preprocessed source on an ICE), + taken from Fedora. + + -- Matthias Klose Mon, 20 Feb 2006 10:07:23 +0100 + +gcc-4.1 (4.1ds8-0exp8) experimental; urgency=low + + * Update to SVN 20060212, taken from the 4.1 release branch. + * libgccN: Fix upgrade of /usr/share/doc/libgccN symlink. + + -- Matthias Klose Sun, 12 Feb 2006 19:48:31 +0000 + +gcc-4.1 (4.1ds7-0exp7) experimental; urgency=low + + * Update to SVN 20060127, taken from the 4.1 release branch. + - On hppa, bump the libgcc soversion to 4. + * Add an option not to depend on the system -base package for cross compiler + (Ian Wienand). Closes: #347484. + * Remove workaround increasing the stack size limit for some architectures, + not needed anymore on ia64. + * On amd64, build-depend on libc6-dev-i386, depend on libc6-i386, where + available. + * libstdc++6: Properly upgrade the doc directory. Closes: #346171. + * libstdc++6: Add a conflict to scim (<< 1.4.2-1). Closes: #343313. + * Set default 32bit ix86 architecture to i486. + + -- Matthias Klose Fri, 27 Jan 2006 22:23:22 +0100 + +gcc-4.1 (4.1ds6-0ubuntu6) experimental; urgency=low + + * Update to SVN 20060107, taken from the 4.1 release branch. + - Remove fix for PR ada/22533, fixed by patch for PR c++/23171. + * Remove binary packages from the control file, which aren't built + yet on any architecture. + * gcc-hppa64: Use /usr/hppa64-linux-gnu/include as location for the glibc + headers, tighten glibc (build-)dependency. + * libffi [arm]: Add support for closures, libjava [arm]: enable the gij + interpreter (Phil Blundell). Addresses: #337263. + * For the gcj standalone build, include cc1 into the gcj-4.1 package, + needed for linking java programs compiled to native code. + + -- Matthias Klose Sat, 7 Jan 2006 03:36:33 +0100 + +gcc-4.1 (4.1ds4-0exp4) experimental; urgency=low + + * Update to SVN 20051210, taken from the 4.1 release branch. + * Prepare to build the java packages from it's own source (merged + from Ubuntu). + - Build the java packages from the gcc-4.1 source, as long as packages + are prepared for experimental. + - When built as gcj, run only the libjava testsuite, don't build the + libstdc++ debug packages, don't package the gcc source. + - Loosen package dependencies, when java packages are built from + separate sources. + - Fix gcj hppa build, when java packages are built from separate sources. + - gij-4.1: Install test-summary, when doing separate builds. + - Allow java packages be installed independent from other packages built + from the source package. + - Rename libgcj7-common to libgcj7-jar. + - Introduce a gcj-4.1-base package to completely separate the two and not + duplicate the changelog in each gcj/gij package. + * Java related changes: + - libjava-xml-transform: Update from classpath trunk, needed for + eclipse (Michael Koch), applied upstream. + - Fix java wrapper scripts to point to 4.1 (closes: #341710). + - Reenable java on mips and mipsel. + - Fix libgcj6 dependency. Ubuntu #19935. + - Add libxt-dev as a java build dependency. autoconf explicitely checks + for X11/Intrinsic.h. + * Ada related changes: + - Apply proposed fix for PR ada/22533, reenable ada on alpha, powerpc, + mips, mipsel and s390. + - Add Ada support for GNU/kFreeBSD (Aurelien Jarno). Closes: #341356. + - Remove ada bootstrap workaround for alpha. + * Build a separate gcc-4.1-source package (Bastian Blank). Closes: #333922. + * Remove obsolete patch: libstdc++-automake. + * Remove patch integrated upstream: libffi-mips. + * Fix the installation of the hppa64 compiler in snapshot builds. + * Rename libgfortran0* to libgfortran1* (upstream soversion change). + * Add a dependency on libc-dev for all compilers / -dev packages except + gcc (which can be used for kernel builds without libc-dev). + * libffi4-dev: Fix package description. + * On amd64, install 32bit libraries into /emul/ia32-linux/usr/lib. + Addresses: #341147. + * Fix installation of biarch libstdc++ headers on amd64. + * Configure --with-tune=i686 on ix86 architectures (on Ubuntu with + -mtune=pentium4). Remove the cpu-default-* patches. + * debian/control.m4: Fix libxxgcc package names. + * Update the build infrastructure to build cross compilers + (Nikita V. Youshchenko). + * Tighten binutils (build-)dependency. Closes: #342484. + * Symlink more doc directories. + * debian/control.m4: Explicitely set Architecture for biarch packages. + + -- Matthias Klose Sat, 10 Dec 2005 16:56:45 +0100 + +gcc-4.1 (4.1ds1-0ubuntu1) UNRELEASED; urgency=low + + * Build Java packages only. + * Update to SVN 20051121, taken from the 4.1 release branch. + - Remove libjava-saxdriver-fix patch, applied upstream. + - Remove ada-gnat-version patch, applied upstream. + * Fix FTBFS in biarch builds on 32bit kernels. + * Update libstdc++-doc doc-base file (closes: #339046). + * Remove obsolete patch: gcc-alpha-ada_fix. + * Fix installation of biarch libstdc++ headers (Ubuntu #19655). + * Fix sparc and s390 biarch patches to build the 64bit libffi. + * Work around biarch build failure in libjava/classpath/native/jni/midi-alsa. + * Install spe.h header on powerpc. + * Add libasound build dependencies. + * libgcj: Fix installation of libgjsmalsa library. + * Remove patches not used anymore: libjava-no-rpath, i386-config-ml-nomf, + libobjc, multiarch-include, disable-biarch-check-mf, gpc-profiled, + gpc-no-gpidump, libgpc-shared, acats-expect. + * Fix references to manuals in gnat(1). Ubuntu #19772. + * Remove build dependency on xlibs-dev, add libxtst-dev. + * Do not configure with --disable-werror. + * Merge *-config-ml patches into one config-ml patch, configure the biarch + libs in debian/rules.defs. + * debian/gcj-wrapper: Accept -Xss. + * Do not build biarch java on Debian (missing biarch libasound). + * Do not build the java packages from this source package, avoiding + dependencies on X. + + -- Matthias Klose Mon, 21 Nov 2005 20:29:43 +0100 + +gcc-4.1 (4.1ds0-0exp0) experimental; urgency=low + + * Configure libstdc++ using the default allocator. + * Update to 20051112, taken from the svn trunk. + + -- Matthias Klose Sat, 12 Nov 2005 23:47:01 +0100 + +gcc-4.1 (4.1ds0-0ubuntu0) breezy; urgency=low + + * UNRELEASED + * First snapshot of gcc-4.1 (CVS 20051019). + - adds SSP support (closes: #213994, #233208). + * Remove patches applied upstream/not needed anymore. + * Update patches for 4.1: link-libs, gcc-textdomain, libjava-dlsearch-path, + rename-info-files, reporting, classmap-path, i386-biarch, sparc-biarch, + libjava-biarch-awt, ada-gcc-name. + * Disable patches: + - 323016, m68k, necessary for 4.1? + * debian/copyright: Update for 4.1. + * debian/control, debian/control.m4, debian/rules.defs, debian/rules.conf: + Update for 4.1, add support for Obj-C++ and SSP. + * Fix generation of Ada docs in info format. + * Set Ada library version to 4.1. + * Drop gnat-3.3 as an alternative build dependency. + * Use fortran instead of f95 for the build files. + * Update build support for awt peer libs. + * Add packaging support for SSP library. + * Add packaging support for Obj-C++. + * Run the testsuite for -march=i686 on i386 and amd64 as well. + * Fix generation of Pascal docs in html format. + * Update config-ml patches to build libssp biarch. + * Disable libssp for hppa64 build. + * libgcj7-dev: Install jni_md.h. + * Disable gnat for powerpc, currently fails to build. + * Add biarch runtime lib packages for ssp, mudflap, ffi. + * Do not explicitely configure with --enable-java-gc=boehm, which is the + default. + * libjava-saxdriver-fix: Fix a problem in the Aelfred2 SAX parser. + * libstdc++6-4.0-dev: Depend on the libc-dev package. Ubuntu #18885. + * Build-depend on expect-tcl8.3 on all architectures. + * Build-depend on lib32z1-dev on amd64 and ppc64, drop build dependency on + amd64-libs. + * Disable ada on alpha mips mipsel powerpc s390, currently broken. + + -- Matthias Klose Wed, 19 Oct 2005 11:02:31 +0200 + +gcc-4.0 (4.0.2-3) unstable; urgency=low + + * Update to CVS 20051015, taken from the gcc-4_0-branch. + - gcc man page fixes (closes: #327254, #330099). + - PR java/19870, PR java/20338, PR java/21844, PR java/21540: + Remove Debian patches. + - Applied libjava-echo-fix patch. + - Fix PR target/24284, ICE (Segmentation fault) on sparc-linux. + Closes: #329840. + - Fix PR c++/23797, ICE on typename outside template. Closes: #325545. + - Fix PR c++/22551, ICE in tree_low_cst. Closes: #318932. + * libstdc++6: Tighten libstdc++ shlibs version to 4.0.2-3 (new symbol). + * Update generated Ada files. + * Fix logic to disable mudflap and Obj-C++ via the environment. + * Remove f77 build bits. + * gij-4.0: Remove /var/lib/gcj-4.0/classmap.db on purge (closes: #330800). + * Let gcj-4.0 depend on libgcj6-dev, instead of recommending it. This is + not necessary for byte-code compilations, but for compilations to native + code. For compilations to byte-code, use a better compiler like ecj + for now (found in the ecj-bootstrap package). + * Disable biarch setup in cross compilers (Josh Triplett). Closes: #333952. + * Fix with_libnof logic for cross-compilations (Josh Triplett). + Closes: #333951. + * Depend on binutils (>= 2.16.1cvs20050902-1) on the alpha architecture. + Closes: #333954. + * On i386, build-depend on libc6-dev-amd64. Closes: #329108. + * (Build-)depend on glibc 2.3.5-5. + + -- Matthias Klose Sun, 2 Oct 2005 14:25:54 +0200 + +gcc-4.0 (4.0.2-2) unstable; urgency=low + + * Update to CVS 20051001, taken from the gcc-4_0-branch. Includes the + changes between 4.0.2 RC3 and the final 4.0.2 release, missing from + the upstream tarball. Remove patches applied upstream (gcc-c-decl, + pr23182, pr23043, pr23367, pr23891, pr21418, pr24018). + * On ix86 architectures run the testsuite for -march=i686 as well. + * Build libffi on the Hurd (closes: #328705). + * Add big-endian arm (armeb) support (Lennert Buytenhek). Closes: #330730. + * Update libjava xml to classpath CVS HEAD 20050930 (Michael Koch). + * Reapply patch to make -mieee the default on alpha-linux. Closes: #330826. + * Add workaround not to make libmudflap _start/_end not small data on + mips/mipsel, taken from CVS HEAD. + * Don't build the nof libraries on powerpc. + * Number crunching time on m68k, reenable gfortran on m68k-linux-gnu. + + -- Matthias Klose Sat, 1 Oct 2005 15:42:10 +0200 + +gcc-4.0 (4.0.2-1) unstable; urgency=low + + * GCC 4.0.2 release. + * lib64stdc++6: Set priority to optional. + * Fix bug in StreamSerializer, seen with eclipse-3.1 (Ubuntu 12744). + Backport from CVS HEAD, Michael Koch. + * Apply java patches, proposed for the 4.0 branch: PR java/24018, + PR libgcj/23182, PR java/19870, PR java/21844, PR libgcj/23367, + PR java/20338. + * Update the expect/pty test to actually call expect directly, rather + than test for the existence of PTYs, since a working expect is what + we really care about, not random device files (Adam Conrad). + Closes: #329715. + * Add build dependencies on lib64z1-dev. + * gcc-c-decl.dpatch: Fix C global decl handling regression in 4.0.2 from + 4.0.1 + + -- Matthias Klose Thu, 29 Sep 2005 19:50:08 +0200 + +gcc-4.0 (4.0.1-9) unstable; urgency=low + + * Update to CVS 20050922, taken from the gcc-4_0-branch (4.0.2 RC3). + * Apply patches: + - Fix PR java/21418: Order of source files matters when compiling, + backported from mainline. + - Fix for PR 23043, backported form mainline. + - Proposed patch for #323016 (m68k only). Patch by Roman Zippel. + * libstdc++6: Tighten libstdc++ shlibs version to 4.0.1-9 (new symbol). + * Fail the build early, if the system doesn't have any pty devices + created in /dev. Needed for running the testsuite. + * Update hurd changes again (closes: #328973). + + -- Matthias Klose Thu, 22 Sep 2005 07:28:18 +0200 + +gcc-4.0 (4.0.1-8) unstable; urgency=medium + + * Update to CVS 20050917, taken from the gcc-4_0-branch. + - Fix FTBFS for boost, introduced in 4.0.1-7 (closes: #328684). + * Fix PR java/23891, eclipse bootstrap. + * Set priority of gcc-4.0-hppa64 package to standard. + * Bump standards version to 3.6.2. + * Fix java wrapper script, mishandles command line options with arguments. + Patch from Olly Betts. Closes: #296456. + * Bump epoch of the lib32gcc1 package to the same epoch as for the the + libgcc1 and lib64gcc1 packages. + * Fix some lintian warnings. + * Build libffi on the Hurd (closes: #328705). + * For biarch builds, disable the testsuite for the non-default architecture + for runtime libraries, which are not built by default (libjava). + * Add gsfonts-x11 to Build-Depends-Indep to avoid warnings from doxygen. + * Install Ada .ali files read-only. + + -- Matthias Klose Sat, 17 Sep 2005 10:35:23 +0200 + +gcc-4.0 (4.0.1-7) unstable; urgency=low + + * Update to CVS 20050913, taken from the gcc-4_0-branch. + - Fix PR c++/19004, ICE in uses_template_parms (closes: #284777). + - Fix PR rtl-optimization/23454, ICE in invert_exp_1 on sparc. + Closes: #321215. + - Fix PR libstdc++/23417, make bits/stl_{list,tree}.h -Weffc++ clean. + Closes: ##322170. + * Install 'altivec.h' on ppc64 (closes: #323945). + * Install locale data with the versioned package name (closes: #321591). + * Fix fastjar build without building libjava. + * On hppa, don't build using gcc-3.3 when ada is disabled. + * On m68k, don't build the stage1 compiler using -O. + + * Ludovic Brenta + - Allow the choice whether or not to build with NLS. + - Fix a typo whereby libffi was always enabled on i386. + + -- Matthias Klose Tue, 13 Sep 2005 23:23:11 +0200 + +gcc-4.0 (4.0.1-6) unstable; urgency=low + + * Update to CVS 20050821, taken from the gcc-4_0-branch. + - debian/patches/pr21562.dpatch: Removed, applied upstream. + - debian/patches/libjava-awt-name.dpatch: Updated. + - debian/patches/classpath-20050618.dpatch: Updated. + * Use all available CPU's for the check target, unless USE_NJOBS == no. + * debian/patches/biarch-include.dpatch: Include + /usr/local/include/-linux-gnu before including /usr/local/include. + * Fix biarch system include directories for the non-default architecture. + * Prefer gnat-4.0 over gnat-3.4 over gnat-3.3 as a build-dependency. + + -- Matthias Klose Thu, 18 Aug 2005 18:36:23 +0200 + +gcc-4.0 (4.0.1-5) unstable; urgency=low + + * Update to CVS 20050816, taken from the gcc-4_0-branch. + - Fix PR middle-end/23369, wrong code generation for funcptr comparison + on hppa. Closes: #321785. + - Fix PR fortran/23368 ICE with NAG routines (closes: #322912). + * Build-depend on libcairo2-dev (they say, that's the final package name ...) + * libgcj: Search /usr/lib/gcj-4.0 for dlopened libraries, place a copy + of the .la files in the libgcj6 package into this directory. + Closes: #322576. + * Tighten the dependencies between the compiler packages to the same + version and release. Use some substitution variables for control file + generation. + * Remove build dependencies for gpc. + * Don't use '/emul/ia32-linux' on ppc64 (closes: #322890). + * Synchronize with Ubuntu. + + -- Matthias Klose Tue, 16 Aug 2005 22:45:47 +0200 + +gcc-4.0 (4.0.1-4ubuntu1) breezy; urgency=low + + * Jeff Bailey + + Enable i386 biarch using biarch glibc (not yet enabled for unstable). + - debian/rules.d/binary-libgcc.mk: Make i386 lib64gcc1 depend on + libc6-amd64 + - debian/control.m4: Suggest libc6-amd64 rather than amd64-libs. + - debian/rules.conf: Build-Dep on libc6-dev-amd64 [i386] + Build-Dep on binutils >= 2.16.1-2ubuntu3 + - debian/rules2: Enable biarch build in Ubuntu. + + * Matthias Klose + + - Add shlibs file and dependency information for the lib32gcc1 package. + - debian/patches/gcc-textdomain.dpatch: Update (closes: #321591). + - Set priority of gcc-4.0-base and libstdc++6 packages to `required'. + Closes: #321016. + - libffi-hppa.dpatch: Remove, applied upstream. + + -- Matthias Klose Mon, 8 Aug 2005 19:39:02 +0200 + +gcc-4.0 (4.0.1-4) unstable; urgency=low + + * Enable the biarch compiler for powerpc (closes: #268023). + * Update to CVS 20050806, taken from the gcc-4_0-branch. + * Build depend on libcairo0.6.0-dev (closes: #321540). + * Fix Ada build on the hurd (closes: #321350). + * Update libffi for mips (Thiemo Seufer). Closes: #321100. + * Fix segfault on 64bit archs in the AWT Gtk peer library (Dan Frazier). + Closes: #320915. + * Add libXXgcc1 build dependencies for biarch builds. + + -- Matthias Klose Sun, 7 Aug 2005 07:01:59 +0000 + +gcc-4.0 (4.0.1-3) unstable; urgency=medium + + * Update to CVS 20050725, taken from the gcc-4_0-branch. + - Fix ICE with -O and -mno-ieee-fp/-ffast-math (closes: #319087). + * Synchronize with Ubuntu. + * Fix applying hurd specific patches for the hurd build (closes: #318443). + * Do not build-depend on libmpfr-dev on architectures, where fortran + is not built. + * Apply biarch include patch on ppc64 as well (closes: #318603). + * Correct libstdc++-dev package description (closes: #319082). + * debian/rules.defs: Replace DEB_TARGET_GNU_CPU with DEB_TARGET_ARCH_CPU. + * gcc-4.0-hppa64: Rename hppa64-linux-gcc to hppa64-linux-gnu-gcc. + Closes: #319818. + + -- Matthias Klose Mon, 25 Jul 2005 10:43:06 +0200 + +gcc-4.0 (4.0.1-2ubuntu3) breezy; urgency=low + + * Update to CVS 20050720, taken from the gcc-4_0-branch. + - Fix PR22278, volatile issues, seen when building xorg. + * Build against new libcairo1-dev (0.5.2). + + -- Matthias Klose Wed, 20 Jul 2005 12:29:50 +0200 + +gcc-4.0 (4.0.1-2ubuntu2) breezy; urgency=low + + * Acknowledge that i386 biarch builds still need to be fixed for glibc-2.3.5. + + -- Matthias Klose Tue, 19 Jul 2005 08:29:30 +0000 + +gcc-4.0 (4.0.1-2ubuntu1) breezy; urgency=low + + * Synchronize with Debian. + * Update to CVS 20050718, taken from the gcc-4_0-branch. + - Fix PR c++/22132 (closes: #318488), upcasting a const class pointer + to struct the class derives from generates wrong code. + * Build biarch runtime libraries for Fortran and ObjC. + * Apply proposed patch for PR22309 (crash with mt_allocator if libstdc++ + is dlclosed). Closes: #293466. + + -- Matthias Klose Mon, 18 Jul 2005 17:10:18 +0200 + +gcc-4.0 (4.0.1-2) unstable; urgency=low + + * Don't apply the patch to make -mieee the default on alpha-linux-gnu. + Causes the bootstrap to fail on alpha-linux-gnu. + + -- Matthias Klose Tue, 12 Jul 2005 00:14:12 +0200 + +gcc-4.0 (4.0.1-1) unstable; urgency=high + + * GCC 4.0.1 final release. See /usr/share/doc/gcc-4.0/NEWS.{gcc,html}. + * Build fastjar on mips/mipsel, fix fastjar build without building java. + * Disable the comparision check on unstable/ia64. adaint.o differs, + currently cannot be reproduced with glibc-2.3.5 and binutils-2.16.1. + * libffi/hppa: Fix handling of 3 and 5-7 byte struct returns. + * amd64: Fix libgcc symlinks to point to /usr/lib32, instead of /lib32. + * On powerpc, don't build with -j >1, apparently doesn't succeeds + on the Debian buildd. + * Apply revised patch to make -mieee the default on alpha-linux, + and add -mieee-disable switch to turn the default off (Tyson Whitehead). + * Disable multiarch-includes; redo biarch-includes to include the paths + for the non-default biarch, when called with -m32/-m64. + * Move new java headers from libstdc++-dev to libgcj-dev, add replaces + line. + * Update classpath patch to work with cairo-0.5.1. Patch provided by + Michael Koch. + * Further classpath updates for gnu.xml and javax.swing.text.html. + Patch provided by Michael Koch. + * Require binutils (>= 2.16.1) as a build dependency and a dependency. + * On i386, require amd64-libs-dev (>= 1.2). + * Update debian/NEWS.{html,gcc}. + + * Closing bug reports reported against older gcc versions (some of them + still present in Debian, but not anymore as the default compiler). + Usually, forwarded bug reports are linked to + http://gcc.gnu.org/PR + The upstream bug number usually can be found in the Debian reports. + + * Closed reports reported against gcc-3.3 and fixed in gcc-3.4: + - General: + + PR rtl-optimization/2960: Duplicate loop conditions even with -Os + Closes: #94701. + + PR optimization/3995: i386 optimisation: joining tests. + Closes: #105309. + + PR rtl-optimization/11635: Unnecessary store onto stack, more + curefully expand union cast (closes: #202016). + + PR target/7618: vararg disallowed in virtual function. Closes: #205404. + + Large array problem on 64 bit platforms (closes: #209152). + + Mark more strings as translatable (closes: #227129). + + PR gcc/14711: ICE when compiling a huge source file Closes: #234711. + + Better code generation for if(!p) return NULL;return p; + Closes: #242318. + + PR rtl-optimization/16152: Perl ftbfs on {ia64,arm,m68k}-linux. + Closes: #255801. + + ICE (segfault) while compiling Linux 2.6.9 (closes: #277206). + + Link error building memtest (closes: #281445). + - Ada: + + PR ada/12450: Constraint error for valid input (closes: #210844). + + PR ada/13620: miscompilation of array initializer with + -O3 -fprofile-arcs. Closes: #226244. + - C: + + PR c/6897: Code produced with -fPIC reserves EBX, but compiles + bad __asm__ anyway (closes: #73065). + + PR c/9209: On i386, gcc-3.0 allows $ in indentifiers but not the asm. + Closes: #121282. + + PR c/11943: Accepts invalid declaration "int x[2, 3];" in C99 mode. + Closes: #177303. + + PR c/11942: restrict keyword broken in C99 mode. Closes: #187091. + + PR other/11370: -Wunreachable-code gives false complaints. + Closes: #196600. + + PR c/11369: Too relaxed checking with -Wstrict-prototypes. + Closes: #197504. + + PR c/11445: False positive warning with -Wunreachable-code. + Closes: #200140. + + PR c/11459: -stdc=c90 -pedantic warns about C90's non long-long + support when in C99 mode. Closes: #200392. + + PR c/456: Handling of constant expressions. Closes: #225935. + + ICE on invalid #define with -traditional (closes: #242916). + + No warning when initializing a variable with itself, new option + -Winit-self (closes: #293957). + - C++: + + C++ parse error (closes: #42946). + + PR libstdc++/9073: Replacement for __STL_ASSERTIONS (libstdc++v3 + debug mode). Closes: #128993. + + Parse errors in nested constructor calls (closes: #138561). + + PR optimization/1823: -ftrapv aborts with pointer difference due to + division optimization. Closes: #169862. + + ICE on invalid code (closes: #176101). + + PR c++/10199: ICE handling method parametrized by template. + Closes: #185604. + + High memory usage building packages OpenOffice.org and MythTV. + Closes: #194345, #194513. + + Improved documentation of std::lower_bound (closes: #196380). + + ICE in regenerate_decl_from_template (closes: #197674). + + PR c++/11444: Function fails to propagate up class tree + (template-related). Closes: #198042. + + ICE when using namespaced typedef of primitive type as struct. + Closes: #198261. + + Bug using streambuf / iostream to read from a named pipe. + Closes: #216105. + + PR c++/11437: ICE in lookup_name_real (closes: #200011). + + Add large file support (LFS) in libstdc++ (closes: #220000). + + PR c++/13621: ICE compiling a statement expression returning type + string (closes: #224413). + + g++ doesn't find inherited inner class after template instantiation. + Closes: #227518. + + PR libstdc++/13928: Add whatis info in man pages generated by doxygen. + Closes: #229642. + + Missing symbol _M_setstate in libstdc++ (closes: #232709). + + Unable to parse declaration of inline constructor explicit + specialization (closes: #234709). + + ICE (segfault) on invalid C++ code (closes: #246031). + + ICE in lookup_tempate_function (closes: #262441). + + Undefined symbols in libstdc++, when using specials char_traits. + Closes: #266110. + + PR libstdc++/16011: Outputting numbers with ostream in the locale fr_BE + causes infinite recursion (closes: #270795). + + ICE in tree_low_cst (closes: #276291). + + ICE in in expand_call (closes: #283503). + + typeof operator is misparsed in a template function (closes: #288555). + + ICE in tree_low_cs (closes: #291374). + + Improve uninformative error messages (closes: #292961, #293076). + + ICE on array initialization (closes: #294560). + + Failure to build xine-lib with -finline-functions (closes: #306854). + - Java: + + Fix error finding files in subdirectories (closes: #195480). + + Implement java.text.CollationElementIterator lacks getOffset(). + Closes: #259789. + - Treelang: + + Pointer truncation on 64bit architectures (closes: #308367). + - Architecture specific: + - alpha + + PR debug/10695: ICE on alpha while building agistudio. + Closes: #192568. + + ICE when building fceu (closes: #228018, #252764). + - amd64 + + Miscompilation of Objective-C code (closes: #250174). + + g++ hangs compiling k3d on amd64 (closes: #285364). + - arm + + PR target/19008: gcc -O3 -fPIC produces wrong code via auto inlining. + Closes: #285238. + - i386 + + PR target/4106: i386 -fPIC asm ebx clobber no error. + Closes: #153472. + + PR target/10984: x86/sse2 ICEs on vector intrinsics. Closes: #166940. + + Wrong code generation on at least ix86 (closes: #275655). + - m68k + + PR target/9201: ICE compiling octave-2.1 (closes: #175478). + + ICE in verify_initial_elim_offsets (closes: #204407, #257012). + + g77 generates invalid assembly code (closes: #225621). + + ICE in verify_local_live_at_start (closes #245584). + - powerpc + + PR optimization/12828: -floop-optimize is unstable on PowerPC (float + to int conversion problem). Closes: #218219. + + PR target/13619: ICE building altivec code in ffmpeg. + Closes: #226148. + + PR target/20046: Miscompilation of bind 9.3.0. Closes: #292958. + - sparc + + ICE (segfault) while building atlas3 on sparc32 (closes: #249108). + + Wrong optimization on sparc32 when building linux kernel. + Closes: #254626. + + * Closed reports reported against gcc-3.3 or gcc-3.4 and fixed in gcc-4.0: + - General: + + PR rtl-optimization/6901: Optimizer improvement (removing unused + local variables). Closes: #67206. + + PR middle-end/179: Failure to detect use of unitialized variable + with -O -Wall. Closes: #117765. + + ICE building glibc's nptl on amd64 (closes: #260710, #307993). + + PR middle-end/17827: ICE in make_decl_rtl. Closes: #270854. + + PR middle-end/21709: ICE on compile-time complex NaN. Closes: #305344. + - Ada: + + PR ada/10889: Convention Fortran matrices mishandled in generics. + Closes: #192135. + + PR ada/13897: Implement tasking on powerpc. Closes: #225346. + - C: + + PR c/13072: Bogus warning with VLA in switch. Closes: #218803. + + PR c/13519: typeof(nonconst+const) is const. Closes: #208981. + + PR c/12867: Incorrect warning message (void format, should be void* + format). Closes: #217360. + + PR c/16066: PR 16066] i386 loop strength reduction bug. + Closes: #254659. + - C++: + + PR c++/13518: -Wnon-virtual-dtor doesn't always work. Closes: #212260. + + PR translation/16025: ICE with unsupported locale(closes: #242158). + + PR c++/15125: -Wformat doesn't warn for different types in fprintf. + Closes: #243507. + + PR c++/15214: Warn only if the dtor is non-private or the class has + friends. (closes: #246639). + + PR libstdc++/17218: Unknown subjects in generated libstdc++ manpages. + Closes: #262934. + + PR libstdc++/17223: Missing .so references in generated libstdc++ + manpages. Closes: #262956. + + libstdc++-doc: Improve man pages (closes: #280910). + + PR c++/19006: ICE in tree_low_cst. Closes: #285692. + + g++ does not check arguments to fprintf. Closes: #281847. + - Java: + + PR java/7304: gcj ICE (closes: #152501). + + PR libgcj/7305: Installation of headers not directly in /usr/include. + Closes: #195483. + + PR libgcj/11941: libgcj timezone handling (closes: #203212). + + PR java/14709: gcj fails to wait for its child processes on exec(). + Closes: #238432. + + PR libgcj/21703: gcj hangs when rapidly calling String.intern(). + Closes: #275547. + + SocketChannel.get(ByteBuffer) returns 0 at EOF. Closes: #281602. + + PR java/19711: gcj segfaults instead of reporting the ambiguous + expression. Closes: #286715. + + Static libgcj contains repeated archive members (closes: #298263). + - Architecture specific: + - alpha + + Unaligned accesses with ?-operator (closes: #301983). + - arm + + Compilation error of glibc-2.3.4 on arm (closes: #298508). + - m68k + + ICE in add_insn_before (closes: #248432). + - mips + + Fix o32 ABI breakage in gcc 3.3/3.4 (closes: #270620). + - powerpc + + ICE in extract_insn (closes: #311128). + + * Closing bug reports as wontfix: + - g++ defines _GNU_SOURCE when using the libstdc++ header files. + Behaviour did change since 3.0. Closes: #126703, #164872. + + -- Matthias Klose Sat, 9 Jul 2005 17:10:54 +0000 + +gcc-4.0 (4.0.0ds2-12) unstable; urgency=high + + * Update to CVS 20050701, taken from the gcc-4_0-branch. + * Apply proposed patch for MMAP configure fix; aka PR 19877. Backport + from mainline. + * Disable Fortran on m68k. Currently FTBFS. + * Split multiarch-include/lib patches. Update multiarch-include patch. + * Fix FTBFS of the hppa64-linux cross compiler. Don't add the + multiarch include dirs when cross compiling. + * Configure --with-java-home, as used by java-gcj-compat. + Closes: #315646. + * Make libgcj-dbg packages priority extra. + * Set the path of classmap.db to /var/lib/gcj-@gcc_version@. + * On m68k, do not create the default classmap.db in the gcj postinst. + See #312830. + * On amd64, install the 32bit libraries into /emul/ia32-linux/usr/lib. + Restore the /usr/lib32 symlink. + * On amd64, don't reference lib64, but instead lib (lib64 is a symlink + to lib). Closes: #293050. + * Remove references to build directories from the .la files. + * Make cpp-X.Y conflict with earlier versions of gcc-X.Y, g++-X.Y, gobjc-X.Y, + gcj-X.Y, gfortran-X.Y, gnat-X.Y, treelang-X.Y, if a path component in + the gcc library path changes (i.e. version or target alias). + * Disable Ada for sh3 sh3eb sh4 sh4eb. + * For gcj-4.0, add a conflict to libgcj4-dev and libgcj5-dev. + Closes: #316499. + + -- Matthias Klose Sat, 2 Jul 2005 11:04:35 +0200 + +gcc-4.0 (4.0.0ds1-11) unstable; urgency=low + + * debian/rules.defs: Disable Ada for alpha. + * debian/rules.conf: Fix typo in type-handling replacement code. + * Don't ship an empty libgcj6-dbg package. + + -- Matthias Klose Thu, 23 Jun 2005 09:03:21 +0200 + +gcc-4.0 (4.0.0ds1-10) unstable; urgency=medium + + * debian/patches/libstdc++-api-compat.dpatch: Apply proposed patch + to fix libstdc++ 3.4.5/4.0 compatibility. + * type-handling output became insane. Don't use it anymore. + * Drop the reference to the stl-manual package (closes: #314983). + * Disable java on GNU/kFreeBSD targets, requested by Robert Millan. + Closes: #315140. + * Terminate the acats-killer process, even if the build is aborted + by the user (closes: #314405). + * debian/rules.defs: Define DEB_TARGET_ARCH_{OS,CPU}. + * Start converting the use of DEB_*_GNU_* to DEB_*_ARCH_* in the build + files. + * Do not configure with --enable-gtk-cairo. Needs newer gtk. Drop + build dependency on libcairo-dev. + * Fix setting of the system header directory for the hurd (Michael Banck). + Closes: #315386. + * Fix FTBFS on hurd-i386: MAXPATHLEN issue (Michael Banck). Closes: #315384. + + -- Matthias Klose Wed, 22 Jun 2005 19:45:50 +0200 + +gcc-4.0 (4.0.0ds1-9ubuntu2) breezy; urgency=low + + * Fix version number in libgcj shlibs file. + + -- Matthias Klose Sun, 19 Jun 2005 10:34:02 +0200 + +gcc-4.0 (4.0.0ds1-9ubuntu1) breezy; urgency=low + + * Update to 4.0.1, release candidate 2. + * libstdc++ shlibs file: Require 4.0.0ds1-9ubuntu1 as minimum version. + * Rename libawt to libgcjawt to avoid conflicts with other + libawt implementations (backport from HEAD). + * Update classpath awt, swing and xml parser for HTML support in swing. + Taken from classpath CVS HEAD 2005-06-18. Patch provided by Michael Koch. + * Remove the libgcj-buffer-strategy path, part of the classpath update. + * libgcj shlibs file: Require 4.0.0ds1-9ubuntu1 as minimum version. + * Require cairo-0.5 as build dependency. + * gij-4.0: Provide java1-runtime. + * gij-4.0: Provide an rmiregistry alternative (using grmiregistry-4.0). + * gcj-4.0: Provide an rmic alternative (using grmic-4.0). + * libgcj6-dev conflicts with libgcj5-dev, libgcj4-dev, not libgcj6. + Closes: #312741. + * libmudflap-entry-point.dpatch: Correct name of entry point on mips/mipsel. + * Apply proposed patch for PR 18421 and PR 18719 (m68k only). + * Apply proposed path for PR 21562. + * Add build dependency on dpkg (>= 1.13.7). + * On linux systems, configure for -linux-gnu. + * Configure the hppa64 cross compiler to target hppa64-linux-gnu. + * (Build-)depend on binutils-2.16.1. + * libstdc{32,64}++6-4.0-dbg: Depend on libstdc++6-4.0-dev. + * gnat-4.0: only depend on libgnat, when a shared libgnat is built. + * gfortran-4.0: Depend on libgmp3c2 | libgmp3. + * On hppa, explicitely use gcc-3.3 as a build dependency in the case + that Ada is disabled. + * libmudflap: Always build the library for the non-default biarch + architecture, or else the test results show link failures. + + -- Matthias Klose Sat, 18 Jun 2005 00:42:55 +0000 + +gcc-4.0 (4.0.0-9) unstable; urgency=low + + * Upload to unstable. + + -- Matthias Klose Wed, 25 May 2005 19:02:20 +0200 + +gcc-4.0 (4.0.0-8ubuntu3) breezy; urgency=low + + * debian/control: Regenerate. + + -- Matthias Klose Sat, 4 Jun 2005 10:56:27 +0200 + +gcc-4.0 (4.0.0-8ubuntu2) breezy; urgency=low + + * Fix powerpc-config-ml patch. + + -- Matthias Klose Fri, 3 Jun 2005 15:47:52 +0200 + +gcc-4.0 (4.0.0-8ubuntu1) breezy; urgency=low + + * powerpc biarch support: + - Enable powerpc biarch support, build lib64gcc1 on powerpc. + - Add patch to disable libstdc++'s configure checking, if it can't run + 64bit binaries on 32bit kernels (Sven Luther). + - Apply the same patch to the other runtime librararies as well. + - Run the testsuite with -m64, if we can execute 64bit binaries. + - Add libc6-dev-ppc64 as build dependency for powerpc. + * 32bit gcj libs for amd64. + * debian/logwatch.sh: Don't remove logwatch pid file on exit (suggested + by Ryan Murray). + * Update to CVS 20050603, taken from the gcc-4_0-branch. + * g++-4.0 provides c++abi2-dev. + * Loosen dependencies on packages of architecture `all' to not break + binary only uploads. + * Build libgfortran for biarch as well, else the testsuite will fail. + + -- Matthias Klose Fri, 3 Jun 2005 13:38:19 +0200 + +gcc-4.0 (4.0.0-8) experimental; urgency=low + + * Synchronize with Ubuntu. + + -- Matthias Klose Mon, 23 May 2005 01:56:28 +0000 + +gcc-4.0 (4.0.0-7ubuntu7) breezy; urgency=low + + * Fix build failures for builds with disabled testsuite. + * Adjust debian/rules conditionals to work with all dpkg versions. + * Build separate lib32stdc6-4.0-dbg/lib64stdc6-4.0-dbg packages. + * Add the debugging symbols of the optimzed libstdc++ build in the + lib*stdc++6-dbg packages as well. + * Build a libgcj6-dbg package. + * Update to CVS 20050522, taken from the gcc-4_0-branch. + * Add Ada support for the ppc64 architecture (Andreas Jochens): + * debian/patches/ppc64-ada.dpatch + - Add gcc/ada/system-linux-ppc64.ads, which has been copied from + gcc/ada/system-linux-ppc.ads and changed to use 'Word_Size' 64 + instead of 32. + - gcc/ada/Makefile.in: Use gcc/ada/system-linux-ppc64.ads on powerpc64. + * debian/rules.patch + - Use ppc64-ada patch on ppc64. + * debian/rules.d/binary-ada.mk + Place the symlinks libgnat.so, libgnat-4.0.so, libgnarl.so, + libgnarl-4.0.so in '/usr/lib' instead of '/adalib'. + Closes: #308948. + * Add libc6-dev-i386 as an alternative build dependency for amd64. + Closes: #305690. + + -- Matthias Klose Sun, 22 May 2005 22:14:20 +0200 + +gcc-4.0 (4.0.0-7ubuntu6) breezy; urgency=low + + * Don't trust dpkg-architecture (1.13.4), it "hurds" ... + + -- Matthias Klose Wed, 18 May 2005 11:36:38 +0200 + +gcc-4.0 (4.0.0-7ubuntu5) breezy; urgency=low + + * libgcj6-dev: Don't provide libgcj-dev. + + -- Matthias Klose Wed, 18 May 2005 00:30:32 +0000 + +gcc-4.0 (4.0.0-7ubuntu4) breezy; urgency=low + + * Update to CVS 20050517, taken from the gcc-4_0-branch. + * Apply proposed patch for PR21293. + + -- Matthias Klose Tue, 17 May 2005 23:05:40 +0000 + +gcc-4.0 (4.0.0-7ubuntu2) breezy; urgency=low + + * Update to CVS 20050515, taken from the gcc-4_0-branch. + + -- Matthias Klose Sun, 15 May 2005 23:48:00 +0200 + +gcc-4.0 (4.0.0-7ubuntu1) breezy; urgency=low + + * Synchronize with Debian. + + -- Matthias Klose Mon, 9 May 2005 19:35:29 +0200 + +gcc-4.0 (4.0.0-7) experimental; urgency=low + + * Update to CVS 20050509, taken from the gcc-4_0-branch. + * Remove the note from the fastjar package description, stating, that + fastjar is incomplete compared to the "standard" jar utility. + * Fix typo in build depends. dpkg-checkbuilddeps doesn't like a comma + inside []. + * Tighten shlibs dependencies to require the current version. + + -- Matthias Klose Mon, 9 May 2005 19:02:03 +0200 + +gcc-4.0 (4.0.0-6) experimental; urgency=low + + * Update to CVS 20050508, taken from the gcc-4_0-branch. + + -- Matthias Klose Sun, 8 May 2005 14:08:28 +0200 + +gcc-4.0 (4.0.0-5ubuntu1) breezy; urgency=low + + * Temporarily disable the i386 biarch build. Remove the amd64-libs-dev + build dependency, add (build-)conflict (<= 1.1ubuntu1). + + -- Matthias Klose Sat, 7 May 2005 16:56:21 +0200 + +gcc-4.0 (4.0.0-5) breezy; urgency=low + + * gnat-3.3 and gnat-4.0 are alternative build dependencies (closes: #308002). + * Update to CVS 20050507, taken from the gcc-4_0-branch. + * gcj-4.0: Install gjnih. + * Add libgcj buffer strategy framework (Thomas Fitzsimmons), needed for OOo2. + Backport from 4.1. + * Fix all lintian errors and most of the warnings. + + -- Matthias Klose Sat, 7 May 2005 12:26:15 +0200 + +gcc-4.0 (4.0.0-4) breezy; urgency=low + + * Still prefer gnat-3.3 over gnat-4.0 as a build dependency. + + -- Matthias Klose Fri, 6 May 2005 22:30:43 +0200 + +gcc-4.0 (4.0.0-3) breezy; urgency=low + + * Update to CVS 20050506, taken from the gcc-4_0-branch. + * Update priority of java alternatives to 40. + * Move gcj-dbtool to gij package, move the default classmap.db to + /var/lib/gcj-4.0/classmap.db. Create it in the postinst. + * Fix gcc-4.0-hppa64 postinst (closes: #307762). + * Fix gcc-4.0-hppa64, gij-4.0 and gcj-4.0 postinst, to not ignore errors + from update-alternatives. + * Fix gcc-4.0-hppa64, fastjar, gij-4.0 and gcj-4.0 prerm, + to not ignore errors from update-alternatives. + + -- Matthias Klose Fri, 6 May 2005 17:50:58 +0200 + +gcc-4.0 (4.0.0-2) experimental; urgency=low + + * GCC 4.0.0 release. + * Update to CVS 20050503, taken from the gcc-4_0-branch. + * Add gnat-4.0 as an alternative build dependency (closes: #305690). + + -- Matthias Klose Tue, 3 May 2005 15:41:26 +0200 + +gcc-4.0 (4.0.0-1) experimental; urgency=low + + * GCC 4.0.0 release. + + -- Matthias Klose Sun, 24 Apr 2005 11:28:42 +0200 + +gcc-4.0 (4.0ds11-0pre11) breezy; urgency=low + + * CVS 20050413, taken from the gcc-4_0-branch. + * Add proposed patches for PR20126, PR20490, PR20929. + + -- Matthias Klose Wed, 13 Apr 2005 09:43:00 +0200 + +gcc-4.0 (4.0ds10-0pre10) experimental; urgency=low + + * gcc-4.0.0-20050410 release candidate 1, built from the prerelease tarball. + - C++ fix for "optimizer breaks function inlining". Closes: #302989. + * Append the GCC version to the fastjar/grepjar version string. + * Use short file names in the libstdc++ docs (closes: #301140). + * Fix libstdc++-dbg dependencies (closes: #303866). + + -- Matthias Klose Mon, 11 Apr 2005 13:16:01 +0200 + +gcc-4.0 (4.0ds9-0pre9) experimental; urgency=low + + * CVS 20050326, taken from the gcc-4_0-branch. + * Reenable Ada on ia64. + * Build libgnat on hppa, sparc, s390 again. + * ppc64 support (Andreas Jochens): + * debian/control.m4 + - Add libc6-dev-powerpc [ppc64] to the Build-Depends. + - Change the Description for lib32gcc1: s/ia32/32 bit Version/ + * debian/rules.defs + - Define 'biarch_ia32' for ppc64 to use the same 32 bit multilib + facilities as amd64. + * debian/rules.d/binary-gcc.mk + - Correct an error in the 'files_gcc' definition for biarch_ia32 + (replace '64' by '32'). + * debian/rules2 + - Do not use '--disable-multilib' on powerpc64-linux. + Use '--disable-nof --disable-softfloat' instead. + * debian/rules.d/binary-libstdcxx.mk + - Put the 32 bit libstdc++ files in '/usr/lib32'. + * debian/rules.patch + - Apply 'ppc64-biarch' patch on ppc64. + * debian/patches/ppc64-biarch.dpatch + - MULTILIB_OSDIRNAMES: Use /lib for native 64 bit libraries and + /lib32 for 32 bit libraries. + - Add multilib handling to src/config-ml.in (taken from + amd64-biarch.dpatch). + * Rename biarch_ia32 to biarch32, as suggsted by Andreas. + * Use /bin/dash on hppa. + * Reenable the build of the hppa64 compiler. + * Enable parallel builds by defaults (set environment variale USE_NJOBS=no + or USE_NJOBS= to modify the default, which is to use the + number of available processors). + + -- Matthias Klose Sat, 26 Mar 2005 19:07:30 +0100 + +gcc-4.0 (4.0ds8-0pre8) experimental; urgency=low + + * CVS 20050322, taken from the gcc-4_0-branch. + - Add proposed fix for PR19406. + * Configure --with-gtk-cairo only if version 0.3.0 is found. + * Split out gcc-4.0-locales package. Better chance of getting + bug reports in english language. + + -- Matthias Klose Tue, 22 Mar 2005 14:20:24 +0100 + +gcc-4.0 (4.0ds7-0pre7) experimental; urgency=low + + * CVS 20050304, taken from the gcc-4_0-branch. + * Build the treelang compiler. + + -- Matthias Klose Fri, 4 Mar 2005 21:29:56 +0100 + +gcc-4.0 (4.0ds6-0pre6ubuntu6) hoary; urgency=low + + * Fix lib32gcc1 symlink on amd64. Ubuntu #7099. + + -- Matthias Klose Thu, 3 Mar 2005 00:17:26 +0100 + +gcc-4.0 (4.0ds6-0pre6ubuntu5) hoary; urgency=low + + * Add patch from PR20160, avoid creating archives with components + that have duplicate basenames. + + -- Matthias Klose Wed, 2 Mar 2005 14:22:04 +0100 + +gcc-4.0 (4.0ds6-0pre6ubuntu4) hoary; urgency=low + + * CVS 20050301, taken from the gcc-4_0-branch. + Test builds on i386, amd64, powerpc, ia64, check libgcc_s.so.1. + * Add fastjar-4.0 binary and manpage. Some java packages append it + for all java related tools. + * Add libgcj6-src package for source code availability in IDE's. + * On hppa, disable the build of the hppa64 cross compiler, disable + java, disable running the testsuite (request by Lamont). + * On amd64, lib32gcc1 replaces ia32-libs.openoffice.org (<< 1ubuntu3). + * Build-Depend on libcairo1-dev, configure with --enable-gtk-cairo. + Work around libtool problems install libjawt. + Install jawt header files in libgcj6-dev. + * Add workaround for PR debug/19769. + + -- Matthias Klose Tue, 1 Mar 2005 11:26:19 +0100 + +gcc-4.0 (4.0ds5-0pre6ubuntu3) hoary; urgency=low + + * Drop libgmp3-dev (<< 4.1.4-3) as an alterntative build dependency. + + -- Matthias Klose Thu, 10 Feb 2005 15:16:27 +0100 + +gcc-4.0 (4.0ds5-0pre6ubuntu2) hoary; urgency=low + + * Disable Ada for powerpc. + + -- Matthias Klose Wed, 9 Feb 2005 16:47:07 +0100 + +gcc-4.0 (4.0ds5-0pre6ubuntu1) hoary; urgency=low + + * Avoid build dependency on type-handling. + * Install 32bit libs on amd64 in /lib32 and /usr/lib32. + + -- Matthias Klose Wed, 9 Feb 2005 08:27:21 +0100 + +gcc-4.0 (4.0ds5-0pre6) experimental; urgency=low + + * gcc-4.0 snapshot, taken from the HEAD branch CVS 20050208. + * Build-depend on graphviz (moved to main), remove the pregenerated + libstdc++ docs from the diff. + * Fix PR19162, libobjc build failure on arm-linux (closes: #291497). + + -- Matthias Klose Tue, 8 Feb 2005 11:47:31 +0000 + +gcc-4.0 (4.0ds4-0pre5) experimental; urgency=low + + * gcc-4.0 snapshot, taken from the HEAD branch CVS 20050125. + * Call the 4.0 gcx versions in the java wrappers (closes: #291075). + * Correctly install libgij (closes: #291077). + * libgcj6-dev: Add conflicts to other libgcj-dev packages (closes: #290950). + + -- Matthias Klose Mon, 24 Jan 2005 23:59:54 +0100 + +gcc-4.0 (4.0ds3-0pre4) experimental; urgency=low + + * gcc-4.0 snapshot, taken from the HEAD branch CVS 20050115. + * Update cross build patches (Nikita V. Youshchenko). + * Enable Ada on i386, amd64, mips, mipsel, powerpc, sparc, s390. + Doesn't yet bootstrap on alpha, hppa, ia64. + + -- Matthias Klose Sat, 15 Jan 2005 18:44:03 +0100 + +gcc-4.0 (4.0ds2-0pre3) experimental; urgency=low + + * gcc-4.0 snapshot, taken from the HEAD branch CVS 20041224. + + -- Matthias Klose Wed, 22 Dec 2004 00:31:44 +0100 + +gcc-4.0 (4.0ds1-0pre2) experimental; urgency=low + + * gcc-4.0 snapshot, taken from the HEAD branch CVS 20041205. + * Lot's of merges and updates from the gcc-3.4 packages. + + -- Matthias Klose Sat, 04 Dec 2004 12:14:51 +0100 + +gcc-4.0 (4.0ds0-0pre1) experimental; urgency=low + + * gcc-4.0 snapshot, taken from the HEAD branch CVS 20041114. + - Addresses many issues with the libstdc++ man pages (closes: #278549). + * Disable Ada on hppa, ia64, mips, mipsel, powerpc, s390 and sparc, at least + these are known to be broken at the time of the snapshot. + * Minor kbsd.gnu build fixes (Robert Millan). Closes: #273004. + * For amd64, add missing libstdc++ files to 'libstdc++6-dev' package. + (Andreas Jochens). Fixes: #274362. + * Update libffi-mips patch (closes: #274096). + * Updated i386-biarch patch. Don't build 64bit libstdc++, ICE. + * Update sparc biarch patch. + * Fix symlinks for gfortran manpage (closes: #278548). + * Update cross build patches (Nikita V. Youshchenko). + * Update Ada patches (Ludovic Brenta). + + -- Matthias Klose Sat, 13 Nov 2004 10:38:25 +0100 + +gcc-4.0 (4.0-0pre0) experimental; urgency=low + + * gcc-4.0 snapshot, taken from the HEAD branch CVS 20040912. + + * Matthias Klose + + - Integrate accumulated packaging patches from gcc-3.4. + - Rename libstdc++6-* packages to libstdc++6-4-* (closes: #261693). + - libffi4-dev: conflict with libffi3-dev (closes: #265939). + + * Robert Millan + + * control.m4: + - s/locale_no_archs !hurd-i386/locale_no_archs/g + (This is now handled in rules.defs. [1]) + - s/procps [check_no_archs]/procps [linux_gnu_archs]/g [2] + - Add type-handling to build-deps. [3] + * rules.conf: + - Don't require (>= $(libc_ver)) for libc0.1-dev. [4] + - Generate *_no_archs variables with type-handling and use them for + for m4's -D parameters. [3] + * rules.defs: + - use filter instead of findstring [1]. + - s/netbsd-elf-gnu/netbsdelf-gnu/g [5]. + - enable java for kfreebsd-gnu [6] + - enable ffi for kfreebsd-gnu and knetbsd-gnu [6] + - enable libgc for kfreebsd-gnu [6] + - enable checks for kfreebsd-gnu and knetbsd-gnu [7] + - enable locales for kfreebsd-gnu and gnu [1] [8]. + * Closes: #264025. + + -- Matthias Klose Sun, 12 Sep 2004 12:52:56 +0200 + +gcc-3.5 (3.5ds1-0pre1) experimental; urgency=low + + * gcc-3.5 snapshot, taken from the HEAD branch CVS 20040724. + * Install locale data with versioned package name (closes: #260497). + * Fix libgnat symlinks. + + -- Matthias Klose Sat, 24 Jul 2004 21:26:23 +0200 + +gcc-3.5 (3.5-0pre0) experimental; urgency=low + + * gcc-3.5 snapshot, taken from the HEAD branch CVS 20040718. + + -- Matthias Klose Sun, 18 Jul 2004 12:26:00 +0200 + +gcc-3.4 (3.4.1-1) experimental; urgency=low + + * gcc-3.4.1 final release. + - configured wth --enable-libstdcxx-allocator=mt. + * Fixes for generating cross compiler packages (Jeff Bailey). + + -- Matthias Klose Fri, 2 Jul 2004 22:49:05 +0200 + +gcc-3.4 (3.4.0-4) experimental; urgency=low + + * gcc-3.4.1 release candidate 1. + * Add logic to build biarch compiler on powerpc (disabled, needs lib64c). + * Don't build the libg2c0 package on mipsel-linux (no clear answer on + debian-mips, if the libg2c0's built by gcc-3.3 and gcc-3.4 are compatible + (post-sarge issue). + * Don't use gcc-2.95 as bootstrap compiler on m68k anymore. + + -- Matthias Klose Sat, 26 Jun 2004 22:40:20 +0200 + +gcc-3.4 (3.4.0-3) experimental; urgency=low + + * Update to gcc-3.4 CVS 20040613. + * On sparc, set the the build target to sparc64-linux, build with + switch defaulting to code generation for v7. To generate code for + sparc64, use the -m64 switch. + * Add missing doc-base files to -doc packages. + * Add portability patches and kbsd-gnu patch (Robert Millan). + Closes: #251293, #251294. + * Apply fixes for cross build (Nikita V. Youshchenko). + * Do not include the precompiled libstdc++ header files into the -dev + package (still experimental). Closes: #251707. + * Reflect renaming of Ada user's guide. + * Move AWT peer libraries for libgcj into it's own package (fixes: #247791). + + -- Matthias Klose Mon, 14 Jun 2004 00:03:18 +0200 + +gcc-3.4 (3.4.0-2) experimental; urgency=low + + * Update to gcc-3.4 CVS 20040516. + * Do not provide the /usr/hppa64-linux/include in the gcc-hppa64 package, + migrated to libc6-dev. Adjust dependencies. + * Integrate gpc test results into the GCC test summary. + * gnatchop calls gcc-3.4 (closes: #245438). + * debian/locale-gen.sh: Update for recent libstdc+++ testsuite. + * debian/copyright: Add libstdc++-v3's exception clause. + * Add libffi update for mips (Thiemo Seufer). + * Reference Debian specific bug reporting instructions. + * Update README.Bugs. + * Fix FTBFS for libstdc++-doc. + * Update libjava patch for hppa (Randolph Chung). + * Fix installation of ffitarget.h header file. + * On amd64-linux, configure --without-multilib, disable Ada. + + -- Matthias Klose Sun, 16 May 2004 07:53:39 +0200 + +gcc-3.4 (3.4.0-1) experimental; urgency=low + + * gcc-3.4.0 final release. + + * Why experimental? + - Do not interfer with packages currently built from gcc-3.3 sources, + i.e. libgcc1, libobjc1, libffi2, libffi2-dev, libg2c0. + - Biarch sparc compiler doesn't built yet. + - Use of configure flags affecting binary ABI's not yet determined. + - Several ABI bugs have been fixed. Unfortunately, these changes will break + binary compatibility with earlier releases on several architectures: + alpha, mips, sparc, + - hppa and m68k changed sjlj based exception handling to dwarf2 based + exception handling. + + See NEWS.html or http://gcc.gnu.org/gcc-3.4/changes.html for more + specific information. + + -- Matthias Klose Tue, 20 Apr 2004 20:54:56 +0200 + +gcc-3.4 (3.4ds3-0pre4) experimental; urgency=low + + * Update to gcc-3.4 CVS 20040403. + * Add gpc tarball, gpc patches for 3.4 (Waldek Hebisch). + * Reenable sparc-biarch patches (closes: #239856). + * Build the shared libgnat library, needed to fix FTBFS for some + Ada library packages (Ludovic Brenta). + Currently enabled for hppa, i386, ia64. + + -- Matthias Klose Sat, 3 Apr 2004 08:47:55 +0200 + +gcc-3.4 (3.4ds1-0pre2) experimental; urgency=low + + * Update to gcc-3.4 CVS 20040320. + * For libstdc++6-doc, add a conflict to libstdc++5-3.3-doc (closes: #236560). + * For libstdc++6-dbg, add a conflict to libstdc++5-3.3-dbg (closes: #236798). + * Reenable s390-biarch patches. + * Update the cross compiler build files (Nikita V. Youshchenko). + + -- Matthias Klose Sat, 20 Mar 2004 09:15:10 +0100 + +gcc-3.4 (3.4ds0-0pre1) experimental; urgency=low + + * Start gcc-3.4 packaging, get rid of the epoch for most of the + packages. + + -- Matthias Klose Sun, 22 Feb 2004 16:00:03 +0100 + +gcc-3.3 (1:3.3.3ds6-6) unstable; urgency=medium + + * Update to gcc-3_3-branch CVS 20040401. + - Fixed ICE in emit_move_insn_1 on legal code (closed: #223215). + - Fix PR 14755, miscompilation of loops with bitfield counter. + Closes: #241255. + - Fix PR 16040, crash in function initializing const data with + reinterpret_cast-ed pointer-to-member function crashes (closes: #238621). + - Remove patches integrated upstream. + * Reenable build of gpidump on powerpc and s390. + + -- Matthias Klose Thu, 1 Apr 2004 23:51:54 +0200 + +gcc-3.3 (1:3.3.3ds6-5) unstable; urgency=medium + + * Update to gcc-3_3-branch CVS 20040321. + - Fix PR target/13889 (ICE on valid code on m68k). + * Fix FTFBS on s390. Do not build gpc's gpidump on s390. + * Reenable gpc on arm. + + -- Matthias Klose Mon, 22 Mar 2004 07:37:26 +0100 + +gcc-3.3 (1:3.3.3ds6-4) unstable; urgency=low + + * Update to gcc-3_3-branch CVS 20040320. + - Revert patch for PR14640 (with this, at least mozilla-firefox was + miscompiled on x86 (closes: #238621). + * Update the gpc tarball (there were two releases with the same name ...). + * Reenable gpc on alpha and ia64. + + -- Matthias Klose Sat, 20 Mar 2004 07:39:24 +0100 + +gcc-3.3 (1:3.3.3ds5-3) unstable; urgency=low + + * Update to gcc-3_3-branch CVS 20040314. + - Fixes miscompilation with -O -funroll-loops on powerpc (closes: #229567). + - Fix ICE in dwarf-2 on code using altivec (closes: #203835). + * Update hurd-changes patch. + * Add libgcj4-dev as a recommendation for gcj (closes: #236547). + * debian/copyright: Added exemption to static linking of libgcc. + + * Phil Blundell: + - debian/patches/arm-ldm.dpatch, debian/patches/arm-gotoff.dpatch: Update. + + -- Matthias Klose Sun, 14 Mar 2004 09:56:06 +0100 + +gcc-3.3 (1:3.3.3ds5-2) unstable; urgency=low + + * Update to gcc-3_3-branch CVS 20040306. + - Fixes bootstrap comparision error on ia64. + - Allows ghc build with gcc-3.3. + - On amd64, don't imply 3DNow! for -m64 by default. + - Some arm specific changes + - Fix C++/13944: exception in constructor of a class to be thrown is not + caught. Closes: #228099. + * Enable the build of gcc-3.3-hppa64 on hppa. + Add symlinks for as and ld to point to hppa64-linux-{as,ld}. + * gcj-3.3 depends on g++-3.3, recommends gij-3.3. gij-3.3 suggests gcj-3.3. + * Fix libgc2c-pic compatibility links (closes: #234333). + The link will be removed for gcc-3.4. + * g77-3.3: Conflict with other g77-x.y packages. + * Tighten shlibs dependencies to latest released versions. + + * Phil Blundell: + - debian/patches/arm-233633.dpatch: New Fixes problems with half-word + loads on ARMv3 architecture. (Closes: #233633) + - debian/patches/arm-ldm.dpatch: New. Avoids inefficient epilogue for + leaf functions in PIC code on ARM. + + -- Matthias Klose Sat, 6 Mar 2004 10:57:14 +0100 + +gcc-3.3 (1:3.3.3ds5-1) unstable; urgency=medium + + * gcc-3.3.3 final release. + See /usr/share/doc/gcc-3.3/NEWS.{gcc,html}. + + -- Matthias Klose Mon, 16 Feb 2004 08:59:52 +0100 + +gcc-3.3 (1:3.3.3ds4-0pre4) unstable; urgency=low + + * Update to gcc-3.3.3 CVS 20040214 (2nd gcc-3.3.3 prerelease). + * Fix title of libstdc++'s html main index (closes: #196381). + * Move libg2c libraray files out of the gcc specific libdir to /usr/lib. + For g77-3.3 add conflicts to other g77 packages. Closes: #224848. + * Update the stack protector patch to 3.3-7, but don't apply it by default. + Closes: #230338. + * On arm, use arm6 as the cpu default (backport from mainline, PR12527). + * Add libffi and libjava support for hppa (Randolph Chung). Closes: #232615. + + -- Matthias Klose Sat, 14 Feb 2004 09:26:15 +0100 + +gcc-3.3 (1:3.3.3ds3-0pre3) unstable; urgency=low + + * Update to gcc-3.3.3 CVS 20040125. + - Fixed PR11350, undefined labels with -Os -fPIC (closes: #195911). + - Fixed PR11793, ICE in extract_insn, at recog.c (closes: #203835). + - Fixed PR13544, removed backport for PR12862. + - Integrated backport for PR12441. + * Fixed since 3.3: java: not implemented interface methods of abstract + classes not found (closes: #225438). + * Disable pascal on arm architecture (currently broken). + * Update the build files to build a cross compiler (Nikita V. Youshchenko). + See debian/README.cross in the source package. + * Apply revised patch to make -mieee the default on alpha-linux, + and add -mieee-disable switch to turn the default off (closes: #212912). + (Tyson Whitehead) + + -- Matthias Klose Sun, 25 Jan 2004 17:41:04 +0100 + +gcc-3.3 (1:3.3.3ds2-0pre2) unstable; urgency=medium + + * Update to gcc-3.3.3 CVS 20040110. + - Fixes compilation not terminating at -O1 on hppa (closes: #207516). + * Add backport to fix PR12441 (closes: #224576). + * Revert backport to 3.3 branch to fix PR12862, which introduced another + regression (PR13544). Closes: #225663. + * Tighten dependency of gnat-3.3 on gcc-3.3 (closes: #226273). + * Disable treelang build for cross compiler build. + * Disable pascal on alpha and ia64 architectures (currently broken). + + -- Matthias Klose Sat, 10 Jan 2004 12:33:59 +0100 + +gcc-3.3 (1:3.3.3ds1-0pre1) unstable; urgency=low + + * Update to gcc-3.3.3 CVS 20031229. + - Fixes bootstrap error on ia64-linux. + - Fix -pthread on mips{,el}-linux (closes: #224875). + - Fix -Wformat for C++ (closes: #217075). + * Backport from mainline: Preserve inline-ness when redeclaring + a function template (closes: #195264). + * Add missing intrinsics headers on ix86 (closes: #224593). + * Fix location of libg2c libdir in libg2c.la file (closes: #224848). + + -- Matthias Klose Mon, 29 Dec 2003 10:36:29 +0100 + +gcc-3.3 (1:3.3.3ds0-0pre0.1) unstable; urgency=high + + * NMU + * Fixed mips(el) spec file for -pthread: (Closes: #224875) + * [debian/patches/mips-pthread.dpatch] New. + * [debian/rules.patch] Added it to debian_patches. + + -- J.H.M. Dassen (Ray) Sat, 27 Dec 2003 15:51:47 +0100 + +gcc-3.3 (1:3.3.3ds0-0pre0) unstable; urgency=low + + * Update to gcc-3.3.3 CVS 20031206. + - Fixes ICE in verify_local_live_at_start (hppa). Closes: #201550. + - Fixes miscompilation of linux-2.6/sound/core/oss/rate.c. + Closes: #219949. + * Add missing unwind.h to gcc package (closes: #220846). + * Regenerate control file to fix build dependencies for m68k. + * More gpc only patches to fix test failures on m68k. + * Reenable gpc for the Hurd (closes: #189851). + + -- Matthias Klose Sat, 6 Dec 2003 10:29:07 +0100 + +gcc-3.3 (1:3.3.2ds5-4) unstable; urgency=low + + * Update libffi-dev package description (closes: #219508). + * For gij and libgcj fix dependency on the libstdc++ package, if + the latter isn't installed during the build. + * Apply patch to emit .note.GNU-stack section on linux arches + which by default need executable stack. + * Prefer gnat-3.3 over gnat-3.2 as a build dependency. + * Update the pascal tarball (different version released with the + same name). + * Add pascal patches to address various gpc testsuite failures. + On alpha and ia64, build gpc from the 20030830 version. Reenable + the build on m68k. + Remove the 20030507 gpc version from the tarball. + * Apply patch to build the shared ada libs and link the ada tools + against the shared libs. Not enabled by default, because gnat + and gnatlib are rebuilt during install. (Ludovic Brenta) + + -- Matthias Klose Sun, 9 Nov 2003 22:34:33 +0100 + +gcc-3.3 (1:3.3.2ds4-3) unstable; urgency=low + + * Fix rules to omit inclusion of gnatpsta in mips(el) gnat package. + + -- Matthias Klose Sun, 2 Nov 2003 14:29:59 +0100 + +gcc-3.3 (1:3.3.2ds4-2) unstable; urgency=medium + + * s390-ifcvt patch added. Fixes gcl miscompilation (closes: #217240). + (Gerhard Tonn) + * Fix an infinite loop in g++ compiling lufs, regression from 3.3.1. + * Fix a wrong code generation bug on alpha. + (Falk Hueffner) + * Update NEWS files. + * Add Falk Hueffner to the Debian GCC maintainers. + * Enable ada on mips and mipsel, but don't build the gnatpsta tool. + + -- Matthias Klose Wed, 29 Oct 2003 00:12:37 +0100 + +gcc-3.3 (1:3.3.2ds4-1) unstable; urgency=medium + + * Update to gcc-3.3.2. + * Update NEWS files. + * Miscompilation in the pari package at -O3 fixed (closes: #198172). + * On alpha-linux, revert -mieee as the default (Falk Hueffner). + Reopens: #212912. + * Add ia64-unwind patch (Jeff Bailey). + * Closed reports reported against gcc-2.96 (ia64), fixed at least in gcc-3.3: + - ICE in verify_local_live_at_start, at flow.c:2733 (closes: #135404). + - Compilation failure of stlport (closes: #135224). + - Infinite loop compiling cssc's pfile.cc with -O2 (closes: #115390). + - Added missing some string::compare() members (closes: #141199). + - header declares std::pow (closes: #161853). + - does have at() method (closes: #59776). + - Fixed error in stl_deque.h (closes: #69530). + - Fixed problem with bastring (closes: #75759, #96539). + - bad_alloc and std:: namespace problem (closes: #75120). + - Excessive warnings from headers with -Weffc++ (closes: #76827). + + -- Matthias Klose Fri, 17 Oct 2003 08:07:01 +0200 + +gcc-3.3 (1:3.3.2ds3-0pre5) unstable; urgency=low + + * Update to gcc-3.3.2 CVS 20031005. + - Fixes cpp inserting a spurious newline (closes: #210478, #210482). + - Fixes generation of unrecognizable insn compiling kernel source + on alpha (closes: #202762). + - Fixes ICE in add_abstract_origin_attribute (closes: #212406). + - Fixes forward declaration in libstdc++ (closes: #209386). + - Fixes ICE in in extract_insn, at recog.c on alpha (closes: #207564). + * Make libgcj-common architecture all (closes: #211909). + * Build depend on: flex-old | flex (<< 2.5.31). + * Fix spec linking libraries with -pthread on powerpc (closes: #211054). + * debian/patches/arm-gotoff.dpatch: fix two kinds of PIC lossage. + (Phil Blundell) + * debian/patches/arm-common.dpatch: fix excessive alignment of common + blocks causing binutils testsuite failures. + (Phil Blundell) + * Update priorities in debian/control to match the archive. + (Ryan Murray) + * s390-nonlocal-goto patch added. Fixes some pascal testcase failures. + (Gerhard Tonn) + * On alpha-linux, make -mieee default and add -mieee-disable switch + to turn default off (closes: #212912). + (Tyson Whitehead) + * Add gpc upstream patch for memory corruption fix. + + -- Matthias Klose Sun, 5 Oct 2003 19:53:49 +0200 + +gcc-3.3 (1:3.3.2ds2-0pre4) unstable; urgency=low + + * Add gcc-unsharing_lhs patch (closes: #210848) + + -- Ryan Murray Fri, 19 Sep 2003 22:51:19 -0600 + +gcc-3.3 (1:3.3.2ds2-0pre3) unstable; urgency=low + + * Update to gcc-3.3.2 CVS 20030908. + * PR11716 (Michael Eager, Dan Jacobowitz): + Make GCC think that the maximum length of a short branch is + 64K instead of 128K. It's a big hammer, but it works. + Closes: #207915. + * Downgrade gpc to 20030507 on alpha and ia64 (closes: #208717). + + -- Matthias Klose Mon, 8 Sep 2003 21:49:52 +0200 + +gcc-3.3 (1:3.3.2ds1-0pre2) unstable; urgency=low + + * Update to gcc-3.3.2 CVS 20030831. + - Fix java NullPointerException detection with 2.6 kernels. + Closes: #206377. + - Fix bug in C++ typedef handling (closes: #205402). + - Fix -Wunreachable-code giving false complaints (closes: #196600). + * Update to gpc-20030830. + * Don't include /usr/share/java/repository into the class path according + to the new version of th Debian Java policy (closes: #205643). + * Build-Depend/Depend on libgc-dev. + + -- Matthias Klose Sun, 31 Aug 2003 08:56:53 +0200 + +gcc-3.3 (1:3.3.2ds0-0pre1) unstable; urgency=low + + * Remove the build dependency on locales for now. + + -- Matthias Klose Fri, 15 Aug 2003 07:48:18 +0200 + +gcc-3.3 (1:3.3.2ds0-0pre0) unstable; urgency=medium + + * Update to gcc-3.3.2 CVS 20030812. + - Fixes generation of wrong code for XDM-AUTHORIZATION-1 key generation + and/or validation. Closes: #196090. + * Update NEWS files. + * Change ix86 default CPU type for code generation: + - i386-linux -> i486-linux + - i386-gnu -> i586-gnu + - i386-freebsd-gnu -> i486-freebsd-gnu + Use -march=i386 to target i386 CPUs. + + -- Matthias Klose Tue, 12 Aug 2003 10:31:28 +0200 + +gcc-3.3 (1:3.3.1ds3-1) unstable; urgency=low + + * gcc-3.3.1 (taken from CVS 20030805). + - C++: Fix declaration conflicts (closes: #203351). + - Fix ICE on ia64 (closes: #203840). + + -- Matthias Klose Tue, 5 Aug 2003 20:38:02 +0200 + +gcc-3.3 (1:3.3.1ds2-0rc2) unstable; urgency=low + + * Update to gcc-3.3.1 CVS 20030728. + - Fix ICE in extract_insn, at recog.c:2148 on m68k. + Closes: #177840, #180375, #190818. + - Fix ICE while building libquicktime on alpha (closes: #192576). + - Fix failure to deal with using and private inheritance (closes: #202696). + * On sparc, /usr/lib was added to the library search path. Fix it. + * Closed reports reported against gcc-3.2.x and fixed in gcc-3.3: + - Fix error building the gcl package on arm (closes: #199835). + + -- Matthias Klose Mon, 28 Jul 2003 20:39:07 +0200 + +gcc-3.3 (1:3.3.1ds1-0rc1) unstable; urgency=low + + * Update to gcc-3.3.1 CVS 20030722 (3.3.1 release candidate 1). + - Fix ICE in copy_to_mode_reg on 64-bit targets (closes: #189365). + - Remove documentation about multi-line strings (closes: #194391). + - Correctly document -falign-* parameters (closes: #198269). + - out-of-class specialization of a private nested template class. + Closes: #193830. + - Tighten shlibs dependency due to new symbols in libgcc. + * README.Debian for libg2c0, describing the need for g77-x.y when + working with the g2c header and library (closes: #189059). + * Call make with -j, if USE_NJOBS is set and non-empty + in the environment. + * Add another two m68k patches, partly replacing the workarounds provided + by Roman Zippel. + * Add the stack protector patch, but don't apply it by default. Edit + debian/rules.patch to apply it (closes: #171699, #189494). + * Remove wrong symlinks from gnat package (closes: #201882). + * Closed reports reported against gcc-2.95 and fixed in newer versions: + - SMP kernel compilation on alpha (closes: #134197, #146883). + - ICE on arm while building imagemagick (closes: #173475). + * Closed reports reported against gcc-3.2.x and fixed in gcc-3.3: + - Miscompilation of octave2.1 on hppa (closes: #192296, #193804). + + -- Matthias Klose Sun, 13 Jul 2003 10:26:30 +0200 + +gcc-3.3 (1:3.3.1ds0-0pre0) unstable; urgency=medium + + * Update to gcc-3.3.1 CVS 20030626. + - Fix ICE on arm compiling xfree86 (closes: #195424). + - Fix ICE on arm compiling fftw (closes: #186185). + - Fix ICE on arm in change_address_1, affecting a few packages. + Closes: #197099. + - Fix ICE in merge_assigned_reloads building Linux 2.4.2x sched.c. + Closes: #195237. + - Do not warn about failing to inline functions declared in system headers. + Closes: #193049. + - Fix ICE on mips{,el} in propagate_one_insn (closes: #194330, #196091). + - Fix ICE on m68k in reg_overlap_mentioned_p (closes: #194749). + - Build crtbeginT.o on m68k (closes: #197613). + * Fix g++ man page symlink (closes: #196271). + * mips/mipsel: Depend on binutils (>= 2.14.90.0.4). Closes: #196744. + * Disable treelang on powerpc (again). Closes: #196915. + * Pass -encoding in gcj-wrapper. + + -- Matthias Klose Fri, 27 Jun 2003 00:14:43 +0200 + +gcc-3.3 (1:3.3ds9-3) unstable; urgency=low + + * Closing more reports, fixed in 3.2/3.3: + - ICE building texmacs on m68k (closes: #177433). + - libstdc++: doesn't define trunc(...) (closes: #105285). + - libstdc++: setw is ignored for strings output (closes: #52382, #76645). + * Add build support to omit the manual pages and info docs from the + packages, disabled by default. Wait for a Debian statement, which can + be cited. Adresses: #193787. + * Reenable the m68k-const patch, don't run the g77 testsuite on m68k. + Addresses ICEs (#177840, #190818). + * Update arm-xscale patch. + * libstdc++: use __attribute__(__unknown__), instead of (unknown). + Closes: #195796. + * Build-Depend on glibc (>= 2.3.1) to prevent incorrect builds on woody. + Request from Adrian Bunk. + * Add treelang-update patch (Tim Josling), reenable treelang on powerpc. + * Add -{cpp,gcc,g++,gcj,g77} symlinks (addresses: #189466). + * Make sure not to build using binutils-2.14.90.0.[12]. + + -- Matthias Klose Mon, 2 Jun 2003 22:35:45 +0200 + +gcc-3.3 (1:3.3ds9-2) unstable; urgency=medium + + * Correct autoconf-related snafu in newly added ARM patches (Phil Blundell). + * Correct libgcc1 dependency (closes: #193689). + * Work around ldd/dpkg-shlibs failure on s390x. + + -- Matthias Klose Sun, 18 May 2003 09:40:15 +0200 + +gcc-3.3 (1:3.3ds9-1) unstable; urgency=low + + * gcc-3.3 final release. + See /usr/share/doc/gcc-3.3/NEWS.{gcc,html}. + * First merge of i386/x86-64 biarch support (Arnd Bergmann). + Disabled by default. Closes: #190066. + * New gpc-20030507 version. + * Upstream gpc update to fix netbsd build failure (closes: #191407). + * Add arm-xscale.dpatch, arm-10730.dpatch, arm-tune.dpatch, copied + from gcc-3.2 (Phil Blundell). + * Closing bug reports reported against older gcc versions (some of them + still present in Debian, but not anymore as the default compiler). + Usually, forwarded bug reports are linked to + http://gcc.gnu.org/PR + The upstream bug number usually can be found in the Debian reports. + + * Closed reports reported against gcc-3.1.x, gcc-3.2.x and fixed in gcc-3.3: + - General: + + GCC accepts multi-line strings without \ or " " &c (closes: #2910). + + -print-file-name sometimes fails (closes: #161615). + + ICE: reporting routines re-entered (closes: #179597, #180937). + + Misplaced paragraph in gcc documentation (closes: #179363). + + Error: suffix or operands invalid for `div' (closes: #150558). + + builtin memcmp() could be optimised (closes: #85535). + - Ada: + + Preelaborate, exceptions, and -gnatN (closes: #181679). + - C: + + Duplicate loop conditions even with -Os (closes: #94701). + + ICE (signal 11) (closes: #65686). + - C++: + + C++ error on virtual function which uses ... (closes: #165829). + + ICE when warning about cleanup nastiness in switch statements + (closes: #184108). + + Fails to compile virtual inheritance with variable number of + argument method (closes: #151357). + + xmmintrin.h broken for c++ (closes: #168310). + + Stack corruption with variable-length automatic arrays and virtual + destructors (closes: #188527). + + ICE on illegal code (closes: #184862). + + _attribute__((unused)) is ignored in C++ (closes: #45440). + + g++ handles &(void *)foo bizzarely (closes: #79225). + + ICE (with wrong code, though) (closes: #81122). + - Java: + + Broken zip file handling (closes: #180567). + - ObjC: + + @protocol forward definitions do not work (closes: #80468). + - Architecture specific: + - alpha + + va_start is off by one (closes: #186139). + + ICE while building kseg/ddd (closes: #184753). + + g++ -O2 optimization error (closes: #70743). + - arm + + ICE with -O2 in change_address_1 (closes: #180750). + + gcc optimization error with -O2, affecting bison (closes: #185903). + - hppa + + ICE in insn_default_length (closes: #186447). + - ia64 + + gcc-3.2 fails w/ optimization (closes: #178830). + - i386 + + unnecessary generation of instruction cwtl (closes: #95318). + + {athlon} ICE building mplayer (closes: #184800). + + {pentium4} ICE while compiling mozilla with -march=pentium4 + (closes: #187910). + + i386 optimisation: joining tests (closes: #105309). + - m68k + + ICE in instantiate_virtual_regs_1 (closes: #180493). + + gcc optimizer bug on m68k (closes: #64832). + - powerpc + + ICE in extract_insn, at recog.c:2175 building php3 (closes: #186299). + + ICE with -O -Wunreachable-code (closes: #189702). + - s390 + + Operand out of range at assembly time when using -O2 + (closes: #178596). + - sparc + + gcc-3.2 regression (wrong code) (closes: #176387). + + ICE in mem_loc_descriptor when optimizing (closes: #178909). + + ICE in gen_reg_rtx when optimizing (closes: #178965). + + Optimisation leads to unaligned access in memcpy (closes: #136659). + + * Closed reports reported against gcc-3.0 and fixed in gcc-3.2.x: + - General: + + Use mkstemp instead of mktemp (closed: #127802). + - Preprocessor: + + Fix redundant error message from cpp (closed: #100722). + - C: + + Optimization issue on ix86 (pointless moving) (closed: #97904). + + Miscompilation of allegro on ix86 (closed: #105741). + + Fix generation of ..ng references for static aliases (alpha-linux). + (closed: #108036). + + ICE compiling pari on hppa (closed: #111613). + + ICE on ia64 in instantiate_virtual_regs_1 (closed: #121668). + + ICE in c-typeck.c (closed: #123687). + + ICE in gen_subprogram_die on alpha (closed: #127890). + + SEGV in initialization of flexible char array member (closed: #131399). + + ICE on arm compiling lapack (closed: #135967). + + ICE in incomplete_type_error (closed: #140606). + + Fix -Wswitch (also part of -Wall) (closed: #140995). + + Wrong code in mke2fs on hppa (closed: #150232). + + sin(a) * sin(b) gives wrong result (closed: #164135). + - C++: + + Error in std library headers on arm (closed: #107633). + + ICE nr. 19970302 (closed: #119635). + + std::wcout does not perform encoding conversions (closed: #128026). + + SEGV, when compiling iostream.h with -fPIC (closed: #134315). + + Fixed segmentation fault in included code for (closed: #137017). + + Fix with exception handling and -O (closed: #144232). + + Fix octave-2.1 build failure on ia64 (closed: #144584). + + nonstandard overloads in num_get facet (closed: #155900). + + ICE in expand_end_loop with -O (closed: #158371). + - Fortran: + + Fix blas build failure on arm (closed: #137959). + - Java: + + Interface members are public by default (closed: #94974). + + Strange message with -fno-bounds-check in combination with -W. + (closed: #102353). + + Crash in FileWriter using IOException (closed: #116128). + + Fix ObjectInputStream.readObject() calling constructors. + (closed: #121636). + + gij: better error reporting on `class not found' (closed: #125649). + + Lockup during .java->.class compilation (closed: #141899). + + Compile breaks using temporary inner class instance (closed: #141900). + + Default constructor for inner class causes broken bytecode. + (closed: #141902). + + gij-3.2 linked against libgcc1 (closed: #165180). + + gij-wrapper understands -classpath parameter (closed: #146634). + + gij-3.2 doesn't ignore -jar when run as "java" (closed: #167673). + - ObjC: + + ICE on alpha (closed: #172353). + + * Closed reports reported against gcc-2.95 and fixed in newer versions: + - General: + + Undocumented option -pthread (closes: #165110). + + stdbool.h broken (closes: #167439). + + regparm/profiling breakage (closes: #20695). + + another gcc optimization error (closes: #51456). + + ICE in `output_fix_trunc' (closes: #55967). + + Fix "Unable to generate reloads for" (closes: #58219, #131890). + + gcc -c -MD x/y.c -o x/y.o leaves y.d in cwd (closes: #59232). + + Compiler error with -O2 (closes: #67631). + + ICE (unrecognizable insn) compiling php4 (closes: #83550, #84969). + + Another ICE (closes: #90666). + + man versus info inconsistency (-W and -Wall) (closes: #93708). + + ICE on invalid extended asm (closes: #136630). + + ICE in `emit_no_conflict_block' compiling perl (closes: #154599). + + ICE in `gen_tagged_type_instantiation_die'(closes: #166766). + + ICE on __builtin_memset(s, 0, -1) (closes: #170994). + + -Q option to gcc appears twice in the documentation (closes: #137382). + + New options for specifying targets:- -MQ and -MT (closes: #27878). + + Configure using --enable-nls (closes: #51651). + + gcc -dumpspecs undocumented (closes: #65406). + - Preprocessor: + + cpp fails to parse macros with varargs correctly(closes: #154767). + + __VA_ARGS__ stringification crashes preprocessor if __VA_ARGS__ is + empty (closes: #152709). + + gcc doesn't handle empty args in macro function if there is only + one arg(closes: #156450). + - C: + + Uncaught floating point exception causes ICE (closes: #33786). + + gcc -fpack-struct doesn't pack structs (closes: #64628). + + ICE in kernel (matroxfb) code (closes: #151196). + + gcc doesn't warn about unreachable code (closes: #158704). + + Fix docs for __builtin_return_address(closes: #165992). + + C99 symbols in limits.h not defined (closes: #168346). + + %zd printf spec generates warning, even in c9x mode (closes: #94891). + + Update GCC attribute syntax (closes: #12253, #43119). + - C++ & libstdc++-v3: + + template and virtual inheritance bug (closes: #152315). + + g++ has some troubles with nested templates (closes: #21255). + + vtable thunks implementation is broken (closes: #34876, #35477). + + ICE for templated friend (closes: #42662). + + ICE compiling mnemonic (closes: #42989). + + Deprecated: result naming doesn't work for functions defined in a + class (closes: #43170). + + volatile undefined ... (closes: #50529). + + ICE concerning templates (closes: #53698). + + Program compiled -O3 -malign-double segfaults in ofstream::~ofstream + (closes: #56867). + + __attribute__ ((constructor)) doesn't work with C++ (closes: #61806). + + Another ICE (closes: #65687). + + ICE in `const_hash' (closes: #72933). + + ICE on illegal code (closes: #83221). + + Wrong code with -O2 (closes: #83363). + + ICE on template class (closes: #85934). + + No warning for missing return in non-void member func (closes: #88260). + + Not a bug/fixed in libgcc1: libgcc.a symbols end up exported by + shared libraries (closes: #118670). + + ICE using nested templates (closes: #118781). + + Another ICE with templates (closes: #127489). + + More ICEs (closes: #140427, #141797). + + ICE when template declared after use(closes: #148603). + + template function default arguments are not handled (closes: #157292). + + Warning when including stl.h (closes: #162074). + + g++ -pedantic-errors -D_GNU_SOURCE cannot #include + (closes: #151671). + + c++ error message improvement suggestion (closes: #46181). + + Compilation error in stl_alloc.h with -fhonor-std (closes: #59005). + + libstdc++ has no method at() in stl_= (closes: #68963). + - Fortran: + + g77 crash (closes: #130415). + - ObjC: + + ICE: program cc1obj got fatal signal 11 (closes: #62309). + + Interface to garbage collector is undocumented. (closes: #68987). + - Architecture specific: + - alpha + + Can't compile with define gnu_source with stdio and curses + (closes: #97603). + + Header conflicts on alpha (closes: #134558). + + lapack-dev: cannot link on alpha (closes: #144602). + + ICE `fixup_var_refs_1' (closes: #43001). + + Mutt segv on viewing list of attachments (closes: #47981). + + ICE building open-amulet (closes: #48530). + + ICE compiling hatman (closes: #55291). + + dead code removal in switch() broken (closes: #142844). + - arm + + Miscompilation using -fPIC on arm (closes: #90363). + + infinite loop with -O on arm (closes: #151675). + - i386 + + ICE when using -mno-ieee-fp and -march=i686 (closes: #87540). + - m68k + + Optimization (-O2) broken on m68k (closes: #146006). + - mips + + g++ exception catching does not work... (closes: #105569). + + update-menus gets Bus Error (closes: #120333). + - mipsel + + aspell: triggers ICE on mipsel (closes: #128367). + - powerpc + + -O2 produces wrong code (gnuchess example) (closes: #131454). + - sparc + + Misleading documentation for -malign-{jump,loop,function}s + (closes: #114029). + + Sparc GCC issue with -mcpu=ultrasparc (closes: #172956). + + flightgear: build failure on sparc (closes: #88694). + + -- Matthias Klose Fri, 16 May 2003 07:13:57 +0200 + +gcc-3.3 (1:3.3ds8-0pre9) unstable; urgency=high + + * gcc-3.3 second prerelease. + - Fixing exception handling on s390 (urgency high). + * Reenabled gpc build (I had it disabled ...). Closes: #192347. + + -- Matthias Klose Fri, 9 May 2003 07:32:14 +0200 + +gcc-3.3 (1:3.3ds8-0pre8) unstable; urgency=low + + * gcc-3.3 prerelease. + - Fixes gcj ICE (closes: #189545). + * For libstdc++ use the i486 atomicity implementation, introduced with + 0pre6, left out in 0pre7 (closes: #191684). + * Add README.Debian for treelang (closes: #190812). + * Apply NetBSD changes (Joel Baker). Closes: #191551. + * New symbols in libgcc1, tighten the shlibs dependency. + * Disable testsuite run on mips/mipsel because of an outdated libc-dev + package. + * Do not build libffi with debug information, although configuring + with --enable-debug. + + -- Matthias Klose Tue, 6 May 2003 06:53:49 +0200 + +gcc-3.3 (1:3.3ds7-0pre7) unstable; urgency=low + + * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030429). + * Revert upstream libstdc++ change (closes: #191145, #191147, #191148, + #191149, #149159, #149151, and other reports). + Sorry for not detecting this before the upload, seems to be + broken on i386 "only". + * hurd-i386: Use /usr/include, not /include. + * Disable gpc on hurd-i386 (closes: #189851). + * Disable building the debug version of libstdc++ on powerpc-linux + (fixes about 200 java test cases). + * Install libstdc++v3 man pages (closes: #127263). + + -- Matthias Klose Tue, 29 Apr 2003 23:28:44 +0200 + +gcc-3.3 (1:3.3ds6-0pre6) unstable; urgency=high + + * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030426). + * libstdc++-doc: Fix index.html link (closes: #189424). + * Revert back to the i486 atomicity implementation, that was used + for gcc-3.2 as well. Reopens: #184446, #185662. Closes: #189983. + For this reason, tighten the libstdc++5 shlibs dependency. See + http://lists.debian.org/debian-devel/2003/debian-devel-200304/msg01895.html + Don't build the ix86 specfic libstdc++ libs anymore. + + -- Matthias Klose Sun, 27 Apr 2003 19:47:54 +0200 + +gcc-3.3 (1:3.3ds5-0pre5) unstable; urgency=low + + * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030415). + * Disable treelang on powerpc. + * Disable gpc on m68k. + * Install locale data. Conflict with gcc-3.2 (<= 1:3.2.3-0pre8). + * Fix generated bits/atomicity.h (closes: #189183). + * Tighten libgcc1 shlibs dependency (new symbol _Unwind_Backtrace). + + -- Matthias Klose Wed, 16 Apr 2003 00:37:05 +0200 + +gcc-3.3 (1:3.3ds4-0pre4) unstable; urgency=low + + * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030412). + * Avoid sparc64 dependencies for libgcc1 on sparc (Clint Adams). + * Make the default sparc 32bit target v8 instead of v7. This mainly + enables hardmul, which should speed up v8 and v9 systems by a large + margin (Ben Collins). + * Tighten binutils dependency for sparc. + * On i386, build libstdc++ optimized for i486 and above. The library + in /usr/lib is built for i386. Closes: #184446, #185662. + * Add gpc build (from gcc-snapshot package). + * debian/control: Include all packages, that _can_ be built from + this source package (except the cross packages). + * Add m68k patches: m68k-const, m68k-subreg, m68k-loop. + * Run the 3.3 testsuite a second time with the installed gcc-3.2 + to check for regressions (promised, only this time, and for the + final release ;). Add build dependencies (gobjc-3.2, g77-3.2, g++-3.2). + + -- Matthias Klose Sat, 12 Apr 2003 10:11:11 +0200 + +gcc-3.3 (1:3.3ds3-0pre3) unstable; urgency=low + + * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030331). + * Reenable java on arm. + * Build-Depend on binutils-2.13.90.0.18-1.3 on m68k. Fixes all + bprob/gcov testsuite failures. + * Enable C++ build on arm. + * Enable the sparc64 build. + + -- Matthias Klose Mon, 31 Mar 2003 23:24:54 +0200 + +gcc-3.3 (1:3.3ds2-0pre2) unstable; urgency=low + + * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030317). + * Disable building the gcc-3.3-nof package. + * Disable Ada on mips and mipsel. + * Remove the workaround to build Ada on powerpc. + * Add GNU Free documentation license to copyright file. + * Update the sparc64 build patches (Clint Adams). Not yet enabled. + * Disable C++ on arm (Not yet tested). + * Add fix for ICE on powerpc (see: #184684). + + -- Matthias Klose Sun, 16 Mar 2003 21:40:57 +0100 + +gcc-3.3 (1:3.3ds1-0pre1) unstable; urgency=low + + * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030310). + * Add gccbug manpage. + * Don't build libgnat package (no shared library). + * Configure with --enable-sjlj-exceptions on hppa and m68k for + binary compatibility with libstdc++ built with gcc-3.2. + * Disable Java on arm-linux (never seen it sucessfully bootstrap). + * Install non-conflicting baseline README. + * multilib *.so and *.a moved to /usr/lib/gcc-lib/... , so that several + compiler versions can be installed concurrently. + * Remove libstdc++-incdir patch applied upstream. + * libstdc++ 64 bit development files now handled in -dev target. + (Gerhard Tonn) + * Drop build dependencies for gpc (tetex-bin, help2man, libncurses5-dev). + * Add libstdc++5-3.3-dev confict to libstdc++5-dev (<= 1:3.2.3-0pre3). + * Enable builds on m68k (all but C++ for the moment). gcc-3.3 bootstraps, + while gcc-3.2 doesn't. + + -- Matthias Klose Mon, 10 Mar 2003 23:41:00 +0100 + +gcc-3.3 (1:3.3ds0-0pre0) unstable; urgency=low + + * First gcc-3.3 package, built for s390 only. All other architectures + build the gcc-3.3-base package only. + To build the package on other architectures, edit debian/rules.defs + (macro no_dummy_archs). + * gcc-3.3 prerelease taken from the gcc-3_3-branch (CVS 20030301). + * Don't include the gcc locale files (would conflict with 3.2). + * Remove libffi-install-fix patch. + * Fix netbsd-i386 patches. + * Change priority of libstdc++5 and gcc-3.2-base to important. + * Install gcjh-wrapper for javah. + * gij suggests fastjar, gcj recommends fastjar. + * Allow builds using automake1.4 | automake (<< 1.5). + * Backport fix for to output more correct line numbers. + * Add help2man to build dependencies needed for some gpc man pages. + * gpc: Install binobj and gpidump binaries and man pages. + * Apply cross compilation patches submitted by Bastian Blank. + * Replace s390-biarch patch and copy s390-config-ml patch from 3.2 + (Gerhard Tonn). + * Configure using --enable-debug. + * Add infrastructure to only build a subset of binary packages. + * Rename libstdc++-{dev,dbg,pic,doc} packages. + * Build treelang compiler. + + -- Matthias Klose Sat, 1 Mar 2003 12:56:42 +0100 + +gcc-3.2 (1:3.2.3ds2-0pre3) unstable; urgency=low + + * gcc-3.2.3 prerelease (CVS 20030228) + - Fixes bootstrap failure on alpha-linux. + - Fixes ICE on m68k (closes: #177016). + * Build Pascal with -O1 on powerpc, disable Pascal on arm, m68k and + sparc (due to wrong code generation for fwrite in glibc, + see PR optimization/9279). + * Apply cross compilation patches submitted by Bastian Blank. + + -- Matthias Klose Fri, 28 Feb 2003 20:26:30 +0100 + +gcc-3.2 (1:3.2.3ds1-0pre2) unstable; urgency=medium + + * gcc-3.2.3 prerelease (CVS 20030221) + - Fixes ICE on hppa (closes: #181813). + * Patch for ffitest in s390-java.dpatch deleted, since already fixed + upstream. (Gerhard Tonn) + * Build crtbeginT.o on m68k-linux (closes: #179807). + * Install gcjh-wrapper for javah (closes: #180218). + * gij suggests fastjar, gcj recommends fastjar (closes: #179298). + * Allow builds using automake1.4 | automake (<< 1.5) (closes: #180048). + * Backport fix for to output more correct line numbers (closes: #153965). + * Add help2man to build dependencies needed for some gpc man pages. + * gpc: Install binobj and gpidump binaries and man pages. + * Disable gpc on arm due to wrong code generation for fwrite in + glibc (see PR optimization/9279). + + -- Matthias Klose Sat, 22 Feb 2003 19:58:20 +0100 + +gcc-3.2 (1:3.2.3ds0-0pre1) unstable; urgency=low + + * gcc-3.2.3 prerelease (CVS 20030210) + - Fixes long millicode calls on hppa (closes: #180520) + * New gpc-20030209 version. Remove gpc-update.dpatch and gpc-testsuite.dptch + as they are no longer needed. + * Fix netbsd-i386 patches (closes: #180129, #179931) + * m68k-bootstrap.dpatch: backport gcse.c changes from 3.3/MAIN to 3.2 + * Change priority of libstdc++5 and gcc-3.2-base to important. + + -- Ryan Murray Tue, 11 Feb 2003 06:18:09 -0700 + +gcc-3.2 (1:3.2.2ds8-1) unstable; urgency=low + + * gcc-3.2.2 release. + - Fixes ICE, regression from 2.95 (closes: #176117). + - Fixes ICE, regression from 2.95 (closes: #179161). + * libstdc++ for biarch installs now upstream to usr/lib64, + therefore mv usr/lib/64 usr/lib64 no longer necessary. (Gerhard Tonn) + + -- Ryan Murray Wed, 5 Feb 2003 01:35:29 -0700 + +gcc-3.2 (1:3.2.2ds7-0pre8) unstable; urgency=low + + * gcc-3.2.2 prerelease (CVS 20030130). + * update s390 libffi patch + * debian/control: add myself to uploaders and change libc12-dev depends to + libc-dev on i386 (closes: #179128) + * Build-Depend on procps so that ps is available for logwatch + + -- Ryan Murray Fri, 31 Jan 2003 04:00:15 -0700 + +gcc-3.2 (1:3.2.2ds6-0pre7) unstable; urgency=low + + * gcc-3.2.2 prerelease (CVS 20030128). + - Update needed for hppa. + - Fixes ICE on arm, regression from 2.95.x (closes: #168086). + - Can use default bison (1.875). + * Apply netbsd build patches (closes: #177674, #178328, #178325, + #178326, #178327). + * Run the logwatch script on "slow" architectures (arm, m68k) only. + * autoreconf.dpatch: Only update libtool.m4, which is newer conceptually + than libtool 1.4 (Ryan Murray). + * Apply autoreconf patch universally (Ryan Murray). + * More robust gij/gcj wrapper scripts, include /usr/lib/jni in default + JNI search path (Ben Burton). Closes: #167932. + * Build crtbeginT.o on m68k (closes: #177036). + * Fixed libc-dev source dependency (closes: #178602). + * Tighten shlib dependency to the current package version; should be + 1:3.2.2-1 for the final release (closes: #178867). + + -- Matthias Klose Tue, 28 Jan 2003 21:59:30 +0100 + +gcc-3.2 (1:3.2.2ds5-0pre6) unstable; urgency=low + + * gcc-3.2 snapshot taken from the gcc-3_2-branch (CVS 20030123). + * Build locales needed by the libstdc++ testsuite. + * Update config.{guess,sub} files from autotools-dev (closes: #177674). + * Disable Ada and Java on netbsd-i386 (closes: #177679). + * gnat: Add suggests for gnat-doc and ada-reference-manual. + + -- Matthias Klose Thu, 23 Jan 2003 22:16:53 +0100 + +gcc-3.2 (1:3.2.2ds4-0pre5.1) unstable; urgency=low + + * Readd build dependency `locales' on arm. locales is now installable + * Add autoreconf patch for mips{,el}. (closes: #176311) + + -- Ryan Murray Wed, 22 Jan 2003 14:31:14 -0800 + +gcc-3.2 (1:3.2.2ds4-0pre5) unstable; urgency=low + + * Remove build dependency `libc6-dev-sparc64 [sparc]' for now. + * Remove build dependency `locales' on arm. locales is uninstallable + on arm due to the missing glibc-2.3. + * Use bison-1.35. bison-1.875 causes an hard error on the reduce/reduce + conflict in objc-parse.y. + + -- Matthias Klose Fri, 10 Jan 2003 10:10:43 +0100 + +gcc-3.2 (1:3.2.2ds4-0pre4) unstable; urgency=low + + * Try building with gcc-2.95 on m68k-linux. Building gcc-3.2 with gcc-3.2 + does not work for me. m68k-linux doesn't look good at all ... + * Fix s390 build error. + * Add locales to build dependencies. A still unsolved issue is the + presence of the locales de_DE, en_PH, en_US, es_MX, fr_FR and it_IT, + or else some tests in the libstdc++ testsuite will fail. + * Put all -nof files in the -nof package (closes: #175253). + * Correctly exit logwatch script (closes: #175251). + * Install linker-map.gnu file for libstdc++_pic (closes: #175144). + * Install versioned gpcs docs only (closes: #173844). + * Include gpc test results in gpc package. + * Link local libstdc++ documentation to local source-level documentation. + * Clarify libstdc++ description (so version and library version). + Closes: #175799. + * Include library in libstdc++-dbg package (closes: #176005). + + -- Matthias Klose Wed, 8 Jan 2003 23:39:50 +0100 + +gcc-3.2 (1:3.2.2ds3-0pre3) unstable; urgency=low + + * gcc-3.2 snapshot taken from the gcc-3_2-branch (CVS 20021231). + - Fix loop count computation for preconditioned unrolled loops. + Closes: #162919. + - Fix xmmintrin.h (_MM_TRANSPOSE4_PS) CVS 20021027 (closes: #163647). + - Fix [PR 8601] strlen/template interaction causes ICE CVS 20021201. + Closes: #166143. + * Watch the log files, which are written during the testsuite runs and print + out a message, if there is still activity. No more buildd timeouts on arm + and m68k ... + * Remove gpc's reference to librx1g-dev package (closes: #172953). + * Remove trailing dots on package descriptions. + * Fix external reference to cpp.info in gcc.info (closes: #174598). + + -- Matthias Klose Tue, 31 Dec 2002 13:47:52 +0100 + +gcc-3.2 (1:3.2.2ds2-0pre2) unstable; urgency=medium + + * Friday, 13th upload, so what do you expect ... + * gcc-3.2 snapshot taken from the gcc-3_2-branch (CVS 20021212). + * Fix gnat build (autobuild maintainers: please revert back to gnat-3.2 + (<= 1:3.2.1ds6-1) for building gnat-3.2, if the build fails building + gnatlib and gnattools). + * Really disable sparc64 support. + + -- Matthias Klose Fri, 13 Dec 2002 00:26:37 +0100 + +gcc-3.2 (1:3.2.2ds1-0pre1) unstable; urgency=low + + * A candidate for the transition ... + * gcc-3.2 snapshot taken from the gcc-3_2-branch (CVS 20021210). + - doc/invoke.texi: Remove last reference to -a (closes: #171748). + * Disable sparc64 support. For now please use egcs64 to build sparc64 + kernels. + * Disable Pascal on the sparc architecture (doesn't bootstrap). + + -- Matthias Klose Tue, 10 Dec 2002 22:33:13 +0100 + +gcc-3.2 (1:3.2.2ds0-0pre0) unstable; urgency=low + + * gcc-3.2 snapshot taken from the gcc-3_2-branch (CVS 20021202). + - Should fix _Pragma expansion within macros (closes: #157416). + * New gpc-20021128 version. Run check using EXTRA_TEST_PFLAGS=-g0 + * Add tetex-bin to build dependencies (gpc needs it). Closes: #171203. + + -- Matthias Klose Tue, 3 Dec 2002 08:22:33 +0100 + +gcc-3.2 (1:3.2.1ds6-1) unstable; urgency=low + + * gcc-3.2.1 final release. + * Build gpc-20021111 for all architectures. hppa and i386 are + known to work. For the other architectures, send the usual FTBFS ... + WARNING: this gpc version is an alpha version, especially debug info + doesn't work well, so use -g0 for compiling. If you need a stable + gpc compiler, use gpc-2.95. + * Encode the gpc upstream version in the package name, the gpc release + date in the version number (requested by gpc upstream). + * Added libncurses5-dev and libgmp3-dev as build dependencies for the + gpc tests and runtime. + * Clean CVS files as well (closes: #169101). + * s390-biarch.dpatch added, backported from CVS (Gerhard Tonn). + * s390-config-ml.dpatch added, disables biarch for java, + libffi and boehm-gc on s390. They need a 64 bit runtime + during build which is not yet available on s390 (Gerhard Tonn). + * Biarch support for packaging adapted (Gerhard Tonn). + biarch variable added and with-sparc64 variable substituted in + most places by biarch. + dh_shlibdeps is applied only to 32 bit libraries on s390, since + ldd for 64 bit libraries don't work on 32 bit runtime. + Build dependency to libc6-dev-s390x added. + + -- Matthias Klose Wed, 20 Nov 2002 00:20:58 +0100 + +gcc-3.2 (1:3.2.1ds5-0pre6) unstable; urgency=medium + + * gcc-3.2.1 prerelease. + * Removed arm patch integrated upstream. + * Adjust gnat build dependency (closes: #167116). + * Always configure with --enable-clocale=gnu. The autobuilders do have + locales installed, but not generated the "de_DE" locale needed for + the autoconf test in libstdcc++-v3/aclocal.m4. + * libstdc++ documentaion: Don't compresss '*.txt' referenced by html pages. + + -- Matthias Klose Tue, 12 Nov 2002 07:19:44 +0100 + +gcc-3.2 (1:3.2.1ds4-0pre5) unstable; urgency=medium + + * gcc-3.2.1 snapshot (CVS 20021103). + * sparc64-build.dpatch: Updated. Lets sparc boostrap again. + * s390-loop.dpatch removed, already fixed upstream (Gerhard Tonn). + * bison.dpatch: Removed, patch submitted upstream. + * backport-java-6865.dpatch: Apply again during build. + * Tighten glibc dependency (closes: #166703). + + -- Matthias Klose Sun, 3 Nov 2002 12:22:02 +0100 + +gcc-3.2 (1:3.2.1ds3-0pre4) unstable; urgency=high + + * gcc-3.2.1 snapshot (CVS 20021020). + - Expansion of _Pragma within macros fixed (closes: #157416). + * FTBFS: With the switch to bison-1.50 (and 1.75), gcc-3.2 fails to build from + source on Debian unstable systems. This is fixed in gcc HEAD, but not on + the current release branch. + HELP NEEDED: + - check what is missing from the patches in debian/patches/bison.dpatch. + This is a backport of the bison related patches, but showing regressions + in the gcc testsuite, so it cannot be applied. + - build gcc using byacc (bootstrap currently fails using byacc). + - build bison-1.35 in it's own package (the current 1.35-3 package fails + to build form source). + - and finally ask upstream to backport the patch to the branch. It's not + helpful not beeing able to follow the stable branch. Maybe we should + just switch to gcc HEAD as BSD does ... + As a terrible workaround, build the sources from CVS first on a machine, + with bison-1.35 installed, then package the tarball, so the bison + generated files are not rebuilt. + + * re-add lost patch: configure with --enable-__cxa_atexit (closes: #163422), + Therefore urgency high. + * gcj-wrapper, gij-wrapper: Accept names starting with `.' (closes: #163172, + #164009). + * Point g++ manpage to correct g++ version (closes: #162843). + * Support for i386-freebsd-gnu (closes: #163883). + * s390-java.dpatch replaced with backport from cvs head (Gerhard Tonn). + * Disable the testsuite run on the Hurd (closes: #159650). + * s390-loop.dpatch added, fixes runtime problem (Gerhard Tonn). + * debian/patches/bison.dpatch: Backport for bison-1.75 compatibility. + Don't use it due to regressions. + * debian/patches/backport-java-6865.dpatch: Directly applied in the + included tarball because of bison problems. + * Make fixincludes priority optional, so linda can depend on it. + * Tighten binutils dependency. + + -- Matthias Klose Sun, 20 Oct 2002 10:52:49 +0200 + +gcc-3.2 (1:3.2.1ds2-0pre3) unstable; urgency=low + + * gcc-3.2.1 snapshot (CVS 20020923). + * Run the libstdc++ check-abi script. Results are put into the file + /usr/share/doc/libstdc++5/README.libstdc++-baseline in the libstdc++5-dev + package. This file contains a new baseline, if no baseline for this + architecture is included in the gcc sources. + * gcj-wrapper: Accept files starting with an underscore, accept + path names (closes: #160859, #161517). + * Explicitely call automake-1.4 when rebuilding Makefiles (closes: #161438). + * Let installed fixincludes script find files in /usr/lib/fixincludes. + * debian/rules.patch: Add .NOTPARALLEL as target, so that patches are + applied sequentially (closes: #159395). + + -- Matthias Klose Tue, 24 Sep 2002 07:36:56 +0200 + +gcc-3.2 (1:3.2.1ds1-0pre2) unstable; urgency=low + + * gcc-3.2.1 snapshot (CVS 20020913). Welcome back m68k in bootstrap land! + * Fix arm-tune.dpatch (closes: #159354). + * Don't overwrite LD_LIBRARY_PATH in build (closes: #158459). + * --disable-__cxa_atexit on NetBSD (closes: #159620). + * Reenable installation of message catalogs (disabled in 3.2-0pre2). + Closes: #160175. + * Ben Collins + - Re-enable sparc64 build. This time, it's part of the default compiler. + I have disabled 64/alt libraries as they are too much overhead. All + libraries build 64bit, but currently only libgcc/libstdc++ include the + 64bit libraries. + Closes: #160404. + * Depend on autoconf2.13, instead of autoconf. + * Phil Blundell + - debian/patches/arm-update.dpatch: Fix python2.2 build failure. + + -- Matthias Klose Sat, 7 Sep 2002 08:05:02 +0200 + +gcc-3.2 (1:3.2.1ds0-0pre1) unstable; urgency=medium + + * gcc-3.2.1 snapshot (CVS 20020829). + New g++ option -Wabi: + Warn when G++ generates code that is probably not compatible with the + vendor-neutral C++ ABI. Although an effort has been made to warn about + all such cases, there are probably some cases that are not warned about, + even though G++ is generating incompatible code. There may also be + cases where warnings are emitted even though the code that is generated + will be compatible. + The current version of the ABI is 102, defined by the __GXX_ABI_VERSION + macro. + * debian/NEWS.*: Updated. + * Fix libstdc++-dev dependency on libc-dev for the Hurd (closes: #157004). + * Add versioned expect build dependency. + * Tighten binutils dependency to 2.13.90.0.4. + * debian/patches/arm-tune.dpatch: Increase stack limit for configure. + * 3.2-0pre4 did build gnat-3.2 compilers for all architectures. Build-Depend + on gnat-3.2 now (closes: #156734). + * Remove bashism's in gcj-wrapper (closes: #157982). + * Add -cp and -classpath options to gij(1). Backport from HEAD (#146634). + * Add fastjar documentation. + + -- Matthias Klose Fri, 30 Aug 2002 10:35:00 +0200 + +gcc-3.2 (1:3.2ds0-0pre4) unstable; urgency=low + + * Correct build dependency on gnat-3.1. + + -- Matthias Klose Mon, 12 Aug 2002 01:21:58 +0200 + +gcc-3.2 (1:3.2ds0-0pre3) unstable; urgency=low + + * gcc-3.2 upstream prerelease. + * Disable all configure options, which are standard: + --enable-threads=posix --enable-long-long, --enable-clocale=gnu + + -- Matthias Klose Fri, 9 Aug 2002 21:59:08 +0200 + +gcc-3.2 (1:3.2ds0-0pre2) unstable; urgency=low + + * gcc-3.2 snapshot (CVS 20020802). + * Fix g++-include dir. + * Don't install the locale files (temporarily, until we don't build + gcc-3.1 anymore). + * New package libgcj-common to avoid conflict with classpath package. + + -- Matthias Klose Sat, 3 Aug 2002 09:08:34 +0200 + +gcc-3.2 (1:3.2ds0-0pre1) unstable; urgency=low + + * gcc-3.2 snapshot (CVS 20020729). + + -- Matthias Klose Mon, 29 Jul 2002 20:36:54 +0200 + +gcc-3.1 (1:3.1.1ds3-1) unstable; urgency=low + + * gcc-3.1.1 release. Following this release we will have a gcc-3.2 + release soon, which is gcc-3.1.1 plus some C++ ABI changes. Once + gcc-3.2 hits the archives, gcc-3.1.1 will go away. + * Don't build the sparc64 compiler. The packaging/patches are + currently broken. + * Add missing headers on m68k and powerpc. + * Install libgcc_s_nof on powerpc. + * Install libffi's copyright and doc files (closes: #152198). + * Remove dangling symlink (closes: #149002). + * libgcj3: Add a conflict to the classpath package (closes: #148664). + * README.C++: Fix URLs. + * libstdc++-dbg: Install into /usr/lib/debug, document it. + * backport-java-6865.dpatch: backport from HEAD. + * Fix typo in gcj docs (closes: #148890). + * Change libstdc++ include dir: /usr/include/c++/3.1. + * libstdc++-codecvt.dpatch: New patch (closes: #149776). + * Build libstdc++-pic package. + * Move 64bit libgcc in its own package libgcc1-64 (closes: #147249). + * Tighten glibc dependency. + + -- Matthias Klose Mon, 29 Jul 2002 00:34:49 +0200 + +gcc-3.1 (1:3.1.1ds2-0pre3) unstable; urgency=low + + * Updated to CVS 2002-06-06 (gcc-3_1-branch). + * Updated s390-java patch (Gerhard Tonn). + * Don't use -O in STAGE1_FLAGS on m68k. + * Fix `-classpath' option in gcj-wrapper script (closes: #150142). + * Remove g++-cxa-atexit patch, use --enable-__cxa_atexit configure option. + + -- Matthias Klose Wed, 3 Jul 2002 23:52:58 +0200 + +gcc-3.1 (1:3.1.1ds1-0pre2) unstable; urgency=low + + * Updated to CVS 2002-06-06 (gcc-3_1-branch), fixing an ObjC regression. + * Welcome m68k to bootstrap land (thanks to Andreas Schwab). + * Add javac wrapper for gcj-3.1 (Michael Koch). + * Remove dangling symlink in /usr/share/doc/gcc-3.1 (closes: #149002). + + -- Matthias Klose Fri, 7 Jun 2002 00:26:05 +0200 + +gcc-3.1 (1:3.1.1ds0-0pre1) unstable; urgency=low + + * Updated to CVS 2002-05-31 (gcc-3_1-branch). + * Change priorities from fastjar and gij-wrapper-3.1 from 30 to 31. + * Update arm-tune patch. + * Install xmmintrin.h header on i386 (closes: #148181). + * Install altivec.h header on powerpc. + * Call correct gij in gij-wrapper (closes: #148662, #148682). + + -- Matthias Klose Wed, 29 May 2002 22:47:40 +0200 + +gcc-3.1 (1:3.1ds2-2) unstable; urgency=low + + * Tighten binutils dependency. + * Fix libstdc include dir for multilibs (Dan Jacobowitz). + + -- Matthias Klose Tue, 21 May 2002 08:03:49 +0200 + +gcc-3.1 (1:3.1ds2-1) unstable; urgency=low + + * GCC 3.1 release. + * Ada cannot be built by the autobuilders for the first time. Do it by hand. + gnatgcc and gnatbind need to be in the PATH. + * Build with CC=gnatgcc, when building the Ada compiler. + * Hurd fixes. + * Don't build the sparc64 compiler; the hack isn't up to date and glibc + isn't converted to use /lib64 and /usr/lib64. + * m68k-linux shows bootstrap comparision failures. If you want to build + the compiler anyway and ignore the bootstrap comparision failure, edit + debian/rules.patch and uncomment the patch to ignore the failure. See + /usr/share/doc/gcc-3.1/BOOTSTRAP_COMPARISION_FAILURE for the differences. + + -- Matthias Klose Wed, 15 May 2002 09:53:00 +0200 + +gcc-3.1 (1:3.1ds1-0pre6) unstable; urgency=low + + * Build from the "final prerelease" tarball (gcc-3.1-20020508.tar.gz). + * Build gnat-3.1-doc package. + * Build fastjar package without building java packages. + * Hurd fixes. + * Updated sparc64-build patch. + * Add s390-ada patch (Gerhard Tonn). + * Undo the dwarf2 support for hppa from -0pre5. + + -- Matthias Klose Thu, 9 May 2002 17:21:09 +0200 + +gcc-3.1 (1:3.1ds0-0pre5) unstable; urgency=low + + * Use /usr/include/g++-v3-3.1 as C++ include dir. + * Update s390-java patch (Gerhard Tonn). + * Tighten binutils dependency (gas patch for m68k-linux). + * Use gnat-3.1 as the gnat package name (as found in gcc/ada/gnatvsn.ads). + * dwarf2 support hppa: a snapshot of the gcc/config/pa directory + from the trunk dated 2002-05-02. + + -- Matthias Klose Fri, 3 May 2002 22:51:37 +0200 + +gcc-3.1 (1:3.1ds0-0pre4) unstable; urgency=low + + * Use gnat-5.00w as the gnat package name (as found in gcc/ada/gnatvsn.ads). + * Don't build the shared libgnat library. It assumes an existing shared + libiberty library. + * Don't install the libgcjgc library. + + -- Matthias Klose Thu, 25 Apr 2002 08:48:04 +0200 + +gcc-3.1 (1:3.1ds0-0pre3) unstable; urgency=low + + * Build fastjar on all architectures. + * Update m68k patches. + * Update s390-java patch (Gerhard Tonn). + + -- Matthias Klose Sun, 14 Apr 2002 15:34:47 +0200 + +gcc-3.1 (1:3.1ds0-0pre2) unstable; urgency=low + + * Add Ada support. To successfully build, a working gnatbind and gcc + driver with Ada support is needed. + * Apply needed arm patches from 3.0.4. + + -- Matthias Klose Sat, 6 Apr 2002 13:17:08 +0200 + +gcc-3.1 (1:3.1ds0-0pre1) unstable; urgency=low + + * First try for gcc-3.1. + + -- Matthias Klose Mon, 1 Apr 2002 23:39:30 +0200 + +gcc-3.0 (1:3.0.4ds3-6) unstable; urgency=medium + + * Second try at fixing sparc build problems. + + -- Phil Blundell Sun, 24 Mar 2002 14:49:26 +0000 + +gcc-3.0 (1:3.0.4ds3-5) unstable; urgency=medium + + * Enable java on ARM. + * Create missing directory to fix sparc build. + + -- Phil Blundell Fri, 22 Mar 2002 20:21:59 +0000 + +gcc-3.0 (1:3.0.4ds3-4) unstable; urgency=low + + * Link with system zlib (closes: #136359). + + -- Matthias Klose Tue, 12 Mar 2002 20:47:59 +0100 + +gcc-3.0 (1:3.0.4ds3-3) unstable; urgency=low + + * Build libf2c (pic and non-pic) with -mieee on alpha-linux. + + -- Matthias Klose Sun, 10 Mar 2002 00:37:24 +0100 + +gcc-3.0 (1:3.0.4ds3-2) unstable; urgency=medium + + * Apply hppa-build patch (Randolph Chung). Closes: #136731. + * Make libgcc1 conflict/replace with libgcc1-sparc64. Closes: #135709. + * gij-3.0 provides the `java' command. Closes: #128947. + * Depend on binutils (>= 2.11.93.0.2-2), allows stripping of libgcj.a + again. Closes: #99307. + * Update README.cross pointing to the README of the toolchain-source + package. + + -- Matthias Klose Wed, 6 Mar 2002 21:53:34 +0100 + +gcc-3.0 (1:3.0.4ds3-1) unstable; urgency=low + + * Final gcc-3.0.4 release. + * debian/rules.d/binary-java.mk: Fix dormant typo, exposed by removing the + duplicate libgcj dependency and adding the gij-3.0 package. + Closes: #134005. + * New patch by Phil Blundell to fix scalapack build error on m68k. + + -- Matthias Klose Wed, 20 Feb 2002 23:59:43 +0100 + +gcc-3.0 (1:3.0.4ds2-0pre020210) unstable; urgency=low + + * Make the base package dependent on the binary-arch target. Closes: #133433. + * Get libstdc++ on arm woring (define _GNU_SOURCE). Closes: #133435. + + -- Matthias Klose Mon, 11 Feb 2002 20:31:12 +0100 + +gcc-3.0 (1:3.0.4ds2-0pre020209) unstable; urgency=high + + * Update to CVS sources (20020209 gcc-3_0-branch). + * Apply patch to fix bootstrap error on arm-linux (submitted upstream + by Phil Blundell). Closes: #130422. + * Make base package architecture any. + * Decouple versioned shlib dependencies from release number for + libobjc as well. + + -- Matthias Klose Sat, 9 Feb 2002 01:30:11 +0100 + +gcc-3.0 (1:3.0.4ds1-0pre020203) unstable; urgency=medium + + * One release critical bug outstanding: + - bootstrap error on arm. + * Update to CVS sources (20020203 gcc-3_0-branch). + * Fixed upstream: PR c/3504: Correct documentation of __alignof__. + Closes: #85445. + * Remove libgcc-powerpc patch, integrated upstream (closes: #131977). + * Tighten binutils build dependency (to address #126162). + * Move jv-convert to gcj package (closes: #131985). + + -- Matthias Klose Sun, 3 Feb 2002 14:47:14 +0100 + +gcc-3.0 (1:3.0.4ds0-0pre020127) unstable; urgency=low + + * Two release critical bugs outstanding: + - bootstrap error on arm. + - bus errors for C++ and java executables on sparc (see the testsuite + results). + * Update to CVS sources (20020125 gcc-3_0-branch). + * Enable java support for s390 architecture (patch from Gerhard Tonn). + * Updated NEWS file for 3.0.3. + * Disable building the gcc-sparc64, but build a multilibbed compiler + for sparc as the default. + * Disabled the subreg-byte patch for sparc (request from Ben Collins). + * Fixed reference to libgcc1 package in README (closes: #126218). + * Do recommend libc-dev, not depend on it. For low-end or embedded systems + the dependency on libc-dev can make the difference between + having enough or having too little space to build a kernel. + * README.cross: Updated by Hakan Ardo. + * Decouple versioned shlib dependencies from release number. Closes: #118391. + * Fix diversions for gcc-3.0-sparc64 package (closes: #128178), + unconditionally remove `sparc64-linux-gcc' alternative. + * g77/README.libg2c.Debian: New file mentioning `libg2c-pic'. The next + g77 version (3.1) does build a static and shared library (closes: #104250). + * Fix formatting errors in the synopsis of the java man pages. Maybe the + reason for #127571. Closes: #127571. + * fastjar: Fail for the (currently incorrect) -u option. Addresses: #116145. + Add alternative for `jar' using priority 30 (closes: #118648). + * jv-convert: Add --help option and man page. Backport from HEAD branch. + * libgcj2-dev: Remove duplicate dependency (closes: #127805). + * Giving up and make just another new package gij-X.Y with only the gij-X.Y + binary for policy conformance (closes: #127111). + * gij: Provides an alternative for `java' (priority 30) using a wrapper + script (Stephen Zander) (closes: #128974). Added simple manpage. + + -- Matthias Klose Sun, 27 Jan 2002 13:33:41 +0100 + +gcc-3.0 (1:3.0.3ds3-1) unstable; urgency=low + + * Final gcc-3.0.3 release. + * Do not compress .txt files in libstdc++ docs referenced from html + pages (closes: #124136). + * libstdc++-dev suggests libstdc++-doc. + * debian/patches/gcc-ia64-NaT.dpatch: Update (closes: #123685). + + -- Matthias Klose Fri, 21 Dec 2001 02:54:11 +0100 + +gcc-3.0 (1:3.0.3ds2-0pre011215) unstable; urgency=low + + * Update to CVS sources (011215). + * libstdc++ documentation updated upstream (closes: #123790). + * debian/patches/gcc-ia64-NaT.dpatch: Disable. Fixes bootstrap error + on ia64 (#123685). + + -- Matthias Klose Sat, 15 Dec 2001 14:43:21 +0100 + +gcc-3.0 (1:3.0.3ds1-0pre011210) unstable; urgency=medium + + * Update to CVS sources (011208). + * Supposed to fix powerpc build error (closes: #123155). + + -- Matthias Klose Thu, 13 Dec 2001 07:26:05 +0100 + +gcc-3.0 (1:3.0.3ds0-0pre011209) unstable; urgency=medium + + * Update to CVS sources (011208). Frozen for upstream 3.0.3 release. + * Apply contrib/PR3145.patch, a backport of Nathan Sidwell's patch to + fix PR c++/3145, the infamous "virtual inheritance" bug. This affected + especially KDE2 (eg. artsd). Franz Sirl + * cc1plus segfault in strength reduction fixed upstream. Closes: #122547. + * debian/patches/gcc-ia64-NaT.dpatch: Add patch to avoid a bug that can + cause miscompiled userapps to crash the kernel. Closes: #121924. + * Reenable shared libgcc for powerpc. Fixed upstream. + http://gcc.gnu.org/ml/gcc-patches/2001-11/msg00340.html + debian/patches/libgcc-powerpc.dpatch: New patch. + * Add upstream changelogs. + * Remove gij alternative. Move to gij package. + + -- Matthias Klose Sun, 9 Dec 2001 09:36:48 +0100 + +gcc-3.0 (1:3.0.2ds4-4) unstable; urgency=medium + + * Disable building of libffi on mips and mipsel. + (closes: #117503). + * Enable building of shared libgcc on s390 + (closes: #120452). + + -- Christopher C. Chimelis Sat, 1 Dec 2001 06:15:29 -0500 + +gcc-3.0 (1:3.0.2ds4-3) unstable; urgency=medium + + * Fix logic to build libffi without java (closes: #117503). + + -- Matthias Klose Sun, 4 Nov 2001 14:34:50 +0100 + +gcc-3.0 (1:3.0.2ds4-2) unstable; urgency=medium + + * Enable java for ia64 (Jeff Licquia). Closes: #116798. + * Allow building of libffi without gcj (Jeff Licquia). + New libffi packages for arm hurd-i386 mips mipsel, + still missing: hppa, s390. + * debian/NEWS.gcc: Add 3.0.2 release notes. + * debian/patches/hppa-align.dpatch: New patch from Alan Modra, + submitted by Randolph Tausq. + + -- Matthias Klose Thu, 25 Oct 2001 23:59:31 +0200 + +gcc-3.0 (1:3.0.2ds4-1) unstable; urgency=medium + + * Final gcc-3.0.2 release. The source tarball is not the released + tarball, but taken from CVS 011024). + * Remove patch for s390, included upstream. + + -- Matthias Klose Wed, 24 Oct 2001 00:49:40 +0200 + +gcc-3.0 (1:3.0.2ds3-0pre011014) unstable; urgency=low + + * Update to CVS sources (011014). Frozen for upstream 3.0.2 release. + Closes: #109351, #114099, #114216, #105741 (allegro3938). + * Added debian/patches/fastjar.dpatch, which makes fastjar extract + filenames correctly (previously, some had incorrect names on extract). + Closes: #113236. + * Priorities fixed in the past (closes: #94404). + + -- Matthias Klose Sun, 14 Oct 2001 13:19:43 +0200 + +gcc-3.0 (1:3.0.2ds2-0pre010923) unstable; urgency=low + + * Bootstraps on powerpc again (closes: #112777). + + -- Matthias Klose Sun, 23 Sep 2001 01:32:11 +0200 + +gcc-3.0 (1:3.0.2ds2-0pre010922) unstable; urgency=low + + * Update to CVS sources (010922). + * Fixed upstream (closes: #111801). #105569 on hppa. + * Update hppa patch (Matt Taggart). + * Fix libstdc++-dev package description (closes: #112758). + * debian/rules.d/binary-objc.mk: Fix build error (closes: #112462). + * Make gobjc-3.0 conflict with gcc-3.0-sparc64 (closes: #111772). + + -- Matthias Klose Sat, 22 Sep 2001 09:34:49 +0200 + +gcc-3.0 (1:3.0.2ds1-0pre010908) unstable; urgency=low + + * Update to CVS sources (010908). + * Update hppa patch (Matt Taggart). + * Depend on libgc6-dev, not libgc5-dev, which got obsolete (during + the freeze ...). However adds s390 support (closes: #110189). + * debian/patches/m68k-reload.dpatch: New patch (Roman Zippel). + Fixes #89023. + * debian/patches/gcc-sparc.dpatch: New patch ("David S. Miller"). + Fixes libstdc++ testsuite failures on sparc. + + -- Matthias Klose Sat, 8 Sep 2001 14:26:20 +0200 + +gcc-3.0 (1:3.0.2ds0-0pre010826) unstable; urgency=low + + * gcc-3.0-nof: Fix symlink to gcc-3.0-base doc directory. + * debian/patches/gcj-without-rpath: New patch. + * Remove self dependency on libgcj package. + * Handle diversions for upgrades from 3.0 and 3.0.1 -> 3.0.2 + in gcc-3.0-sparc64 package. + * Build libg2c.a with -fPIC -DPIC and name the result libg2c-pic.a. + Link with this library to avoid linking with non-pic code. + Use this library when building dynamically loadable objects (python + modules, gimp plugins, ...), which need to be linked against g2c or + a library which is linked against g2c (i.e. lapack). + Packages needing '-lg2c-pic' must have a build dependency on + 'g77-3.0 (>= 1:3.0.2-0pre010826). + + -- Matthias Klose Sun, 26 Aug 2001 13:59:03 +0200 + +gcc-3.0 (1:3.0.2ds0-0pre010825) unstable; urgency=low + + * Update to CVS sources (010825). + * Add libc6-dev-sparc64 to gcc-3.0-sparc64 and to sparc build dependencies. + * Remove conflicts on egcc package (closes: #109718). + * Fix gcc-3.0-nof dependency. + * s390 patches against gcc-3.0.1 (Gerhard Tonn). + * debian/control: Require binutils (>= 2.11.90.0.27) + + -- Matthias Klose Sat, 25 Aug 2001 10:59:15 +0200 + +gcc-3.0 (1:3.0.1ds3-1) unstable; urgency=low + + * Final gcc-3.0.1 release. + * Changed upstream: default of -flimit-inline is 600 (closes: #106716). + * Add fastjar man page (submitted by "The Missing Man Pages Project", + http://www.netmeister.org/misc/m2p2i/) (closes: #103051). + * Fixed in last upload as well: #105246. + * debian/patches/cpp-memory-leak.dpatch: New patch + * Disable installation of shared libgcc on s390 (Gerhard Tonn). + + -- Matthias Klose Mon, 20 Aug 2001 20:47:13 +0200 + +gcc-3.0 (1:3.0.1ds2-0pre010811) unstable; urgency=high + + * Update to CVS sources (010811). Includes s390 support. + * Add xlibs-dev to Build-Depends (libgcj). + * Enable java for powerpc, disable java for ia64. + * Enable ObjC garbage collection for all archs, which have a libgc5-dev + package. + * New patch libstdc++-codecvt (Michael Piefel) (closes: #104614). + * Don't strip static libgcj library (work around binutils bug #107812). + * Handle diversions for upgrade 3.0 -> 3.0.1 in gcc-3.0-sparc64 package + (closes: #107569). + + -- Matthias Klose Sat, 11 Aug 2001 20:42:15 +0200 + +gcc-3.0 (1:3.0.1ds1-0pre010801) unstable; urgency=high + + * Update to CVS sources (010801). (closes: #107012). + * Remove build dependency on non-free graphviz and include pregenerated + docs (closes: #107124). + * Fixed in 3.0.1 (closes: #99307). + * Updated m68k-updates patch (Roman Zippel). + * Another fix for ia64 packaging bits (Randolph Chung). + + -- Matthias Klose Tue, 31 Jul 2001 21:52:55 +0200 + +gcc-3.0 (1:3.0.1ds0-0pre010727) unstable; urgency=high + + * Update to CVS sources (010727). + * Add epoch to source version. Change '.dsx' to 'dsx', so that + 3.1.1ds0 gt 3.1ds7 (closes: #106538). + + -- Matthias Klose Sat, 28 Jul 2001 09:56:29 +0200 + +gcc-3.0 (3.0.1.ds0-0pre010723) unstable; urgency=high + + * ia64 packaging bits (Randolph Chung) (closes: #106252). + + -- Matthias Klose Mon, 23 Jul 2001 23:02:03 +0200 + +gcc-3.0 (3.0.1.ds0-0pre010721) unstable; urgency=high + + * Update to CVS sources (010721). + - Remove patches applied upstream: libstdc++-limits.dpatch, + objc-data-references + - Updated other patches. + * Fix gij alternative (closes: #103468, #103883). + * Patch to fix bootstrap on sparc (closes: #103568). + * Corrected (closes: #105371) and updated README.Debian. + * m68k patches for sucessful bootstrap (Roman Zippel). + * Add libstdc++v3 porting hints to README.Debian and README.C++. + * m68k md fix (#105622) (Roman Zippel). + * debian/rules2: Disable non-functional ulimit on Hurd (#105884). + * debian/control: Require binutils (>= 2.11.90.0.24) + * Java is enabled for alpha (closes: #87300). + + -- Matthias Klose Sun, 22 Jul 2001 08:24:04 +0200 + +gcc-3.0 (3.0.ds9-4) unstable; urgency=high + + * Move this version to testing ASAP. testing still has a prerelease + version with now incompatible ABI's. If sparc doesn't build, + then IMHO it's better to remove it from testing. + * debian/control.m4: Set uploaders field. Adjust description of + gcc-3.0 (binary) package (closes: #102271, #102620). + * Separate gij.1 in it's own pseudo man page (closes: #99523). + * debian/patches/java-manpages.dpatch: New patch. + * libgcj: Install unversioned gij. + + -- Matthias Klose Tue, 3 Jul 2001 07:38:08 +0200 + +gcc-3.0 (3.0.ds9-3) unstable; urgency=high + + * Reenable configuration with posix threads on i386 (lost in hurd-i386 + merge). + + -- Matthias Klose Sun, 24 Jun 2001 22:21:45 +0200 + +gcc-3.0 (3.0.ds9-2) unstable; urgency=medium + + * Move this version to testing ASAP. testing still has a prerelease + version with now incompatible ABI's. + * Add libgcc0 and libgcc300 to the build conflicts (#102041). + * debian/README.FIRST: Removed (#101534). + * Updated subreg-byte patch (doc files). + * Disable java for the Hurd, mips and mipsel (#101570). + * Patch for building on the Hurd (#101708) (Jeff Bailey ). + * Packaging fixes for the Hurd (#101711) (Jeff Bailey ). + * Include pregenerated doxygen (1.2.6) docs for libstdc++-v3 (#101557). + The current doxygen-1.2.8.1 segaults. + * C++: Enable -fuse-cxa-atexit by default (#101901). + * Correct mail address in gccbug (#101743). + * Make rules resumable after failure in binary-xxx targets (#101637). + + -- Matthias Klose Sun, 24 Jun 2001 16:04:53 +0200 + +gcc-3.0 (3.0.ds9-1) unstable; urgency=low + + * Final 3.0 release. + * Update libgcc version number (#100983, #100988, #101069, #101115, #101328). + * Updated hppa-build patch (Matt Taggart ). + * Disable java for hppa. + * Updated subreg-byte patch for sparc (Ben Collins). + + -- Matthias Klose Mon, 18 Jun 2001 18:26:04 +0200 + +gcc-3.0 (3.0.ds8-0pre010613) unstable; urgency=low + + * Update patches for recent (010613 23:13 +0200) CVS sources. + * Fix packaging bugs (#100459, #100447, #100483). + * Build-Depend on gawk, mawk doesn't work well with test_summary. + + -- Matthias Klose Wed, 13 Jun 2001 23:13:38 +0200 + +gcc-3.0 (3.0.ds7-0pre010609) unstable; urgency=low + + * Fix build dependency for the hurd (#99164). + * Update patches for recent (010609) CVS sources. + * Disable java on powerpc (link error in libjava). + * gcc-3.0-base.postinst: Don't prompt for non-interactive installs (#100110). + + -- Matthias Klose Sun, 10 Jun 2001 09:45:57 +0200 + +gcc-3.0 (3.0.ds6-0pre010526) unstable; urgency=high + + * Urgency "high" for replacing the gcc-3.0 snapshots in testing, which + now are incompatile due to the changed ABIs. + * Upstream begins tagging with "gcc-3_0_pre_2001mmdd". + * Tighten dependencies to install only binary packages derived from + one source (#98851). Tighten libc6-dev dependency to match libc6. + + -- Matthias Klose Sun, 27 May 2001 11:35:31 +0200 + +gcc-3.0 (3.0.ds6-0pre010525) unstable; urgency=low + + * ATTENTION: The ABI (exception handling) changed. No upgrade path from + earlier snapshots (you had been warned in the postinst ...) + Closing #93597, #94576, #96448, #96461. + You have to rebuild + * HELP is appreciated for scanning the Debian BTS and sending followups + to bug reports!!! + * Should we name debian gcc uploads? What about a "still seeking + g++ maintainer" upload? + * Fixed in gcc-3.0: #97030 + * Update patches for recent (010525) CVS sources. + * Make check depend on build target (fakeroot problmes). + * debian/rules.d/binary-libgcc.mk: new file, build first. + * Free memory detection on the hurd for running the testsuite. + * Update debhelper build dependency. + * libstdc++-doc: Include doxygen generated docs. + * Fix boring packaging bugs, too tired for appropriate changelogs ... + #93343, #96348, #96262, #97134, #97905, #96451, #95812, #93157 + * Fixed bugs: #87000. + + -- Matthias Klose Sat, 26 May 2001 23:10:42 +0200 + +gcc-3.0 (3.0.ds5-0pre010510) unstable; urgency=low + + * Update patches for recent (010506) CVS sources. + * New version of source, as of 2001-05-10 + * New version of gpc source, as of 2001-05-06 (disabled by default). + * Make gcc-3.0-sparc64 provide an alternative for sparc64-linux-gcc, + since it can build kernels just fine (it seems) + * Add hppa patch from Matt Taggart + * Fix objc info inclusion...now merged with gcc info + * Do not install the .la for libstdc++, since it confuses libtool linked + applications when libstdc++3-dev and libstdc++2.10-dev are both + installed (closes #97905). + * Fixed gcc-base and libgcc section/prio to match overrides + + -- Ben Collins Mon, 7 May 2001 00:08:52 +0200 + +gcc-3.0 (3.0.ds5-0pre010427) unstable; urgency=low + + * Fixed priority for fastjar from optional to extra + * New version of source, as of 2001-04-27 + * Fix description of libgcj-dev + * libffi-install: Make libffi installable + * Add libffi and libffi-dev packages. libffi is only enabled for java + targets right now. Perhaps more will be enabled later. + * Fixes to build cross compiler package (for avr) + (Hakan Ardo ). + * Better fixincludes description (#93157). + * Remove all remnants of libg++ + * Remove all hacks around libstdc++ version. Since we are strictly v3 now, + we can treat it like a normal shared lib, and not worry about all those + ABI changes. + * Remove all cruft control scripts. Note, debhelper will create scripts + that it needs to. It will do the doc link stuff and the ldconfig stuff + explicitly. + * Clean up the SONAME parsing stuff, make it a little more cleaner over + all the lib packages + * Make libffi install when built (IOW, whenever java is enabled). This + should obsolete the libffi package, which is old and broken + * Revert to normal sonames, except for ia64 (for now) + * Remove all references to dh_testversion, since they are deprecated for + Build-Depends + * Fix powerpc nof build + * Remove all references to the MULTILIB stuff, since the arches are + using specialized builds anyway (nof, softfloat). + * Added 64bit sparc64 package (gcc-3.0-sparc64, libgcc0-sparc64) + * Removed obsolete shlibs.local file + + -- Ben Collins Sun, 15 Apr 2001 21:33:15 -0400 + +gcc-3.0 (3.0.ds4-0pre010403) unstable; urgency=low + + * debian/README: Updated for gcc-3.0 + * debian/rules.patch: Added subreg-byte patch for sparc + * debian/rules.unpack: Update to current CVS for gcc tarball name + * debian/patches/subreg-byte.dpatch: sparc subreg-byte support + * debian/patches/gcc-rawhide.dpatch: Removed + debian/patches/gpc-2.95.dpatch: Removed + debian/patches/sparc32-rfi.dpatch: Removed + debian/patches/temporary.dpatch: Removed + * Moving to unstable now + * debian/patches/gcc-ppc-disable-shared-libgcc.dpatch: New patch, + disables shared libgcc for powerpc target, since it isn't compatible + with the EABI objects. + * Create $(with_shared_libgcc) var + * debian/rules.d/binary-gcc.mk: Use this new variable to determine if + the libgcc package actually has any files + + -- Ben Collins Tue, 3 Apr 2001 23:00:55 -0400 + +gcc-3.0 (3.0.ds2-0pre010223) experimental; urgency=low + + * New snapshot. Use distinct shared object names for shared libraries: + we don't know if binary API's still change until the final release. + * Versioned package names. + * debian/control.m4: New file. Add gcc-base, libgcc0, libobjc1, + libstdc++-doc, libgcj1, libgcj1-dev, fastjar, fixincludes packages. + Remove gcc-docs package. + * debian/gcov.1: Remove. + * debian/*: Remove 2.95.x support. Prepare for 3.0. + * debian/patches: Remove 2.95.x patches. + * Changed source package name. It's not allowed anymore to overwrite + source packages with different content. Introducing a 'debian source + element' (.ds), which is stripped again from the version number + for the binary packages. + * Fixed bugs and added functionality: + #26436, #27878, #33786, #34876, #35477, #42662, #46181, #42989, + #47981, #48530, #50529, #51227, #51456, #51651, #52382, #53698, + #55291, #55967, #56867, #58219, #59005, #59232, #59776, #64628, + #65687, #67631, #68632, #68963, #68987, #69530, #72933, #75120, + #75759, #76645, #76827, #83221, #87540 + * libgcj fixes: 42894, #51266, #68560, #71187, #79984 + + -- Matthias Klose Sat, 24 Feb 2001 13:41:11 +0100 + +gcc-2.95 (2.95.3-2.001222) experimental; urgency=low + + * New upstream version 2.95.3 experimental (CVS 20001222). + * debian/control.in: Versioned package names, removal of snapshot logic. + Remove fake gcc-docs package. + * Reserve -1 release numbers for woody. + * Updated to gpc-20001218. + + -- Matthias Klose Fri, 22 Dec 2000 19:53:03 +0100 + +gcc (2.95.2-20) unstable; urgency=low + + * Apply patch from gcc-2_95-branch; remove ulimit for make check. + + -- Matthias Klose Sun, 10 Dec 2000 17:01:13 +0100 + +gcc (2.95.2-19) unstable; urgency=low + + * Added testsuite-20001207 from current snapshots. We'll need results + for 2.95.2 to make sure there are no regressions against that release. + Dear build daemons and porters to other architectures, please send an + email to gcc-testresults@gcc.gnu.org. + You can do this by running "debian/rules mail-summary". + * Updated to gpc-20001206. + * Added S/390 patch prepared by Chu-yeon Park (#78983). + * debian/patches/libio.dpatch: Fix iostream doc (fixes #77647). + * debian/patches/gcc-doc.dpatch: Update URL (fixes #77542). + * debian/patches/gcc-reload1.dpatch Patch from the gcc-bug list which + fixes a problem in "long long" on i[345]86 (i686 was not affected). + + -- Matthias Klose Sat, 9 Dec 2000 12:30:32 +0100 + +gcc (2.95.2-18) unstable; urgency=low + + * debian/control.in: Fix syntax errors (fixes #76146, #76458). + Disable gpc on the hurd by request (#75686). + * debian/patches/arm-various.dpatch: Patches from Philip Blundell + for ARM arch (fixes #75801). + * debian/patches/gcc-alpha-mi-thunk.dpatch: Patches from Chris Chimelis + for alpha arch. + * debian/patches/g77-docs.dpatch: Adjust g77 docs (fixes #72594). + * Update gpc to gpc-20001118. + * Reenable gpc for alpha. + * debian/README.C++: Merge debian/README.libstdc++ and C++ FAQ information + provided by Matt Zimmermann. + * Build gcj only on architectures, where libgcj-2.95.1 can be built as well. + Probably needs some adjustments ... + * Conditionalize for chill, fortran, java, objc and chill. + + * NOT APPLIED: + debian/patches/libstdc++-bastring.dpatch: Apply fix (fixes #75759). + + -- Matthias Klose Sun, 19 Nov 2000 10:40:41 +0100 + +gcc (2.95.2-17) unstable; urgency=low + + * Disable gpc for alpha. + * Include gpc-cpp in gpc package (fixes #74492). + * Don't build gcc-docs compatibility package anymore. + + -- Matthias Klose Wed, 11 Oct 2000 06:16:53 +0200 + +gcc (2.95.2-16) unstable; urgency=low + + * Applied the emdebian/cross compiler patch and documentation + (Frank Smith ). + * Applied patch for avr target (Hakan Ardo ). + * debian/control.in: Add awk to Build-Depends. + Tighten libc6-dev dependency for libstdc++-dev (fixes #73031, + #72531, #72534). + * Disable libobjc_gc for m68k again (fixes #74380). + * debian/patches/arm-namespace.dpatch: Apply patch from Philip + Blundell to fix name space pollution on arm + (fixes #70937). + * Fix more warnings in STL headers (fixes #69352, #71943). + + -- Matthias Klose Mon, 9 Oct 2000 21:51:41 +0200 + +gcc (2.95.2-15) unstable; urgency=low + + * debian/control.in: Add libgc5-dev to build depends (fixes #67015). + * debian/rules.def: Build GC enabled ObjC runtime for sparc. + * Bug #58741 fixed (in some version since 2.95.2-5). + * debian/control.in: Recommend librx1g-dev, libgmp2-dev, libncurses5-dev + (unit dependencies). + * Patches from Marcus Brinkmann for the hurd (fixes #67763): + - debian/rules.defs: Disable objc_gc on hurd-i386. + Disable libg++ on GNU systems. + - debian/rules2: Set correct names of libstdc++/libg++ + libraries on GNU systems. + Write out correct shlibs and shlibs.local file content. + - Keep _G_config.h for the Hurd. + * Apply patch for ObjC linker warnings. + * Don't apply gcj backport patch for sparc. + * Apply libio compatability patch + * debian/glibcver.sh: generate appropriate version for glibc + * debian/rules.conf: for everything after glibc 2.1, we always append + "-glibc$(ver)" to the C++ libs for linux. + * Back down gpc to -13 version (-14 wont compile on anything but i386 + and m68k becuase of gpc). + * Remove extraneous and obsolete sparc64 patches/files from debian/* + + -- Ben Collins Thu, 21 Sep 2000 08:08:35 -0400 + +gcc-snapshot (20000901-2.2) experimental; urgency=low + + * New snapshot. + * debian/rules2: Move tradcpp0 to cpp package. + + -- Matthias Klose Sat, 2 Sep 2000 01:14:28 +0200 + +gcc-snapshot (20000802-2.1) experimental; urgency=low + + * New snapshot. + * debian/rules2: Fixes. tradcpp0 is in gcc package, not cpp. + + -- Matthias Klose Thu, 3 Aug 2000 07:40:05 +0200 + +gcc-snapshot (20000720-2) experimental; urgency=low + + * New snapshot. + * Enable libstdc++-v3. + * debian/rules2: Don't use -D for /usr/bin/install. + + -- Matthias Klose Thu, 20 Jul 2000 22:33:37 +0200 + +gcc (2.95.2-14) unstable; urgency=low + + * Update gpc patch. + + -- Matthias Klose Wed, 5 Jul 2000 20:51:16 +0200 + +gcc (2.95.2-13) frozen unstable; urgency=low + + * Update debian/README: document how to compile 2.0.xx kernels; don't + register gcc272 as an alternative for gcc (closes #62419). + Clarify compiler setup (closes #65548). + * debian/control.in: Make libstdc++-dev depend on current version of g++. + * Undo CVS update from release -8 (problems on alpha, #55263). + + -- Matthias Klose Mon, 19 Jun 2000 23:06:48 +0200 + +gcc (2.95.2-12) frozen unstable; urgency=low + + * debian/gpc.postinst: Correct typo introduced with -11 (fixes #64193). + * debian/patches/gcc-rs600.dpatch: ppc codegen fix (fixes #63933). + + -- Matthias Klose Sun, 21 May 2000 15:56:05 +0200 + +gcc (2.95.2-11) frozen unstable; urgency=medium + + * Upload to unstable again (fixes critical #63784). + * Fix doc-base files (fixes important #63810). + * gpc wasn't built in -10 (fixes #63977). + * Make /usr/bin/pc an alternative (fixes #63888). + * Add SYSCALLS.c.X to gcc package. + + -- Matthias Klose Sun, 14 May 2000 22:17:44 +0200 + +gcc (2.95.2-10) frozen; urgency=low + + * debian/control.in: make gcc conflict on any version of egcc + (slink to potato upgrade problem, fixes grave #62084). + * Build protoize programs, separate out in new package (fixes #59436, + #62911). + * Create dummy gcc-docs package for smooth update from slink (fixes #62537). + * Add doc-base support for all -doc packages (fixes #63380). + + -- Matthias Klose Mon, 1 May 2000 22:24:28 +0200 + +gcc (2.95.2-9) frozen unstable; urgency=low + + * Disable the sparc-bi-arch.dpatch (patch from Ben Collins, built + for sparc as NMU 8.1) (fixes critical #61529 and #61511). + "Seems that when you compile gcc 2.95.x for sparc64-linux and compile + sparc32 programs, the code is not the same as sparc-linux compile for + sparc32 (this is a bug, and is fixed in gcc 2.96 CVS)." + * debian/patches/gcj-vs-iconv.dpatch: Option '--encoding' for + encoding of input files. Patch from Tom Tromey + backported to 2.95.2 (fixes #42895). + Compile a Latin-1 encoded file with `gcj --encoding=Latin1 ...'. + * debian/control.in: gcc, g++ and gobjc suggest their corresponding + task packages (fixes #59623). + + -- Matthias Klose Sat, 8 Apr 2000 20:19:15 +0200 + +gcc (2.95.2-8) frozen unstable; urgency=low + + * Post-2.95.2 CVS updates of the gcc-2_95-branch until 20000313. + * debian/rules2: configure with --enable-java-gc=no for sparc. Fixes + gcj side of #60535. + * debian/rules.patch: Disable gcc-emit-rtl patch for all archs but + alpha. Disable g++-is-tree patch ("just for 2.95.1"). + * debian/README: Update for gcc-2.95. + + -- Matthias Klose Mon, 27 Mar 2000 00:03:16 +0200 + +gcc (2.95.2-7) frozen unstable; urgency=low + + * debian/patches/gcc-empty-struct-init.dpatch; Apply patch from + http://gcc.gnu.org/ml/gcc-patches/2000-02/msg00637.html. Fixes + compilation of 2.3.4x kernels. + * debian/patches/gcc-emit-rtl.dpatch: Apply patch from David Huggins-Daines + (backport from 2.96 CVS to fix #55263). + * debian/patches/gcc-pointer-arith.dpatch: Apply patch from Jim Kingdon + (backport from 2.96 CVS to fix #54951). + + -- Matthias Klose Thu, 2 Mar 2000 23:16:43 +0100 + +gcc (2.95.2-6) frozen unstable; urgency=low + + * Post-2.95.2 CVS updates of the gcc-2_95-branch until 20000220. + * Remove dangling symlink probably left over from libstdc++2.9 + package (fixes #53661). + * debian/patches/gcc-alpha-complex-float.dpatch: Fixed patch by + David Huggins-Daines (fixes #58486). + * debian/g++.{postinst,prerm}: Remove outdated g++FAQ registration + (fixes #58253). + * debian/control.in: gcc-doc replaces gcc-docs (fixes #58108). + * debian/rules2: Include some fixed headers (asm, bits, linux, ...). + * debian/patches/{gcc-alpha-ev5-fix,libstdc++-valarray}.dpatch: Remove. + Applied upstream. + * debian/patches/libstdc++-bastring.dpatch: Add patch from + sicard@bigruth.solsoft.fr (fixes #56715). + + -- Matthias Klose Sun, 20 Feb 2000 15:08:13 +0100 + +gcc (2.95.2-5) frozen unstable; urgency=low + + * Post-2.95.2 CVS updates of the gcc-2_95-branch until 20000116. + * Add more build dependencies (fixes #53204). + * debian/patches/gcc-alpha-complex-float.dpatch: Patch from + Joel Klecker to compile glibc correctly on alpha. + "Should fix the g77 problems too." + * debian/patches/{libio,libstdc++-wall2}.dpatch. Remove patches + applied upstream. + + -- Matthias Klose Sun, 16 Jan 2000 19:16:54 +0100 + +gcc (2.95.2-4) unstable; urgency=low + + * debian/patches/libio.dpatch: Patch from Martin v. Loewis. + (fixes: #35628). + * debian/patches/libstdc++-deque.dpatch: Patch from Martin v. Loewis. + (fixes: #52689). + * debian/control.in: Updated Build-Depends, removed outdated README.build. + Fixes #51246. + * Tighten dependencies to cpp (>= 2.95.2-4) (closes: #50294). + * debian/rules.patch: Really do not apply patches/gcj-backport.dpatch. + Fixes #51636. + * Apply updated sparc-bi-arch.dpatch from Ben Collins. + * libstdc++: Define wstring type, if __ENABLE_WSTRING is defined. Request + from the author of the War FTP Daemon for Linux ("Jarle Aase" + ). + * debain/g++.preinst: Remove dangling sysmlinks (fixes #52359). + + -- Matthias Klose Sun, 19 Dec 1999 21:53:48 +0100 + +gcc (2.95.2-3) unstable; urgency=low + + * debian/rules2: Don't install $(gcc_lib_dir)/include/asm; these are + headers fixed for glibc-1.x (closes: #49434). + * debian/patches/cpp-dos-newlines.dpatch: Keep CR's without + following LF (closes: #49186). + * Bug #37358 (internal compiler errors when building vdk_0.6.0-5) + fixed in gcc-2.95.? (closes: #37358). + * Apply patch gcc-alpha-ev5-fix from Richard Henderson + (should fix #48527 and #46963). + * debian/README.Bugs: Documented non bug #44554. + * Applied patch from Alexandre Oliva to fix gpc boostrap on alpha. + Reenabled gpc on all architectures. + * Post-2.95.2 CVS updates of the gcc-2_95-branch until 19991108. + * Explicitely generate postinst/prerm chunks for usr/doc transition. + debhelper currently doesn't handle generation for packages with + symlinked directories. + * debian/patches/libstdc++-wall3.dpatch: Fix warnings in stl_deque.h + and stl_rope.h (closes: #46444, #46720). + * debian/patches/gcj-backport.dpatch: Add file, don't apply (yet). + + -- Matthias Klose Wed, 10 Nov 1999 18:58:45 +0100 + +gcc (2.95.2-2) unstable; urgency=low + + * New gpc-19991030 snapshot. + * Post-2.95.2 CVS updates of the gcc-2_95-branch until 19991103. + * Reintegrated sparc patches (bcollins@debian.org), which were lost + in 2.95.2-1. + * debian/rules2: Only install $(gcc_lib_dir)/include/asm, when existing. + * debian/patches/gpc-2.95.{dpatch,diff}: updated patch to drop + initialization in stor-layout.c. + * debian/NEWS.gcc: Updated for gcc-2.95.2. + * debian/bugs/bug-...: Removed testcases for fixed bugs. + * debian/patches/...dpatch: Removed patches applied upstream. + * debian/{rules2,g++.postinst,g++.prerm}: Handle c++ alternative. + * debian/changelog: Merged gcc272, egcs and snapshot changelogs. + + -- Matthias Klose Tue, 2 Nov 1999 23:09:23 +0200 + +gcc (2.95.2-1.1) unstable; urgency=low + + * Most of the powerpc patches have been applied upstream. Remove all + but ppc-ice, ppc-andrew-dwarf-eh, and ppc-descriptions. + * mulilib-install.dpatch was definitely a bad idea. Fix it properly + by using install -D. + * Also, don't make directories before installing any more. Simplifies + rules a (tiny) bit. + * Do not build with LDFLAGS=-s. Everything gets stripped out anyway by + dh_strip -a -X_debug; so leave the binaries in the build tree with + debugging symbols for simplified debugging of the packages. + + -- Daniel Jacobowitz Sat, 30 Oct 1999 12:40:12 -0400 + +gcc (2.95.2-1) unstable; urgency=low + + * gcc-2.95.2 release (taken from the CVS archive). -fstrict-aliasing + is disabled upstream. + + -- Matthias Klose Mon, 25 Oct 1999 10:26:19 +0200 + +gcc (2.95.2-0pre4) unstable; urgency=low + + * Updated to cvs updates of the gcc-2_95-branch until 19991021. + * Updated gpc to gpc-19991018 snapshot (closes: #33037, #47453). + Enable gpc for all architectures ... + * Document gcc exit codes (closes: #43863). + * According to the bug submitter (Sergey V Kovalyov ) + the original source of these CERN librarties is outdated now. The latest + version of cernlibs compiles and works fine with slink (closes #31546). + * According to the bug submitter (Gergely Madarasz ), + the problem triggered on i386 cannot be reproduced with the current + jade and php3 versions anymore (closes: #35215). + * Replace corrupted m68k-pic.dpatch (from Roman Hodek and Andreas Schwab + and apply to + all architectures (closes: #48011). + * According to the bug submitter (Herbert Xu ) + this bug "probably has been fixed". Setting it to severity "fixed" + (fixes: #39616), will close it later ... + * debian/README.Bugs: Document throwing C++ exceptions "through" C + libraries (closes: #22769). + + -- Matthias Klose Fri, 22 Oct 1999 20:33:00 +0200 + +gcc (2.95.2-0pre3) unstable; urgency=low + + * Updated to cvs updates of the gcc-2_95-branch until 19991019. + * Apply NMU patches (closes: #46217). + * debian/control.in: Fix egcs64 conflict-dependency for sparc + architecture (closes: #47088). + * debian/rules2: dbg-packages share doc dir with lib packages + (closes #45067). + * debian/patches/gcj-debian-policy.dpatch: Patch from Stephane + Bortzmeyer to conform to Debian policy (closes: #44463). + * debian/bugs/bug-*: Added test cases for new bug reports. + * debian/patches/libstdc++-bastring.dpatch: Patch by Richard Kettlewell + (closes #46550). + * debian/rules.patch: Apply libstdc++-wall2 patch (closes #46609). + * debian/README: Fix typo (closes: #45253). + * debian/control.in: Remove primary/secondary distinction; + dbg-packages don't provide their normal counterparts (closes #45206). + * debian/rules.patch: gcc-combine patch applied upstream. + * debian/rules2: Only use mail if with_check is set (off by default). + * debian/rules.conf: Tighten binutils dependency to 2.9.5.0.12. + + -- Matthias Klose Tue, 19 Oct 1999 20:33:00 +0200 + +gcc (2.95.2-0pre2.0.2) unstable; urgency=HIGH (for m68k) + + * Binary-only NMU for m68k as quick fix for another bug; the patch + is in CVS already, too. + * Applied another patch by Andreas Schwab to fix %a5 restauration in + some cases. + + -- Roman Hodek Thu, 30 Sep 1999 16:09:15 +0200 + +gcc (2.95.2-0pre2.0.1) unstable; urgency=HIGH (for m68k) + + * Binary-only NMU for m68k as quick fix for serious bugs; the patches + are already checked into gcc CVS and should be in the next official + version, too. + * Applied two patches by Andreas Schwab to fix -fpic and loop optimization. + + -- Roman Hodek Mon, 27 Sep 1999 15:32:49 +0200 + +gcc (2.95.2-0pre2) unstable; urgency=low + + * Fixed in 2.95.2 (closes: #43478). + * Previous version had Pascal examples missing in doc directory. + + -- Matthias Klose Wed, 8 Sep 1999 22:18:17 +0200 + +gcc (2.95.2-0pre1) unstable; urgency=low + + * Updated to cvs updates of the gcc-2_95-branch until 19990828. + * Apply work around memory corruption (just for 2.95.1) by + Daniel Jacobowitz . + * debian/patches/libstdc++-wall2.dpatch: Patch from Franck Sicard + to fix some warnings (closes: #44670). + * debian/patches/libstdc++-valarray.dpatch: Patch from Hideaki Fujitani + to fix a bug in valarray_array.h. + * Applied NMU from Jim Pick minus the jump.c and fold-const.c patches + already in the gcc-2_95-branch (closes: #44690). + * Conform to debian-java policy (closes: #44463). + * Move docs to /usr/share/doc (closes: #44782). + * Remove debian/patches/gcc-align.dpatch applied upstream. + * debian/*.postinst: Call install-info only, when configuring. + * debian/*.{postinst,prerm}: Add #DEBHELPER# comments to handle + /usr/doc -> /usr/share/doc transition. + + -- Matthias Klose Wed, 8 Sep 1999 22:18:17 +0200 + +gcc (2.95.1-2.1) unstable; urgency=low + + * Non-maintainer upload. + * ARM platform no longer needs library-prefix patch. + * Updated patches from Philip Blundell. + + -- Jim Pick Wed, 8 Sep 1999 20:14:07 -0700 + +gcc (2.95.1-2) unstable; urgency=low + + * debian/gcc.{postinst,prerm}: gcc provides an alternative for + sparc64-linux-gcc. + * Applied patch from Ben Collins to enable bi-architecture (32/64) + support for sparc. + * Rebuild debian/control and debian/rules.parameters after unpacking. + * debian/rules2: binary-indep. Conditionalize on with_pascal. + + -- Matthias Klose Sat, 4 Sep 1999 13:47:30 +0200 + +gcc (2.95.1-1) unstable; urgency=low + + * Updated to release gcc-2.95.1 and cvs updates of the gcc-2_95-branch + until 19990828. + * debian/README.gcc: Updated NEWS file to include 2.95 and 2.95.1 news. + * debian/README.java: New file. + * debian/rules.defs: Disabled gpc for alpha, arm. Disabled ObjC-GC + for alpha. + * debian/rules [clean]: Remove debian/rules.parameters. + * debian/rules2 [binary-arch]: Call dh_shlibdeps with LD_LIBRARY_PATH set + to installation dir of libstdc++. Why isn't this the default? + * debian/control.in: *-dev packages do not longer conflict with + libg++272-dev package. + * Apply http://egcs.cygnus.com/ml/gcc-patches/1999-08/msg00599.html. + * Only define BAD_THROW_ALLOC, when using exceptions (fixes #43462). + * For ObjC (when configured with GC) recommend libgc4-dev, not libgc4. + * New version of 68060 build patch. + * debian/rules.conf: For m68k, depend on binutils version 2.9.1. + + -- Matthias Klose Sat, 28 Aug 1999 18:16:31 +0200 + +gcc (2.95.1-0pre2) unstable; urgency=medium + + * gpc is back again (fixes grave #43022). + * debian/patches/gpc-updates.dpatch: Patches sent to upstream authors. + * Work around the fatal dependtry assertion failure bug in dpkg (hint + from "Antti-Juhani Kaijanaho" , fixes important #43072). + + -- Matthias Klose Mon, 16 Aug 1999 19:34:14 +0200 + +gcc (2.95.1-0pre1) unstable; urgency=low + + * Updated to cvs 19990815 gcc-2_95-branch; included install docs and + FAQ from 2.95 release; upload source package as well. + * Source package contains tarballs only (gcc, libg++, installdocs). + * debian/rules: Splitted into debian/rules{,.unpack,.patch,.conf,2}. + * debian/gcc.postinst: s/any key/RETURN; warn only when upgrading from + pre 2.95 version; reference /usr/doc, not /usr/share/doc. + * Checked syntax for attributes of functions; checked for #35068; + checked for bad gmon.out files (at least with libc6 2.1.2-0pre5 and + binutils 2.9.1.0.25-2 the problem doesn't show up anymore). + * debian/patches/cpp-macro-doc.dpatch: Document macro varargs in cpp.texi. + * gcc is primary compiler for all platforms but m68k. Setting + severity of #22513 to fixed. + * debian/patches/gcc-default-arch.dpatch: New patch to enable generation + of i386 instruction as default (fixes #42743). + * debian/rules: Removed outdated gcc NEWS file (fixes #42742). + * debian/patches/libstdc++-out-of-mem.dpatch: Throw exception instead + of aborting when out of memory (fixes #42622). + * debian/patches/cpp-dos-newlines.dpatch: Handle ibackslashes after + DOS newlines (fixes #29240). + * Fixed in gcc-2.95.1: #43001. + * Bugs closed in this version: + Closes: #11525, #12253, #22513, #29240, #35068, #36182, #42584, #42585, + #42602, #42622, #42742 #42743, #43001, #43002. + + -- Matthias Klose Sun, 15 Aug 1999 10:31:50 +0200 + +gcc (2.95-3) unstable; urgency=high + + * Provide /lib/cpp again (fixes important bug #42524). + * Updated to cvs 19990805 gcc-2_95-branch. + * Build with the default scheduler. + * Apply install-multilib patch from Dan Jacobowitz. + * Apply revised cpp-A- patch from Dan Jacobowitz. + + -- Matthias Klose Fri, 6 Aug 1999 07:25:19 +0200 + +gcc (2.95-2) unstable; urgency=low + + * Remove /lib/cpp. This driver uses files from /usr/lib/gcc-lib anyway. + * The following bugs are fixed (compared to egcs-1.1.2). + Closes: #4429, #20889, #21122, #26369, #28417, #28261, #31416, #35261, + #35900, #35906, #38246, #38872, #39098, #39526, #40659, #40991, #41117, + #41290, #41302, #41313. + * The following by Joel Klecker: + - Adopt dpkg-architecture variables. + - Go back to SHELL = bash -e or it breaks where /bin/sh is not bash. + - Disabled the testsuite, it is not included in the gcc 2.95 release. + + -- Matthias Klose Sat, 31 Jul 1999 18:00:42 +0200 + +gcc (2.95-1) unstable; urgency=low + + * Update for official gcc-2.95 release. + * Built without gpc. + * debian/rules: Remove g++FAQ from rules, which is outdated. + For ix86, build for i386, not i486. + * Apply patch from Jim Pick for building multilib package on arm. + + -- Matthias Klose Sat, 31 Jul 1999 16:38:21 +0200 + +gcc (2.95-0pre10) unstable; urgency=low + + * Use ../builddir-gcc-$(VER) by default instead of ./builddir; upstream + strongly advises configuring outside of the source tree, and it makes + some things much easier. + * Add patch to prevent @local branches to weak symbols on powerpc (fixes + apt compilation). + * Add patch to make cpp -A- work as expected. + * Renamed debian/patches/ppc-library-prefix.dpatch to library-prefix.dpatch; + apply on all architectures. + * debian/control.in: Remove snapshot dependencies. + * debian/*.postinst: Reflect use of /usr/share/{info,man}. + + -- Daniel Jacobowitz Thu, 22 Jul 1999 19:27:12 -0400 + +gcc (2.95-0pre9) unstable; urgency=low + + * The following bugs are fixed (compared to egcs-1.1.2): #4429, #20889, + #21122, #26369, #28417, #28261, #35261, #38246, #38872, #39526, #40659, + #40991, #41117, #41290. + * Updated to CVS gcc-19990718 snapshot. + * debian/control.in: Removed references to egcs in descriptions. + Changed gcj's Recommends libgcj-dev to Depends. + * debian/rules: Apply ppc-library-prefix for alpha as well. + * debian/patches/arm-config.dpatch: Updated patch sent by Jim Pick. + + -- Matthias Klose Sun, 18 Jul 1999 12:21:07 +0200 + +gcc (2.95-0pre8) unstable; urgency=low + + * Updated CVS. + * debian/copyright: s%doc/copyright%share/common-licenses% + * debian/README.Bugs: s/egcs.cygnus.com/gcc.gnu.org/ s/egcs-bugs/gcc-bugs/ + * debian/patches/reporting.dpatch: Remake diff for current sources. + * debian/libstdc++-dev.postinst: It's /usr/share/info/iostream.info. + * debian/rules: Current dejagnu snapshot reports a framework version + of 1.3.1. + + -- Joel Klecker Sun, 18 Jul 1999 02:09:57 -0700 + +gcc-snapshot (19990714-0pre6) experimental; urgency=low + + * Updated to CVS gcc-19990714 snapshot. + * Applied ARM patch (#40515). + * Converted DOS style linefeeds in debian/patches/ppc-* files. + * debian/rules: Reflect change in gcc/version.c; use sh -e as shell: + for some obscure reason, bash -e doesn't work. + * Reflect version change for libstdc++ (2.10). Remove libg++-name + patch; libg++ now has version 2.8.1.3. Removed libc version from + the package name. + + -- Matthias Klose Wed, 14 Jul 1999 18:43:57 +0200 + +gcc-snapshot (19990625-0pre5.1) experimental; urgency=low + + * Non-maintainer upload. + * Added ARM specific patch. + + -- Jim Pick Tue, 29 Jun 1999 22:36:08 -0700 + +gcc-snapshot (19990625-0pre5) experimental; urgency=low + + * Updated to CVS gcc-19990625 snapshot. + + -- Matthias Klose Fri, 25 Jun 1999 16:11:53 +0200 + +gcc-snapshot (19990609-0pre4.1) experimental; urgency=low + + * Added and re-added a few last PPC patches. + + -- Daniel Jacobowitz Sat, 12 Jun 1999 16:48:01 -0500 + +gcc-snapshot (19990609-0pre4) experimental; urgency=low + + * Updated to CVS egcs-19990611 snapshot. + + -- Matthias Klose Fri, 11 Jun 1999 10:20:09 +0200 + +gcc-snapshot (19990609-0pre3) experimental; urgency=low + + * CVS gcc-19990609 snapshot. + * New gpc-19990607 snapshot. + + -- Matthias Klose Wed, 9 Jun 1999 19:40:44 +0200 + +gcc-snapshot (19990524-0pre1) experimental; urgency=low + + * egcs-19990524 snapshot. + * First snapshot of the gcc-2_95-branch. egcs-1.2 is renamed to gcc-2.95, + which is now the "official" successor to gcc-2.8.1. The full version + name is: gcc-2.95 19990521 (prerelease). + * debian/control.in: Changed maintainers to `Debian GCC maintainers'. + * Moved all version numbers to epoch 1. + * debian/rules: Major changes. The support for secondary compilers + was already removed for the egcs-1.2 snapshots. Many fixes by + Joel Klecker . + - Send mail to Debian maintainers for successful builds. + - Fix VER and VERNO sed expressions. + - Replace remaining GNUARCH occurrences. + * New gpc snapshot (but don't build). + * debian/patches/valarray.dpatch: Backport from libstdc++-v3. + * debian/gcc-doc.*: Info is now gcc.info* (Joel Klecker ). + * Use cpp driver provided by the package. + * New script c89 (fixes #28261). + + -- Matthias Klose Sat, 22 May 1999 16:10:36 +0200 + +egcs (1.1.2-2) unstable; urgency=low + + * Integrate NMU's for arm and sparc (fixes #37582, #36857). + * Apply patch for the Hurd (fixes #37753). + * Describe open bugs in TODO.Debian. Please have a look if you can help. + * Update README / math functions section (fixes #35906). + * Done by J.H.M. Dassen (Ray) : + - At Richard Braakman's request, made -dbg packages for libstdc++ + and libg++. + - Provide egcc(1) (fixes lintian error). + + -- Matthias Klose Sun, 16 May 1999 14:30:56 +0200 + +egcs-snapshot (19990502-1) experimental; urgency=low + + * New snapshot. + + -- Matthias Klose Thu, 6 May 1999 11:51:02 +0200 + +egcs-snapshot (19990418-2) experimental; urgency=low + + * Merged Rays changes to build debug packages. + + -- Matthias Klose Wed, 21 Apr 1999 16:54:56 +0200 + +egcs-snapshot (19990418-1) experimental; urgency=low + + * New snapshot. + * Disable cpplib. + + -- Matthias Klose Mon, 19 Apr 1999 11:32:19 +0200 + +egcs (1.1.2-1.2) unstable; urgency=low + + * NMU for arm + * Added arm-optimizer.dpatch with optimizer workaround for ARM + + -- Jim Pick Mon, 19 Apr 1999 06:17:13 -0700 + +egcs (1.1.2-1.1) unstable; urgency=low + + * NMU for sparc + * Included dpatch to modify the references to gcc/crtstuff.c so that + __register_frame_info is not a weak reference. This allows potato to + remain binary compatible with slink, while still retaining compatibility + with other sparc/egcs1.1.2 distributions. Diff in .dpatch format has + been sent to the maintainer with a note it may not be needed for 1.1.3. + + -- Ben Collins Tue, 27 Apr 1999 10:15:03 -0600 + +egcs (1.1.2-1) unstable; urgency=low + + * Final egcs-1.1.2 release built for potato as primary compiler + for all architectures except m68k. + + -- J.H.M. Dassen (Ray) Thu, 8 Apr 1999 13:14:29 +0200 + +egcs-snapshot (19990321-1) experimental; urgency=low + + * New snapshot. + * Disable gpc. + * debian/rules: Simplified (no secondary compiler, bumped all versions + to same epoch, libapi patch is included upstream). + * Separated out cpp documentation to cpp-doc package. + * Fixed in this version: #28417. + + -- Matthias Klose Tue, 23 Mar 1999 02:11:18 +0100 + +egcs (1.1.2-0slink2) stable; urgency=low + + * Applied H.J.Lu's egcs-19990315.linux patch. + * Install faq.html and egcs-1.1.2 announcment. + + -- Matthias Klose Tue, 23 Mar 1999 01:14:54 +0100 + +egcs (1.1.2-0slink1) stable; urgency=low + + * Final egcs-1.1.2 release; compiled with glibc-2.0 for slink on i386. + * debian/control.in: gcc provides egcc, when FIRST_PRIMARY defined. + * Fixes #30767, #32278, #34252, #34352. + * Don't build the libstdc++.so.2.9 library on architectures, which have + switched to glibc-2.1. + + -- Matthias Klose Wed, 17 Mar 1999 12:55:59 +0100 + +egcs (1.1.1.63-2.2) unstable; urgency=low + + * Non-maintainer upload. + * Incorporate patch from Joel Klecker to fix snapshot packages + by moving/removing the application of libapi. + * Disable the new libstdc++-dev-config and the postinst message in + glibc 2.1 versions. + + -- Daniel Jacobowitz Mon, 12 Mar 1999 14:16:02 -0500 + +egcs (1.1.1.63-2.1) unstable; urgency=low + + * Non-maintainer upload. + * Compile with glibc 2.1 release version. + * New upstream version egcs-1.1.2 pre3. + * Miscellaneous rules updates (see changelog.snapshot). + * New set of powerpc-related patches from Franz Sirl, + . + * Disable libgcc.dpatch (new solution implemented upstream). Remove it. + * Also pass $target to config.if. + * Enable Dwarf2 EH for powerpc. Bump the C++ binary version. No + loss in -backwards- compatibility as far as I can tell, so add a + compatibility symlink, and add to shlibs file. + * Add --no-backup-if-mismatch to the debian/patches/*.dpatch files, + to prevent bogus .orig's in diffs. + * Merged with (unreleased) 1.1.1.62-1 and 1.1.1.63-{1,2} packages from + Matthias Klose . + * Stop adding a backwards compatibility link for egcs-nof on powerpc. + To my knowledge, nothing uses it. Do add the libstdc++ API change + link, though. + + -- Daniel Jacobowitz Mon, 8 Mar 1999 14:24:01 -0500 + +egcs (1.1.1.63-2) stable; urgency=low + + * Provide a libstdc++ with a shared object name, which is compatible + to other distributions. Documented the change in README.Debian, + the libstdc++-2.9.postinst and the libstdc++-dev-config script. + + -- Matthias Klose Fri, 12 Mar 1999 00:36:20 +0100 + +egcs (1.1.1.63-1.1) unstable; urgency=low + + * Non-Maintainer release. + * Build against glibc 2.1. + * Make egcs the primary compiler on i386. + * Also confilct with egcc (<< FIRST_PRIMARY) + if FIRST_PRIMARY is defined. + (this tells dpkg that gcc completely obsoletes egcc) + * Remove hjl-12 patch again, HJL says it should not be + necessary with egcs 1.1.2. + (as per forwarded reply from Christopher Chimelis) + * Apply libapi patch in clean target before regenerating debian/control + and remove the patch afterward. Otherwise, the libstdc++ and libg++ + package names are generated wrong on a glibc 2.1 system. + + -- Joel Klecker Tue, 9 Mar 1999 15:31:02 -0800 + +egcs (1.1.1.63-1) unstable; urgency=low + + * New upstream version egcs-1.1.1-pre3. + * Applied improved libstdc++ warning patch from Rob Browning. + + -- Matthias Klose Tue, 9 Mar 1999 16:14:07 +0100 + +egcs (1.1.1.62-1) unstable; urgency=low + + * New upstream version egcs-1.1.1-pre2. + * New upstream version libg++-2.8.1.3. + * Readded ARM support + * Readded hjl-12 per request from Christopher C Chimelis + + + -- Matthias Klose Fri, 26 Feb 1999 09:54:01 +0100 + +egcs-snapshot (19990224-0.1) experimental; urgency=low + + * New snapshot. + * Add the ability to disable CPPLIB by setting CPPLIB=no in + the environment. + * Disable gpc for powerpc; I spent a long time getting it to + make correctly, and then it goes and ICEs. + + -- Daniel Jacobowitz Tue, 24 Feb 1999 23:34:12 -0500 + +egcs (1.1.1.61-1) unstable; urgency=low + + * New upstream version egcs-1.1.1-pre1. + * debian/control.in: Applied patch from bug report #32987. + * Split up H.J.Lu's hjl-19990115-linux patch into several small + chunks: libapi, arm-mips, libgcc, hjl-other. The changelog.Linux + aren't included in the separate chunks. Please refer to the + unmodified hjl-19990115-linux patch file in the egcs source pkg. + * Apply warning patch to fix the annoying spew you get if you try to + use ropes or deques with -Wall (which makes -Wall mostly useless for + spotting errors in your own code). Fixes #32996. + * debian/rules: Unapply patches in the exact reverse order they were + applied. + + -- Matthias Klose Sat, 20 Feb 1999 22:06:21 +0100 + +egcs (1.1.1-5) frozen unstable; urgency=medium + + * Move libgcc.map file to g++ package, where gcc is the secondary + compiler (fixes #32329, #32605, #32631). + * Prepare to rename libstdc++2.9 package for glibc-2.1 (fixes #32148). + * Apply NMU patch for arm architecure (fixes #32367). + * Don't apply hjl-12 patch for alpha architectures (requested by the + alpha developers, Christopher C Chimelis ). + * Call makeinfo with --no-validate to fix obscure build failure on alpha. + * Build gpc info files in doc subdirectory. + * Remove c++filt diversion (C++ name demangling patch is now in binutils, + fixes #30820 and #32502). + + -- Matthias Klose Sun, 31 Jan 1999 23:19:35 +0100 + +egcs (1.1.1-4.1) unstable; urgency=low + + * Non-maintainer upload. + * Pascal doesn't build for ARM. + + -- Jim Pick Sun, 24 Jan 1999 16:13:34 -0800 + +egcs (1.1.1-4) frozen unstable; urgency=high + + * Don't strip compiler libraries libgcc.a libobjc.a libg2c.a libgpc.a + * Move Pascal examples to the right place (fixes #32149, part 1). + * Add dependencies for switching from secondary to primary compiler, + if FIRST_PRIMARY is defined (fixes #32149, part 2). + + -- Matthias Klose Wed, 20 Jan 1999 16:51:30 +0100 + +egcs (1.1.1-3) frozen unstable; urgency=low + + * Updated with the H.J.Lu's hjl-19990115-linux patch (fixes the + __register_frame_info problems, mips and arm port included). + * Update gpc to 19990118 (beta release candidate). + * Strip static libraries (fixes #31247 and #31248). + * Changed maintainer address. + + -- Matthias Klose Tue, 19 Jan 1999 16:34:28 +0100 + +egcs (1.1.1-2) frozen unstable; urgency=low + + * Moved egcs-docs, g77-doc and gpc-doc packages to doc section. + * Downgraded Recommends: egcs-docs to Suggests: egcs-docs dependencies + (for archs, where egcs is the primary compiler). + * Add 'Suggests: stl-manual' dependency to libstdc++2.9-dev. + * Applied one more alpha patch: + ftp://ftp.yggdrasil.com/private/hjl/egcs/1.1.1/egcs-1.1.1.diff.12.gz + * Applied PPro optimization patch. + * Apply emit-rtl-nan patch. + * Upgraded to libg++-2.8.1.2a-19981218.tar.gz. + * Upgraded to gpc-19981218. + * Make symlinks for gobjc, libstdc++2.9-dev and libg++2.8.2 doc directories. + + -- Matthias Klose Wed, 23 Dec 1998 18:04:53 +0200 + +egcs-snapshot (19981211-1) experimental; urgency=low + + * New snapshot. + * Adapted gpc to egcs-2.92.x (BOOT_CFLAGS must include -g). + * New libg++-2.8.1.2a-19981209.tar.gz. + * debian/rules: new target mail-summary. + + -- Matthias Klose Fri, 11 Dec 1998 18:14:53 +0200 + +egcs (1.1.1-1) frozen unstable; urgency=high + + * Final egcs-1.1.1 release. + * The last version depended on a versioned libc6 again. + * Add lost dependency for libg++ on libstdc++. + * Added debian-libstdc++.sh script to generate a libstdc++ on a Linux + system, which doesn't use the libapi patch. + + -- Matthias Klose Wed, 2 Dec 1998 12:06:15 +0200 + +egcs (1.1.0.91.59-2) frozen unstable; urgency=high + + * Fixes bugs from libc6 2.0.7u-6 upload without dependency line + Conflicts: libstdc++-2.9 (<< 2.91.59): #30019, #30066, #30078. + * debian/copyright: Updated URLs. + * gcc --help now mentions /usr/doc/debian/bug-reporting.txt. + * Install README.Debian and include information about patches applied. + * Depend on unversioned libc6 on i386, such that libstdc++2.9 can be used + on a hamm system. + + -- Matthias Klose Fri, 27 Nov 1998 18:32:02 +0200 + +egcs (1.1.0.91.59-1) frozen unstable; urgency=low + + * This is egcs-1.1.1 prerelease #3, compiled with libc6 2.0.7u-6. + * Added dependency for libstdc++2.9-dev on g++ (fixes #29631). + * Package g77 provides f77 (fixes #29817). + * Already fixed in earlier egcs-1.1 releases: #2493, #25271, #10620. + * Bugs reported for gcc-2.7.x and fixed in the egcs version of gcc: + #2493, #4430, #4954, #5367, #6047, #10612, #12375, #20606, #24788, #26100. + * Upgraded libg++ to libg++-2.8.1.2a-19981114. + * Upgraded gpc to gpc-19981124. + * Close #25869: egcs and splay maintainers are unable to reproduce this + bug with the current Debian packages. Bug submitter doesn't respond. + * Close #25407: egcs maintainer cannot reproduce this bug with the current + Debian compiler. Bug submitter doesn't respond. + * Use debhelper 1.2.7 for building. + * Replace the libstdc++ and libg++ compatibility links with fake libraries. + + -- Matthias Klose Wed, 25 Nov 1998 12:11:42 +0200 + +egcs (1.1.0.91.58-5) frozen unstable; urgency=low + + * Applied patch to build on the m68060. + * Added c++filt and c++filt.1 to the g++ package. + * Updated gpc to gpc-981105; fixes some regressions compared to egcs-1.1. + * Separated out g77 and gpc doumentation to new packages g77-doc and gpc-doc. + * Closed bugs (#22158). + * Close #20248; on platforms where gas and gld are the default versions, + it makes no difference to configure with or without enable-ld. + * Close #24349. The bugs are in the amulet source. + See http://www.cs.cmu.edu/afs/cs/project/amulet/www/FAQ.html#GCC28x + * Rename gcc.info* files to egcs.info* (fixes #24088). + * Documented known bugs (and workarounds) in BUGS.Debian. + * Fixed demangling of C++ names (fixes #28787). + * Applied patch form aspell to libstdc++/stl/stl_rope.h. + * Updated from cvs 16 Nov 1998. + + -- Matthias Klose Tue, 17 Nov 1998 09:41:24 +0200 + +egcs-snapshot (19981115-2) experimental; urgency=low + + * New snapshot. Disabled gpc. + * New packages g77-doc and gpc-doc. + + -- Matthias Klose Mon, 16 Nov 1998 12:48:09 +0200 + +egcs (1.1.0.91.58-3) frozen unstable; urgency=low + + * Previous version installed in potato, not slink. + * Updated from cvs 3 Nov 1998. + + -- Matthias Klose Tue, 3 Nov 1998 18:34:44 +0200 + +egcs (1.1.0.91.58-2) unstable; urgency=low + + * [debian/rules]: added targets to apply and unapply patches. + * [debian/README.patches]: New file. + * Moved patches dir to debian/patches. debian/rules has to select + the patches to apply. + * Manual pages for genclass and gcov (fixes #5995, #20950, #22196). + * Apply egcs-1.1-reload patch needed for powerpc architecture. + * Fixed bugs (#17768, #20252, #25508, #27788). + * Reapplied alpha patch (#20875). + * Fixes first part of #22513, extended README.Debian (combining C & C++). + * Already fixed in earlier egcs-1.1 releases: #17963, #20252, #20524, + #20640, #22450, #24244, #24288, #28520. + + -- Matthias Klose Fri, 30 Oct 1998 13:41:45 +0200 + +egcs (1.1.0.91.58-1) experimental; urgency=low + + * New upstream version. That's the egcs-1.1.1 prerelease plus patches from + the cvs archive upto 29 Oct 1998. + * Merged files from the egcs and snapshot packages. + * Updated libg++ to libg++-2.8.1.2 (although the Debian package name is still + 2.8.2). + * Moved patches dir to patches-1.1. + * Dan Jacobowitz: + * This is a snapshot from the egcs_1_1_branch, with + libapi, reload, builtin-apply, and egcs patches from + the debian/patches/ dir applied, along with the egcs-gpc-patches + and gcc/p/diffs/gcc-egcs-2.91.55.diff. + * Conditionalize gcj and chill (since they aren't in this branch). + * Fake snapshots drop the -snap-main. + + -- Matthias Klose Thu, 29 Oct 1998 15:15:19 +0200 + +egcs-snapshot (1.1-19981019-5.1) experimental; urgency=low + + * This is a snapshot from the egcs_1_1_branch, with + libapi, reload, builtin-apply, and egcs patches from + the debian/patches/ dir applied, along with the egcs-gpc-patches + and gcc/p/diffs/gcc-egcs-2.91.55.diff. + * Conditionalize gcj and chill (since they aren't in this + branch). + * Fake snapshots drop the -snap-main. + + -- Daniel Jacobowitz Mon, 19 Oct 1998 22:19:23 -0400 + +egcs (1.1b-5) unstable; urgency=low + + * [debian/control.in] Fixed typo in dependencies (#28076, #28087, #28092). + + -- J.H.M. Dassen (Ray) Sun, 18 Oct 1998 22:56:51 +0200 + +egcs (1.1b-4) unstable; urgency=low + + * Strengthened g++ dependency on libstdc++_LIB_SO_-dev from + `Recommends' to `Depends'. + * Updated README.Debian for egcs-1.1. + * Updated TODO. + + -- Matthias Klose Thu, 15 Oct 1998 12:38:47 +0200 + +egcs-snapshot (19981005-0.1) experimental; urgency=low + + * Make libstdc++2.9-snap-main and libg++-snap-main provide + their mainstream equivalents and put those equivalents into + their shlibs file. + * Package gcj, the GNU Compiler for Java(TM). + + * New upstream version of egcs (The -regcs_latest_snapshot branch). + * Build without libg++ entirely. + * Leave out gpc for now - the internals are sufficiently different + that it does not trivially compile. + * Include an experimental reload patch for powerpc - this is, + in the words of its author, not release quality, but it allows + powerpc linuxthreads to function. + * On architectures where we are the primary compiler, let snapshots + build with --prefix=/usr and conflict with the stable versions. + * Package chill, a front end for the language Chill. + * Other applied patches from debian/patches/: egcs-patches and + builtin-apply-patch. + * Use reload.c revision 1.43 to avoid a nasty bug. + + -- Daniel Jacobowitz Wed, 7 Oct 1998 00:27:42 -0400 + +egcs (1.1b-3.1) unstable; urgency=low + + * NMU to fix the egcc -> gcc link once and for all + + -- Christopher C. Chimelis Tue, 22 Sep 1998 16:11:19 -0500 + +egcs (1.1b-3) unstable; urgency=low + + * Oops. The egcc -> gcc link on archs where gcc is egcc was broken. + Thanks to Chris Chimelis for pointing this out. + + -- J.H.M. Dassen (Ray) Mon, 21 Sep 1998 20:51:35 +0200 + +egcs (1.1b-2) unstable; urgency=low + + * New upstream spellfix release (Debian revision is 2 as the internal + version numbers didn't change). + * Added egcc -> gcc symlink on architectures where egcc is the primary C + compiler. Thus, maintainers of packages that require egcc, can now + simply use "egcc" without conditionals. + * Porters: we hope/plan to make egcs's gcc the default C compiler on all + platforms once the 2.2.x kernels are available. Please test this version + thoroughly, and give us a GO / NO GO for your architecture. + * Some symbols cpp used to predefine were removed upstream in order to clean + up the cpp namespace, but imake requires them for determining the proper + settings for LinuxMachineDefines (see /usr/X11R6/lib/X11/{Imake,linux}.cf), + thus we put them back. Thanks to Paul Slootman for reporting his imake + problems on Alpha. + * [gcc/config/alpha/linux.h] Added -D__alpha to CPP_PREDEFINES . + Thanks to Chris Chimelis for the alpha-only 1.1a-1.1 NMU which fixed + this already. + * [gcc/config/i386/linux.h] Added -D__i386__ to CPP_PREDEFINES . + * [gcc/config/sparc/linux.h] Has -Dsparc in CPP_PREDEFINES . + * [gcc/config/sparc/linux64.h] Has -Dsparc in CPP_PREDEFINES . + * [gcc/config/m68k/linux.h] Has -Dmc68000 in CPP_PREDEFINES . + * [gcc/config/rs6000/linux.h] Has -Dpowerpc in CPP_PREDEFINES . + * [gcc/config/arm/linux.h] Has -Darm in CPP_PREDEFINES . + * [gcc/config/i386/gnu.h] Has -Di386 in CPP_PREDEFINES . + * Small fixes and updates in README. + * Changes affecting the source package only: + * [gcc/Makefile.in, gcc/cp/Make-lang.in, gcc/p/Make-lang.in] + Daniel Jacobowitz: Ugly hacks of various kinds to make cplib2.txt get + properly regenerated with multilib. + * [debian/TODO] Created. + * [INSTALL/index.html] Fixed broken link. + + -- J.H.M. Dassen (Ray) Sun, 20 Sep 1998 14:05:15 +0200 + +egcs (1.1a-1) unstable; urgency=low + + * New upstream release. + * Added README.libstdc++ . + * Updated Standards-Version. + * Matthias: + * Downgraded gobjc dependency on egcs-docs from Recommends: to Suggests: . + * [libg++/Makefile.in] Patched not to rely on a `-f' flag of `ln'. + + -- J.H.M. Dassen (Ray) Wed, 2 Sep 1998 19:57:43 +0200 + +egcs (1.1-1) unstable; urgency=low + + * egcs-1.1 prerelease (from the last Debian package only the version file + changed). + * "Final" gpc Beta 2.1 gpc-19980830. + * Included libg++ and gpc in the .orig tarball. so that diffs are getting + smaller. + * debian/control.in: Changed maintainer address to galenh-egcs@debian.org. + * debian/copyright: Updated URLs. + + -- Matthias Klose Mon, 31 Aug 1998 12:43:13 +0200 + +egcs (1.0.99.56-0.1) unstable; urgency=low + + * New upstream snapshot 19980830 from CVS (called egcs-1.1 19980830). + * New libg++ snapshot 980828. + * Put all patches patches subdirectory; see patches/README in the source. + * debian/control.in: readded for libg++2.8.2-dev: + Replaces: libstdc++2.8-dev (<= 2.90.29-0.5) + * Renamed libg++2.9 package to libg++2.8.2. + * gcc/p/gpc-decl.c: Fix from Peter@Gerwinski.de; fixes optimization errors. + * patches/gpc-patch2: Fix from Peter@Gerwinski.de; fixes alpha errors. + * debian/rules: New configuration flag for building with and without + libstdc++api patch; untested without ... + + -- Matthias Klose Sun, 30 Aug 1998 12:04:22 +0200 + +egcs (1.0.99-0.6) unstable; urgency=low + + * PowerPC fixes. + * On powerpc, generate the -msoft-float libs and package them + as egcs-nof. + * Fix signed char error in gpc. + * Create a libg++.so.2.9 compatibility symlink. + + -- Daniel Jacobowitz Tue, 25 Aug 1998 11:44:09 -0400 + +egcs (1.0.99-0.5) unstable; urgency=low + + * New upstream snapshot 19980824. + * New gpc snapshot gpc-980822; reenabled gpc for alpha. + + -- Matthias Klose Tue, 25 Aug 1998 01:21:08 +0200 + +egcs (1.0.99-0.4) unstable; urgency=low + + * New upstream snapshot 19980819. Should build glibc 2.0.9x on PPC. + + -- Matthias Klose Wed, 19 Aug 1998 14:18:07 +0200 + +egcs (1.0.99-0.3) unstable; urgency=low + + * New upstream snapshot 19980816. + * debian/rules: build correct debian/control and debian/*.shlibs + * Enabled Haifa scheduler for ix86. + + -- Matthias Klose Mon, 17 Aug 1998 16:29:35 +0200 + +egcs (1.0.99-0.2) unstable; urgency=low + + * New upstream snapshot: egcs-19980812, minor changes only. + * Fixes for building on `primary' targets. + * Disabled gpc on `alpha' architecture. + * Uses debhelper 1.1.6 + * debian/control.in: Replace older snapshot versions in favor of newer + normal versions. + * debian/rules: Fixes building of binary-arch target only. + + -- Matthias Klose Thu, 13 Aug 1998 11:59:41 +0200 + +egcs (1.0.99-0.1) unstable; urgency=low + + * New upstream version: pre egcs-1.1 version. + * Many changes ... for details see debian/changelog.snapshot in the + source package. + * New packages libstdc++2.9 and libstdc++2.9-dev. + * New libg++ snapshot 980731: new packages libg++2.9 and libg++2.9-dev. + * New gpc snapshot gpc-980729: new package gpc. + * Uses debhelper 1.1 + + -- Matthias Klose Mon, 10 Aug 1998 13:00:27 +0200 + +egcs-snapshot (19980803-4) experimental; urgency=low + + * rebuilt debian/control. + + -- Matthias Klose Wed, 5 Aug 1998 08:51:47 +0200 + +egcs-snapshot (19980803-3) experimental; urgency=low + + * debian/rules: fix installation locations of NEWS, header and + `undocumented' files. + * man pages aren't compressed for the snapshot package. + + -- Matthias Klose Tue, 4 Aug 1998 17:34:31 +0200 + +egcs-snapshot (19980803-2) experimental; urgency=low + + * debian/rules: Uses debhelper. Old in debian/rules.old. + renamed postinst, prerm files for use with debhelper. + * debian/{libg++2.9,libstdc++2.9}/postinst: call ldconfig only, + when called for configure. + * egcs-docs is architecture independent package. + * new libg++ snapshot 980731. + * installed libstdc++ api patch (still buggy). + + -- Matthias Klose Mon, 3 Aug 1998 13:20:59 +0200 + +egcs-snapshot (19980729-1) experimental; urgency=low + + * New snapshot version 19980729 from CVS archive. + * New gpc snapshot gpc-980729. + * Let gcc/configure decide about using the Haifa scheduler. + * Remove -DDEBIAN. That was needed for the security improvements with + regard to the /tmp problem. egcs-1.1 chooses another approach. + * Save test-protocol and extract gpc errors to gpc-test-summary. + * Tighten binutils dependency to 2.9.1. + * debian/rules: new build-info target + * debian/{control.in,rules}: _SO_ and BINUTILSV substitution. + * debian/rules: add dependency for debian/control. + * debian/rules: remove bin/c++filt + * TODO: next version will use debhelper; the unorganized moving of + files becomes unmanageable ... + * TODO: g++ headers in stdc++ package? check! + + -- Matthias Klose Thu, 30 Jul 1998 12:10:20 +0200 + +egcs-snapshot (19980721-1) experimental; urgency=low + + * Unreleased. Infinite loops in executables made by gpc. + + -- Matthias Klose Wed, 22 Jul 1998 18:07:20 +0200 + +egcs-snapshot (19980715-1) experimental; urgency=low + + * New snapshot version from CVS archive. + * New gpc snapshot gpc-980715. + * New libg++ version libg++-2.8.2-980708. Changed versioning + schema for library. The major versions of libc, libstdc++ and the + g++ interface are coded in the library name. Use this new schema, + but provide a symlink to our previous schema, since the library + seems to be binary compatible. + * [debian/rules]: Fixed bug in build target, when bootstrap returns + with an error + + -- Matthias Klose Wed, 15 Jul 1998 10:55:05 +0200 + +egcs-snapshot (19980701-1) experimental; urgency=low + + * New snapshot version from CVS archive. + Two check programs in libg++ had to be manually killed to finish the + testsuite (tBag and tSet). + * New gpc snapshot gpc-980629. + * Incorporated debian/rules changes from egcs-1.0.3a-0.5 (but don't remove + gcc/cp/parse.c gcc/c-parse.c gcc/c-parse.y gcc/objc/objc-parse.c + gcc/objc/objc-parse.y, since these files are part of the release). + * Disable the -DMKTEMP_EACH_FILE -DHAVE_MKSTEMP -DDEBIAN flags for the + snapshot. egcs-1.1 will have another solution. + * Don't bootstrap the snapshot with -fno-force-mem. Internal compiler + error :-( + * libf2c.a and f2c.h have changed names to libg2c.a and g2c.h and + have moved again into the gcc-lib dir. They are installed under + libg2c.a and g2c.h. Is it necessary to provide links f2c -> g2c ? + * debian/rules: reflect change of build dir of libraries. + + -- Matthias Klose Wed, 2 Jul 1998 13:15:28 +0200 + +egcs-snapshot (19980628-0.1) experimental; urgency=low + + * New upstream snapshot version. + * Non-maintainer upload; Matthias appears to be absent currently. + * Updated shlibs. + * Merged changes from regular egcs: + * [debian/control] Tightened dependency on binutils to 2.8.1.0.23 or + newer, as according to INSTALL/SPECIFIC PowerPC (and possibly Sparc) + need this. + * [debian/rules] Clean up some generated files outside builddir, + so the .diff.gz becomes smaller. + * [debian/rules] Partial sync/update with the one for the regular egcs + version. + * [debian/rules] Make gcc/p/configure executable. + + -- J.H.M. Dassen (Ray) Wed, 1 Jul 1998 07:12:15 +0200 + +egcs (1.0.3a-0.6) frozen unstable; urgency=low + + * Some libg++ development files were in libstdc++2.8-dev rather than + libg++2.8-dev. Fixed this and dealt with upgrading from the earlier + versions (fixes #23908; this bug is not marked release-critical, but + is annoying and can be quite confusing for users. Therefore, I think + this fix should go in 2.0). + + -- J.H.M. Dassen (Ray) Tue, 30 Jun 1998 11:10:14 +0200 + +egcs (1.0.3a-0.5) frozen unstable; urgency=low + + * Fixed location of .hP files (Fixes #23448). + * [debian/rules] simplified extraction of the files for libg++2.8-dev. + + -- J.H.M. Dassen (Ray) Wed, 17 Jun 1998 09:33:41 +0200 + +egcs (1.0.3a-0.4) frozen unstable; urgency=low + + * [gcc/gcc.c] There is one call to choose_temp_base for determining the + tempdir to be used only; #ifdef HAVE_MKSTEMP delete the tempfile created + as a side effect. (fixes #23123 for egcs). + * [gcc/collect2.c] There's still a vulnerability here; I don't see how + I can fix it without leaving behind tempfiles though. + * [debian/control] Tightened dependency on binutils to 2.8.1.0.23 or + newer, as according to INSTALL/SPECIFIC PowerPC (and possibly Sparc) + need this. + * [debian/rules] Clean up some generated files outside builddir, so the + .diff.gz becomes smaller. + + -- J.H.M. Dassen (Ray) Sat, 13 Jun 1998 09:06:52 +0200 + +egcs-snapshot (19980608-1) experimental; urgency=low + + * New snapshot version. + + -- Matthias Klose Tue, 9 Jun 1998 14:07:44 +0200 + +egcs (1.0.3a-0.3) frozen unstable; urgency=high (security fixes) + + * [gcc/toplev.c] set flag_force_mem to 1 at optimisation level 3 or higher. + This works around #17768 which is considered release-critical. + * Changes by Matthias: + * [debian/README] Documentation of the compiler situation for Objective C. + * [debian/rules, debian/control.*] Generate control file from a master + file. + * [debian/rules] Updates for Pascal and Fortran parts; brings it in sync + with the one for the egcs snapshots. + * Use the recommended settings LDFLAGS=-s CFLAGS= BOOT_CFLAGS='-O2'. + * Really compile -DMKTEMP_EACH_FILE -DHAVE_MKSTEMP (really fixes #19453 + for egcs). + * [gcc/gcc.c] A couple of temp files weren't marked for deletion. + + -- J.H.M. Dassen (Ray) Sun, 31 May 1998 22:56:22 +0200 + +egcs (1.0.3a-0.2) frozen unstable; urgency=high (security fixes) + + * Security improvements with regard to the /tmp problem + (gcc opens predictably named files in TMPDIR which can be abused via + symlinks) (Fixes #19453 for egcs). + * Compile -DMKTEMP_EACH_FILE to ensure the %u name is generated randomly + every time; affects gcc/gcc.c . + * [gcc/choose-temp.c, libiberty/choose-temp.c]: use mktemp(3) if compiled + -DUSE_MKSTEMP . + * Security improvements: don't use the result of choose_temp_base in a + predictable fashion. + [gcc/gcc.c]: + * @c, @objective-c: use random name rather then tempbasename.i for + intermediate preprocessor output (%g.i -> %d%u). + * @c, @objective-c: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @c, @objective-c, @cpp-output, @assembler-with-cpp: switched + "as [-o output file] " to + "as [-o output file]". + * @c, @objective-c, @assembler-with-cpp: use previous random name + (cc1|cpp output) rather then tempbasename.s for intermediate assembler + input (%g.s -> %U) + [gcc/f/lang-specs.h]: + * @f77-cpp-input: use random name rather then tempbasename.i for + intermediate cpp output (%g.i -> %d%u). + * @f77-cpp-input: use previous random name (cpp output) rather than + tempbasename.i for f771 input (%g.i -> %U). + * @f77-cpp-input: switched + "as [-o output file] " to + "as [-o output file]". + * @f77-cpp-input: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @ratfor: use random name rather then tempbasename.i for + intermediate ratfor output (%g.f -> %d%u). + * @ratfor: use previous random name (ratfor output) rather than + tempbasename.i for f771 input (%g.f -> %U). + * @ratfor: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @ratfor: switched + "as [-o output file] " to + "as [-o output file]". + * @ratfor: use previous random name + (ratfor output) rather then tempbasename.s for intermediate assembler + input (%g.s -> %U). + * @f77: use random name rather then tempbasename.s for + intermediate ratfor output (%g.f -> %d%u). + * @ratfor: use previous random name (ratfor output) rather than + tempbasename.i for f771 input (%g.f -> %U). + * @ratfor: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @ratfor: switched + "as [-o output file] " to + "as [-o output file]". + * @ratfor: use previous random name + (ratfor output) rather then tempbasename.s for intermediate assembler + input (%g.s -> %U). + * @f77: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @f77: switched + "as [-o output file] " to + "as [-o output file]". + * @ratfor: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %U). + * Run the testsuite (this requires the dejagnu package in experimental; + unfortunately, it is difficult to distinguish this version from the one + in frozen). + if possible, and log the results in warn_summary and bootstrap-summary. + * [gcc/choose-temp.c, libiberty/choose-temp.c]: s|returh|return| in + comment. + * Added notes on the Debian compiler setup [debian/README] to the + development packages. + * Matthias: + * [libg++/etc/lf/Makefile.in] Replaced "-ltermcap" by "-lncurses". + * [debian/rules] Updated so it can be used for both egcs releases and + snapshots easily; added support for the GNU Pascal Compiler gpc. + * [contrib/test_summary, contrib/warn_summary] Added from CVS. + * Run compiler checks and include results in /usr/doc/. + * Updates to the README. + * [debian/rules] Use assignments to speed up startup. + * [debian/rules] Show the important variables at the start of the build + process. + * [debian/control.secondary] Added a dependency of gobjc on egcc on + architectures where egcs provides the secondary compiler, as + /usr/bin/egcc is the compiler driver for gobjc. (Fixes #22829). + * [debian/control.*] Bumped Standards-Version; used shorter version + numbers in the dependency relationships (esthetic difference only); + fixed typo. + + -- J.H.M. Dassen (Ray) Tue, 26 May 1998 21:47:41 +0200 + +egcs-snapshot (19980525-1) experimental; urgency=low + + * New snapshot version. + + -- Matthias Klose Tue, 26 May 1998 18:04:06 +0200 + +egcs-snapshot (19980517-1) experimental; urgency=low + + * "Initial" release of the egcs-snapshot package; many debian/* files + derived from the egcs-1.0.3a-0.1 package (maintained by Galen Hazelwood + , NMU's by J.H.M. Dassen (Ray) ) + * The egcs-snapshot packages can coexist with the packages of the + egcs release. Package names have a '-ss' appended. + * All packages are installed in a separate tree (/usr/lib/egcs-ss following + the FHSS). + * Made all snapshot packages extra, all snapshot packages conflict + with correspondent egcs packages, which are newer than the snapshot. + * Included libg++-2.8.1-980505. + * Included GNU Pascal (gpc-980511). + * Haifa scheduler enabled for all snapshot packages. + * Run compiler checks and include results in /usr/doc/. + * Further information in /usr/doc//README.snapshot. + + -- Matthias Klose Wed, 20 May 1998 11:14:06 +0200 + +egcs (1.0.3a-0.1) frozen unstable; urgency=low + + * New upstream release egcs-2.90.29 980515 (egcs-1.0.3 release) + (we were using 1.0.3-prerelease). This includes the Haifa patches + we had since 1.0.3-0.2 and the gcc/objc/thr-posix.c patch we had + since 1.0.3-0.1; the differences with 1.0.3-prerelease + patches + we had is negligable. + * iostream info documentation was in the wrong package (libg++2.8-dev). + Now it's in libstdc++2.8-dev. (Thanks to Jens Rosenboom for bringing + this to my attention). As 1.0.3-0.3 didn't make it out of Incoming, + I'm not adding "Replaces:" for this; folks who had 1.0.3-0.3 installed + already know enough to use --force-overwrite. + * [gcc/objc/objc-act.c] Applied patch Matthias Klose supplied me with that + demangles Objective C method names in gcc error messages. + * Explicitly disable Haifa scheduling on Alpha, to make it easier to use + this package's diff with egcs snapshots, which may turn on Haifa + scheduling even though it is still unstable. (Requested by Chris Chimelis) + * Don't run "configure" again if builddir already exists (makes it faster + to restart builds in case one is hacking internals). Requested by + Johnnie Ingram. + * [gcc/gbl-ctors.h] Don't use extern declaration for atexit on glibc 2.1 + and higher (the prototype has probably changed; having the declaration + broke Sparc compiles). + * [debian/rules] Determine all version number automatically (from the + version string in gcc/version.c). + * [debian/copyright] Updated FTP locations; added text about libg++ (fixes + #22465). + + -- J.H.M. Dassen (Ray) Sat, 16 May 1998 17:41:44 +0200 + +egcs (1.0.3-0.3) frozen unstable; urgency=low + + * Made an "egcs-doc" package containing documentation for egcs (e)gcc, + g++, gobjc, so that administrators can choose whether to have this + documenation or the documentation that comes with the GNU gcc package. + Dependency on this is Recommends: on architectures where egcs provides + the primary C compiler; Suggests: on the others (where GNU gcc is still + the primary C compiler). + * Use the g++ FAQ from gcc/cp rather than libg++, as that version is more + up to date. + * Added iostream info documentation to libstdc++2.8-dev. + + -- J.H.M. Dassen (Ray) Wed, 13 May 1998 08:46:10 +0200 + +egcs (1.0.3-0.2) frozen unstable; urgency=low + + * Added libg++ that works with egcs, found at + ftp://ftp.yggdrasil.com/private/hjl/libg++-2.8.1-980505.tar.gz + (fixes #20587 (Severity: important)). + * The "libg++" and "libg++-dev" virtual packages now refer to the GNU + extensions. + * Added the g++ FAQ that comes with libg++ to the g++ package. + * libg++/Makefile.in: added $(srcdir) to rule for g++FAQ.info so that it + builds OK in builddir. + * Added -D__i386__ to the cpp predefines on intel. + * Patches Matthias supplied me with: + * Further 1.0.3 prerelease patches from CVS. + This includes patches to the Haifa scheduler. Alpha porters, please + check if this makes the Haifa scheduler OK again. + * Objective C patches from CVS. + + -- J.H.M. Dassen (Ray) Fri, 8 May 1998 14:43:20 +0200 + +egcs (1.0.3-0.1) frozen unstable; urgency=low (high for maintainers that use objc) + + * bug fixes only in new upstream version + * Applied patches from egcs CVS archive (egcs_1_03_prerelease) + (see gcc/ChangeLog in the egcs source package). + * libstdc++2.8-dev no longer Provides: libg++-dev (fixes #21153). + * libstdc++2.8-dev now Conflicts: libg++27-dev (bo), + libg++272-dev (hamm) [regular packages] rather than + Conflicts: libg++-dev [virtual package] to prepare the way for "libg++" + to be used as a virtual package for a new libg++ package (i.e. an up to + date one, which not longer contains libstdc++, but only the GNU + extensions) that is compatible with the egcs g++ packages. Such a package + isn't available yet. Joel Klecker tried building libg++2.8.1.1a within + egcs's libstdc++ setup, but it appears to need true gcc 2.8.1 . + * Filed Severity: important bugs against wxxt1-dev (#21707) because these + still depend on libg++-dev, which is removed in this version. + A fixed libsidplay1-dev has already been uploaded. + * libstdc++2.8 is now Section: base and Priority: required (as dselect is + linked against it). + * Disabled Haifa scheduling on Alpha again; Chris Chimelis reported + that this caused problems on some machines. + * [gcc/extend.texi] + ftp://maya.idiap.ch/pub/tmb/usenix88-lexic.ps.Z is no longer available; + use http://master.debian.org/~karlheg/Usenix88-lexic.pdf . + (fixes the egcs part of #20002). + * Updated Standards-Version. + * Changed chmod in debian/rules at Johnie Ingram's request. + * Rather than hardwire the Debian part of the packages' version number, + extract it from debian/changelog . + * Use gcc/objc/thr-posix.c from 980418 egcs snapshot to make objc work. + (Fixes #21192). + * Applied workaround for the GNUstep packages on sparc systems. + See README.sparc (on sparc packages only) in the doc directory. + This affects the other compilers as well. + * Already done in 1.0.2-0.7: the gobjc package now provides a virtual + package objc-compiler. + + -- J.H.M. Dassen (Ray) Tue, 28 Apr 1998 12:05:28 +0200 + +egcs (1.0.2-0.7) frozen unstable; urgency=low + + * Separated out Objective-C compiler. + * Applied patch from http://www.cygnus.com/ml/egcs/1998-Apr/0614.html + + -- Matthias Klose Fri, 17 Apr 1998 10:25:48 +0200 + +egcs (1.0.2-0.6) frozen unstable; urgency=low + + * Due to upstream changes (libg++ is now only the GNU specific C++ + classes, and is no longer maintained; libstdc++ contains the C++ + standard library, including STL), the virtual "libg++-dev" + package's meaning has become confusing. Therefore, new or updated + packages should no longer use the virtual "libg++-dev" package. + * Corrected g++'s Recommends to libstdc++2.8-dev (>=2.90.27-0.1). + The previous version had Recommends: libstdc++-dev (>=2.90.27-0.1) + which doesn't work, as libstc++-dev is a virtual package. + * Bumped Standards-Version. + + -- J.H.M. Dassen (Ray) Tue, 14 Apr 1998 11:52:08 +0200 + +egcs (1.0.2-0.5) frozen unstable; urgency=low (high for maintainers of packages that use libstdc++) + + * Modified shlibs file for libstdc++ to generate versioned dependencies, + as it is not link compatible with the 1.0.1-x versions in + project/experimental. (Fixes #20247, #20033) + Packages depending on libstd++ should be recompiled to fix their + dependencies. + * Strenghtened g++'s Recommends: libstdc++-dev to the 1.0.2 version or + newer. + * Fixed problems with the unknown(7) symlink for gcov. + * Reordering links now works. + + -- Adam Heath Sun, 12 Apr 1998 13:09:30 -0400 + +egcs (1.0.2-0.4) frozen unstable; urgency=low + + * Unreleased. This is the version Adam Heath received from me. + * Replaces: gcc (<= 2.7.2.3-3) so that the overlap with the older gcc + packages (including bo's gcc_2.7.2.1-8) is handled properly + (fixes #19931, #19672, #20217, #20593). + * Alpha architecture (fixes #20875): + * Patched gcc/config/alpha/linux.h for the gmon functions to operate + properly. + * Made egcs the primary C compiler. + * Enabled Hafia scheduling. + * Lintian-detected problems: + * E: libstdc++2.8: ldconfig-symlink-before-shlib-in-deb usr/lib/libstdc++.so.2.8 + * E: egcc: binary-without-manpage gcov + Reported as wishlist bug; added link to undocumented(7). + * W: libstdc++2.8: non-standard-executable-perm usr/lib/libstdc++.so.2.8.0 0555 + * E: libstdc++2.8: shlib-with-executable-bit usr/lib/libstdc++.so.2.8.0 0555 + + -- J.H.M. Dassen (Ray) Fri, 10 Apr 1998 14:46:46 +0200 + +egcs (1.0.2-0.3) frozen unstable; urgency=low + + * Really fixed dependencies. + + -- J.H.M. Dassen (Ray) Mon, 30 Mar 1998 11:30:26 +0200 + +egcs (1.0.2-0.2) frozen unstable; urgency=low + + * Fixed dependencies. + + -- J.H.M. Dassen (Ray) Sat, 28 Mar 1998 13:58:58 +0100 + +egcs (1.0.2-0.1) frozen unstable; urgency=low + + * New upstream version; it now has -Di386 in CPP_PREDEFINES. + * Only used the debian/* patches from 1.0.1-2; the rest of it appears + to be in 1.0.2 already. + + -- J.H.M. Dassen (Ray) Fri, 27 Mar 1998 11:47:14 +0100 + +egcs (1.0.1-2) unstable; urgency=low + + * Integrated pre-release 1.0.2 patches + * Split out g++ + * egcs may now provide either the primary or secondary C compiler + + -- Galen Hazelwood Sat, 14 Mar 1998 14:15:32 -0700 + +egcs (1.0.1-1) unstable; urgency=low + + * New upstream version + * egcs is now the standard Debian gcc! + * gcc now provides c-compiler (#15248 et al.) + * g77 now provides fortran77-compiler + * g77 dependencies now correct (#16991) + * /usr/doc/gcc/changelog.gz now has correct permissions (#16139) + + -- Galen Hazelwood Sat, 7 Feb 1998 19:22:30 -0700 + +egcs (1.0-1) experimental; urgency=low + + * First official release + + -- Galen Hazelwood Thu, 4 Dec 1997 16:30:11 -0700 + +egcs (970917-1) experimental; urgency=low + + * New upstream snapshot (There's a lot of stuff here as well, including + a new libstdc++, but it _still_ won't build...) + * eg77 driver now works properly + + -- Galen Hazelwood Wed, 17 Sep 1997 20:44:29 -0600 + +egcs (970904-1) experimental; urgency=low + + * New upstream snapshot + + -- Galen Hazelwood Sun, 7 Sep 1997 18:25:06 -0600 + +egcs (970814-1) experimental; urgency=low + + * Initial packaging (of initial snapshot!) + + -- Galen Hazelwood Wed, 20 Aug 1997 00:36:28 +0000 + +gcc272 (2.7.2.3-12) unstable; urgency=low + + * Compiled on a glibc-2.0 based system. + * Reflect move of manpage to /usr/share in gcc.postinst as well. + * Moved gcc272-docs to section doc, priority optional. + + -- Matthias Klose Sat, 28 Aug 1999 13:42:13 +0200 + +gcc272 (2.7.2.3-11) unstable; urgency=low + + * Follow Debian policy for GNU system type (fixes #42657). + * config/i386/linux.h: Remove %[cpp_cpu] from CPP_SPEC. Stops gcc-2.95 + complaining about obsolete spec operators (using gcc -V 2.7.2.3). + Patch suggested by Zack Weinberg . + + -- Matthias Klose Sun, 15 Aug 1999 20:12:21 +0200 + +gcc272 (2.7.2.3-10) unstable; urgency=low + + * Renamed source package to gcc272. The egcs source package is renamed + to gcc, because it's now the "official" GNU C compiler. + * Changed maintainer address to "Debian GCC maintainers". + * Install info and man stuff to /usr/share. + + -- Matthias Klose Thu, 27 May 1999 12:29:23 +0200 + +gcc (2.7.2.3-9) unstable; urgency=low + + * debian/{postinst,prerm}-doc: handle gcc272.info, not gcc.info. + Fixes #36306. + + -- Matthias Klose Tue, 20 Apr 1999 07:32:58 +0200 + +gcc (2.7.2.3-8) unstable; urgency=low + + * Make gcc-2.7 the secondary compiler. Rename gcc package to gcc272. + On i386, sparc and m68k, this package is compiled against glibc2.0. + * The cpp package is built from the egcs source package. + + -- Matthias Klose Mon, 29 Mar 1999 22:48:50 +0200 + +gcc (2.7.2.3-7) frozen unstable; urgency=low + + * Separated out ObjC compiler to gobjc27 package. + * Changed maintainer address. + * Synchronized README.Debian with egcs-1.1.1-3. + + -- Matthias Klose Tue, 29 Dec 1998 19:05:26 +0100 + +gcc (2.7.2.3-6) frozen unstable; urgency=low + + * Link with -lc on i386, m68k, sparc, when building shared libraries + (fixes #25122). + + -- Matthias Klose Thu, 3 Dec 1998 12:12:12 +0200 + +gcc (2.7.2.3-5) frozen unstable; urgency=low + + * Updated maintainer info. + * Updated Standards-Version; made lintian-clean. + * gcc-docs can coexist with the latest egcs-docs, so added (<= version) to + the Conflicts. + * Updated the README and renamed it to README.Debian . + * Put a reference to /usr/doc/gcc/README.Debian in the info docs. + * Updated description of g++272 . + * Clean up generated info files, to keep the diff small. + + -- J.H.M. Dassen (Ray) Tue, 17 Nov 1998 20:05:59 +0100 + +gcc (2.7.2.3-4.8) frozen unstable; urgency=high + + * Non-maintainer release + * Fix type in extended description + * Removed wrong test in postinst + * Add preinst to clean up some stuff from an older gcc package properly + and stop man complaining about dangling symlinks + + -- Wichert Akkerman Fri, 17 Jul 1998 18:48:32 +0200 + +gcc (2.7.2.3-4.7) frozen unstable; urgency=high + + * Really fixed gcc-docs postinst (Fixes #23470), so that `gcc-docs' + becomes installable. + + -- J.H.M. Dassen (Ray) Mon, 15 Jun 1998 07:53:40 +0200 + +gcc (2.7.2.3-4.6) frozen unstable; urgency=high + + * [gcc.c] There is one call to choose_temp_base for determining the + tempdir to be used only; + #ifdef HAVE_MKSTEMP delete the tempfile created as a side effect. + (fixes #23123 for gcc). + * gcc-docs postinst was broken (due to a broken line) (fixes #23391, #23401). + * [debian/control] description for gcc-docs said `egcs' where it should have + said `gcc' (fixes #23396). + + -- J.H.M. Dassen (Ray) Thu, 11 Jun 1998 12:48:50 +0200 + +gcc (2.7.2.3-4.5) frozen unstable; urgency=high + + * The previous version left temporary files behind, as they were not + marked for deletion afterwards. + + -- J.H.M. Dassen (Ray) Sun, 31 May 1998 22:49:14 +0200 + +gcc (2.7.2.3-4.4) frozen unstable; urgency=high (security fixes) + + * Security improvements with regard to the /tmp problem + (gcc opens predictably named files in TMPDIR which can be abused via + symlinks) (Fixes #19453 for gcc): + * Compile -DMKTEMP_EACH_FILE to ensure the %u name is generated randomly + every time; affects gcc/gcc.c . + * [cp/g++.c, collect2.c, gcc.c] If compiled -DHAVE_MKSTEMP use mkstemp(3) + rather than mktemp(3). + * Security improvements: don't use the result of choose_temp_base in a + predictable fashion. + [gcc.c]: + * @c, @objective-c: use random name rather then tempbasename.i for + intermediate preprocessor output (%g.i -> %d%u). + * @c, @objective-c: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @c, @objective-c, @cpp-output, @assembler-with-cpp: switched + "as [-o output file] " to + "as [-o output file]". + * @c, @objective-c, @assembler-with-cpp: use previous random name + (cc1|cpp output) rather then tempbasename.s for intermediate assembler + input (%g.s -> %U) + [f/lang-specs.h]: + * @f77-cpp-input: use random name rather then tempbasename.i for + intermediate cpp output (%g.i -> %d%u). + * @f77-cpp-input: use previous random name (cpp output) rather than + tempbasename.i for f771 input (%g.i -> %U). + * @f77-cpp-input: switched + "as [-o output file] " to + "as [-o output file]". + * @f77-cpp-input: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @ratfor: use random name rather then tempbasename.i for + intermediate ratfor output (%g.f -> %d%u). + * @ratfor: use previous random name (ratfor output) rather than + tempbasename.i for f771 input (%g.f -> %U). + * @ratfor: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @ratfor: switched + "as [-o output file] " to + "as [-o output file]". + * @ratfor: use previous random name + (ratfor output) rather then tempbasename.s for intermediate assembler + input (%g.s -> %U). + * @f77: use random name rather then tempbasename.s for + intermediate ratfor output (%g.f -> %d%u). + * @ratfor: use previous random name (ratfor output) rather than + tempbasename.i for f771 input (%g.f -> %U). + * @ratfor: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @ratfor: switched + "as [-o output file] " to + "as [-o output file]". + * @ratfor: use previous random name + (ratfor output) rather then tempbasename.s for intermediate assembler + input (%g.s -> %U). + * @f77: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %d%u). + * @f77: switched + "as [-o output file] " to + "as [-o output file]". + * @ratfor: use random name rather then tempbasename.s for + intermediate compiler output (%g.s -> %U). + + -- J.H.M. Dassen (Ray) Sat, 30 May 1998 17:27:03 +0200 + +gcc (2.7.2.3-4.3) frozen unstable; urgency=high + + * The "alpha" patches from -4 affected a lot more than alpha support, + and in all likeliness broke compilation of libc6 2.0.7pre3-1 + and 2.0.7pre1-4 . I removed them by selective application of the + diff between -4 and -4. (should fix #22292). + * Fixed reference to the trampolines paper (fixes #20002 for Debian; + this still needs to be forwarded). + * This is for frozen too. (obsoletes #22390 (request to move -4.2 to + frozen)). + * Split of gcc-docs package, so that the gcc can be succesfully installed + on systems that have egcs-docs installed. + * Added the README on the compiler situation that's already in the egcs + packages. + * Use the recommended settings LDFLAGS=-s CFLAGS= BOOT_CFLAGS='-O2'. + + -- J.H.M. Dassen (Ray) Thu, 28 May 1998 20:03:59 +0200 + +gcc (2.7.2.3-4.2) unstable; urgency=low + + * Still for unstable, as I have received no feedback about the g++272 + package yet. + * gcc now Provides: objc-compiler . + * Clean up /etc/alternatives/{g++,g++.1.gz} if they are dangling. + (fixes #19765, #20563) + + -- J.H.M. Dassen (Ray) Wed, 22 Apr 1998 12:40:45 +0200 + +gcc (2.7.2.3-4.1) unstable; urgency=low + + * Bumped Standards-Version. + * Forked off a g++272 package (e.g. for code that uses the GNU extensions + in libg++); for now this is in "unstable" only; feedback appreciated. + * Some cleanup (lintian): permissions, absolute link, gzip manpage. + + -- J.H.M. Dassen (Ray) Fri, 17 Apr 1998 13:05:25 +0200 + +gcc (2.7.2.3-4) unstable; urgency=low + + * Added alpha patches + * Only build C and objective-c compilers, split off g++ + + -- Galen Hazelwood Sun, 8 Mar 1998 21:16:39 -0700 + +gcc (2.7.2.3-3) unstable; urgency=low + + * Added patches for m68k + * Added patches for sparc (#13968) + + -- Galen Hazelwood Fri, 17 Oct 1997 18:25:21 -0600 + +gcc (2.7.2.3-2) unstable; urgency=low + + * Added g77 support (g77 0.5.21) + + -- Galen Hazelwood Wed, 10 Sep 1997 18:44:54 -0600 + +gcc (2.7.2.3-1) unstable; urgency=low + + * New upstream version + * Now using pristine source + * Removed misplaced paragraph in cpp.texi (#10877) + * Fix security bug for temporary files (#5298) + * Added Suggests: libg++-dev (#12335) + * Patched objc/thr-posix.c to support conditions (#12502) + + -- Galen Hazelwood Mon, 8 Sep 1997 12:20:07 -0600 + +gcc (2.7.2.2-7) unstable; urgency=low + + * Made cc and c++ managed through alternates mechanism (for egcs) + + -- Galen Hazelwood Tue, 19 Aug 1997 22:37:03 +0000 + +gcc (2.7.2.2-6) unstable; urgency=low + + * Tweaked Objective-C thread support (#11069) + + -- Galen Hazelwood Wed, 9 Jul 1997 11:56:57 -0600 + +gcc (2.7.2.2-5) unstable; urgency=low + + * More updated m68k patches + * Now conflicts with libc5-dev (#10006, #10112) + * More strict Depends: cpp, prevents version mismatch (#9954) + + -- Galen Hazelwood Thu, 19 Jun 1997 01:29:02 -0600 + +gcc (2.7.2.2-4) unstable; urgency=low + + * Moved to unstable + * Temporarily removed fortran support (waiting for new g77) + * Updated m68k patches + + -- Galen Hazelwood Fri, 9 May 1997 13:35:14 -0600 + +gcc (2.7.2.2-3) experimental; urgency=low + + * Built against libc6 (fixes bug #8511) + + -- Galen Hazelwood Fri, 4 Apr 1997 13:30:10 -0700 + +gcc (2.7.2.2-2) experimental; urgency=low + + * Fixed configure to build crt{begin,end}S.o on i386 + + -- Galen Hazelwood Tue, 11 Mar 1997 16:15:02 -0700 + +gcc (2.7.2.2-1) experimental; urgency=low + + * Built for use with libc6-dev (experimental purposes only!) + * Added m68k patches from Andreas Schwab + + -- Galen Hazelwood Fri, 7 Mar 1997 12:44:17 -0700 + +gcc (2.7.2.1-7) unstable; urgency=low + + * Patched to support g77 0.5.20 + + -- Galen Hazelwood Thu, 6 Mar 1997 22:20:23 -0700 + +gcc (2.7.2.1-6) unstable; urgency=low + + * Added (small) manpage for protoize/unprotoize (fixes bug #6904) + * Removed -lieee from specs file (fixes bug #7741) + * No longer builds aout-gcc + + -- Galen Hazelwood Mon, 3 Mar 1997 11:10:20 -0700 + +gcc (2.7.2.1-5) unstable; urgency=low + + * debian/control now lists cpp in section "interpreters" + * Re-added Objective-c patches for unstable + + -- Galen Hazelwood Wed, 22 Jan 1997 10:27:52 -0700 + +gcc (2.7.2.1-4) stable unstable; urgency=low + + * Changed original source file so dpkg-source -x works + * Removed Objective-c patches (unsafe for stable) + * Built against rex's libc, so fixes placed in -3 are available to + those still using rex + + -- Galen Hazelwood Tue, 21 Jan 1997 11:11:53 -0700 + +gcc (2.7.2.1-3) unstable; urgency=low + + * New (temporary) maintainer + * Updated to new standards and source format + * Integrated aout-gcc into gcc source package + * Demoted aout-gcc to Priority "extra" + * cpp package description more clear (fixes bug #5428) + * Removed cpp "Replaces: gcc" (fixes bug #5762) + * Minor fix to invoke.texi (fixes bug #2909) + * Added latest Objective-C patches for GNUstep people (fixes bug #4657) + + -- Galen Hazelwood Sun, 5 Jan 1997 09:57:36 -0700 --- gcc-8-8.2.0.orig/debian/compat +++ gcc-8-8.2.0/debian/compat @@ -0,0 +1 @@ +9 --- gcc-8-8.2.0.orig/debian/control +++ gcc-8-8.2.0/debian/control @@ -0,0 +1,2540 @@ +Source: gcc-8 +Section: devel +Priority: optional +Maintainer: Debian GCC Maintainers +Uploaders: Matthias Klose +Standards-Version: 4.3.0 +Build-Depends: debhelper (>= 9.20141010), dpkg-dev (>= 1.17.14), g++-multilib [amd64 i386 kfreebsd-amd64 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 s390 s390x sparc sparc64 x32] , + libc6.1-dev (>= 2.13-5) [alpha ia64] | libc0.3-dev (>= 2.13-5) [hurd-i386] | libc0.1-dev (>= 2.13-5) [kfreebsd-i386 kfreebsd-amd64] | libc6-dev (>= 2.13-5), 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 mipsn32r6 mipsn32r6el mips64r6 mips64r6el s390x sparc64 x32], libn32gcc1 [mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el], lib64gcc1 [i386 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el powerpc sparc s390 x32], libc6-dev-mips64 [mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el], libc6-dev-mipsn32 [mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el], libc6-dev-mips32 [mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el], libc6-dev-x32 [amd64 i386], libx32gcc1 [amd64 i386], 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, + dwz, libunwind8-dev [ia64], libatomic-ops-dev [ia64], + gawk, lzma, xz-utils, patchutils, + zlib1g-dev, systemtap-sdt-dev [linux-any kfreebsd-any hurd-any], + binutils:native (>= 2.30) | binutils-multiarch:native (>= 2.30), binutils-hppa64-linux-gnu:native (>= 2.30) [hppa amd64 i386 x32], + gperf (>= 3.0.1), bison (>= 1:2.3), flex, gettext, + gdb:native [!riscv64], nvptx-tools [amd64], + texinfo (>= 4.3), locales, sharutils, + procps, gnat-8:native [!m32r !riscv64 !sh3 !sh3eb !sh4eb !m68k !powerpcspe], g++-8:native, netbase, + libisl-dev (>= 0.20), libmpc-dev (>= 1.0), libmpfr-dev (>= 3.0.0-9~), libgmp-dev (>= 2:5.0.1~), lib32z1-dev [amd64 kfreebsd-amd64], lib64z1-dev [i386], + dejagnu [!m68k !hurd-amd64 !hurd-i386 !hurd-alpha !kfreebsd-amd64 !kfreebsd-i386 !kfreebsd-alpha], coreutils (>= 2.26) | realpath (>= 1.9.12), chrpath, lsb-release, quilt, + pkg-config, libgc-dev, + g++-8-alpha-linux-gnu [alpha] , gobjc-8-alpha-linux-gnu [alpha] , gfortran-8-alpha-linux-gnu [alpha] , gdc-8-alpha-linux-gnu [alpha] , gccgo-8-alpha-linux-gnu [alpha] , gnat-8-alpha-linux-gnu [alpha] , g++-8-x86-64-linux-gnu [amd64] , gobjc-8-x86-64-linux-gnu [amd64] , gfortran-8-x86-64-linux-gnu [amd64] , gdc-8-x86-64-linux-gnu [amd64] , gccgo-8-x86-64-linux-gnu [amd64] , gnat-8-x86-64-linux-gnu [amd64] , g++-8-arm-linux-gnueabi [armel] , gobjc-8-arm-linux-gnueabi [armel] , gfortran-8-arm-linux-gnueabi [armel] , gdc-8-arm-linux-gnueabi [armel] , gccgo-8-arm-linux-gnueabi [armel] , gnat-8-arm-linux-gnueabi [armel] , g++-8-arm-linux-gnueabihf [armhf] , gobjc-8-arm-linux-gnueabihf [armhf] , gfortran-8-arm-linux-gnueabihf [armhf] , gdc-8-arm-linux-gnueabihf [armhf] , gccgo-8-arm-linux-gnueabihf [armhf] , gnat-8-arm-linux-gnueabihf [armhf] , g++-8-aarch64-linux-gnu [arm64] , gobjc-8-aarch64-linux-gnu [arm64] , gfortran-8-aarch64-linux-gnu [arm64] , gdc-8-aarch64-linux-gnu [arm64] , gccgo-8-aarch64-linux-gnu [arm64] , gnat-8-aarch64-linux-gnu [arm64] , g++-8-i686-linux-gnu [i386] , gobjc-8-i686-linux-gnu [i386] , gfortran-8-i686-linux-gnu [i386] , gdc-8-i686-linux-gnu [i386] , gccgo-8-i686-linux-gnu [i386] , gnat-8-i686-linux-gnu [i386] , g++-8-mips-linux-gnu [mips] , gobjc-8-mips-linux-gnu [mips] , gfortran-8-mips-linux-gnu [mips] , gdc-8-mips-linux-gnu [mips] , gccgo-8-mips-linux-gnu [mips] , gnat-8-mips-linux-gnu [mips] , g++-8-mipsel-linux-gnu [mipsel] , gobjc-8-mipsel-linux-gnu [mipsel] , gfortran-8-mipsel-linux-gnu [mipsel] , gdc-8-mipsel-linux-gnu [mipsel] , gccgo-8-mipsel-linux-gnu [mipsel] , gnat-8-mipsel-linux-gnu [mipsel] , g++-8-mips64-linux-gnuabi64 [mips64] , gobjc-8-mips64-linux-gnuabi64 [mips64] , gfortran-8-mips64-linux-gnuabi64 [mips64] , gdc-8-mips64-linux-gnuabi64 [mips64] , gccgo-8-mips64-linux-gnuabi64 [mips64] , gnat-8-mips64-linux-gnuabi64 [mips64] , g++-8-mips64el-linux-gnuabi64 [mips64el] , gobjc-8-mips64el-linux-gnuabi64 [mips64el] , gfortran-8-mips64el-linux-gnuabi64 [mips64el] , gdc-8-mips64el-linux-gnuabi64 [mips64el] , gccgo-8-mips64el-linux-gnuabi64 [mips64el] , gnat-8-mips64el-linux-gnuabi64 [mips64el] , g++-8-mips64-linux-gnuabin32 [mipsn32] , gobjc-8-mips64-linux-gnuabin32 [mipsn32] , gfortran-8-mips64-linux-gnuabin32 [mipsn32] , gdc-8-mips64-linux-gnuabin32 [mipsn32] , gccgo-8-mips64-linux-gnuabin32 [mipsn32] , gnat-8-mips64-linux-gnuabin32 [mipsn32] , g++-8-powerpc-linux-gnu [powerpc] , gobjc-8-powerpc-linux-gnu [powerpc] , gfortran-8-powerpc-linux-gnu [powerpc] , gdc-8-powerpc-linux-gnu [powerpc] , gccgo-8-powerpc-linux-gnu [powerpc] , gnat-8-powerpc-linux-gnu [powerpc] , g++-8-powerpc-linux-gnuspe [powerpcspe] , gobjc-8-powerpc-linux-gnuspe [powerpcspe] , gfortran-8-powerpc-linux-gnuspe [powerpcspe] , gdc-8-powerpc-linux-gnuspe [powerpcspe] , gccgo-8-powerpc-linux-gnuspe [powerpcspe] , gnat-8-powerpc-linux-gnuspe [powerpcspe] , g++-8-powerpc64-linux-gnu [ppc64] , gobjc-8-powerpc64-linux-gnu [ppc64] , gfortran-8-powerpc64-linux-gnu [ppc64] , gdc-8-powerpc64-linux-gnu [ppc64] , gccgo-8-powerpc64-linux-gnu [ppc64] , gnat-8-powerpc64-linux-gnu [ppc64] , g++-8-powerpc64le-linux-gnu [ppc64el] , gobjc-8-powerpc64le-linux-gnu [ppc64el] , gfortran-8-powerpc64le-linux-gnu [ppc64el] , gdc-8-powerpc64le-linux-gnu [ppc64el] , gccgo-8-powerpc64le-linux-gnu [ppc64el] , gnat-8-powerpc64le-linux-gnu [ppc64el] , g++-8-m68k-linux-gnu [m68k] , gobjc-8-m68k-linux-gnu [m68k] , gfortran-8-m68k-linux-gnu [m68k] , gdc-8-m68k-linux-gnu [m68k] , g++-8-sh4-linux-gnu [sh4] , gobjc-8-sh4-linux-gnu [sh4] , gfortran-8-sh4-linux-gnu [sh4] , gnat-8-sh4-linux-gnu [sh4] , g++-8-sparc64-linux-gnu [sparc64] , gobjc-8-sparc64-linux-gnu [sparc64] , gfortran-8-sparc64-linux-gnu [sparc64] , gdc-8-sparc64-linux-gnu [sparc64] , gccgo-8-sparc64-linux-gnu [sparc64] , gnat-8-sparc64-linux-gnu [sparc64] , g++-8-s390x-linux-gnu [s390x] , gobjc-8-s390x-linux-gnu [s390x] , gfortran-8-s390x-linux-gnu [s390x] , gdc-8-s390x-linux-gnu [s390x] , gccgo-8-s390x-linux-gnu [s390x] , gnat-8-s390x-linux-gnu [s390x] , g++-8-x86-64-linux-gnux32 [x32] , gobjc-8-x86-64-linux-gnux32 [x32] , gfortran-8-x86-64-linux-gnux32 [x32] , gdc-8-x86-64-linux-gnux32 [x32] , gccgo-8-x86-64-linux-gnux32 [x32] , gnat-8-x86-64-linux-gnux32 [x32] , g++-8-mips64el-linux-gnuabin32 [mipsn32el] , gobjc-8-mips64el-linux-gnuabin32 [mipsn32el] , gfortran-8-mips64el-linux-gnuabin32 [mipsn32el] , gdc-8-mips64el-linux-gnuabin32 [mipsn32el] , gccgo-8-mips64el-linux-gnuabin32 [mipsn32el] , gnat-8-mips64el-linux-gnuabin32 [mipsn32el] , g++-8-mipsisa32r6-linux-gnu [mipsr6] , gobjc-8-mipsisa32r6-linux-gnu [mipsr6] , gfortran-8-mipsisa32r6-linux-gnu [mipsr6] , gdc-8-mipsisa32r6-linux-gnu [mipsr6] , gccgo-8-mipsisa32r6-linux-gnu [mipsr6] , gnat-8-mipsisa32r6-linux-gnu [mipsr6] , g++-8-mipsisa32r6el-linux-gnu [mipsr6el] , gobjc-8-mipsisa32r6el-linux-gnu [mipsr6el] , gfortran-8-mipsisa32r6el-linux-gnu [mipsr6el] , gdc-8-mipsisa32r6el-linux-gnu [mipsr6el] , gccgo-8-mipsisa32r6el-linux-gnu [mipsr6el] , gnat-8-mipsisa32r6el-linux-gnu [mipsr6el] , g++-8-mipsisa64r6-linux-gnuabi64 [mips64r6] , gobjc-8-mipsisa64r6-linux-gnuabi64 [mips64r6] , gfortran-8-mipsisa64r6-linux-gnuabi64 [mips64r6] , gdc-8-mipsisa64r6-linux-gnuabi64 [mips64r6] , gccgo-8-mipsisa64r6-linux-gnuabi64 [mips64r6] , gnat-8-mipsisa64r6-linux-gnuabi64 [mips64r6] , g++-8-mipsisa64r6el-linux-gnuabi64 [mips64r6el] , gobjc-8-mipsisa64r6el-linux-gnuabi64 [mips64r6el] , gfortran-8-mipsisa64r6el-linux-gnuabi64 [mips64r6el] , gdc-8-mipsisa64r6el-linux-gnuabi64 [mips64r6el] , gccgo-8-mipsisa64r6el-linux-gnuabi64 [mips64r6el] , gnat-8-mipsisa64r6el-linux-gnuabi64 [mips64r6el] , g++-8-mipsisa64r6-linux-gnuabin32 [mipsn32r6] , gobjc-8-mipsisa64r6-linux-gnuabin32 [mipsn32r6] , gfortran-8-mipsisa64r6-linux-gnuabin32 [mipsn32r6] , gdc-8-mipsisa64r6-linux-gnuabin32 [mipsn32r6] , gccgo-8-mipsisa64r6-linux-gnuabin32 [mipsn32r6] , gnat-8-mipsisa64r6-linux-gnuabin32 [mipsn32r6] , g++-8-mipsisa64r6el-linux-gnuabin32 [mipsn32r6el] , gobjc-8-mipsisa64r6el-linux-gnuabin32 [mipsn32r6el] , gfortran-8-mipsisa64r6el-linux-gnuabin32 [mipsn32r6el] , gdc-8-mipsisa64r6el-linux-gnuabin32 [mipsn32r6el] , gccgo-8-mipsisa64r6el-linux-gnuabin32 [mipsn32r6el] , gnat-8-mipsisa64r6el-linux-gnuabin32 [mipsn32r6el] , +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: https://salsa.debian.org/toolchain-team/gcc/tree/gcc-8-debian +Vcs-Git: https://salsa.debian.org/toolchain-team/gcc.git -b gcc-8-debian +XS-Testsuite: autopkgtest + +Package: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: any +Section: libs +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: any +Section: debug +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: m68k +Section: libs +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: m68k +Section: debug +Priority: optional +Depends: gcc-8-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-8-dev +X-DH-Build-For-Type: target +Architecture: any +Section: libdevel +Priority: optional +Recommends: ${dep:libcdev} +Depends: gcc-8-base (= ${gcc:Version}), ${dep:libgcc}, ${dep:libssp}, ${dep:libgomp}, ${dep:libitm}, + ${dep:libatomic}, ${dep:libbtrace}, ${dep:libasan}, ${dep:liblsan}, + ${dep:libtsan}, ${dep:libubsan}, ${dep:libvtv}, + ${dep:libmpx}, + ${dep:libqmath}, ${dep:libunwinddev}, ${shlibs:Depends}, ${misc:Depends} +Multi-Arch: same +Replaces: gccgo-8 (<< ${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 +X-DH-Build-For-Type: target +Architecture: hppa +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Breaks: ${multiarch:breaks} +Section: libs +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: hppa +Multi-Arch: same +Section: debug +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libgcc4 (= ${gcc:EpochVersion}), ${misc:Depends} +Description: GCC support library (debug symbols) + Debug symbols for the GCC support library. + +Package: lib64gcc1 +X-DH-Build-For-Type: target +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Section: libs +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Section: debug +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), lib64gcc1 (= ${gcc:EpochVersion}), ${misc:Depends} +Description: GCC support library (debug symbols) + Debug symbols for the GCC support library. + +Package: lib64gcc-8-dev +X-DH-Build-For-Type: target +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Section: libdevel +Priority: optional +Recommends: ${dep:libcdev} +Depends: gcc-8-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:libmpxbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: gccgo-8-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 +X-DH-Build-For-Type: target +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Section: libs +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Section: debug +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), lib32gcc1 (= ${gcc:EpochVersion}), ${misc:Depends} +Description: GCC support library (debug symbols) + Debug symbols for the GCC support library. + +Package: lib32gcc-8-dev +X-DH-Build-For-Type: target +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Section: libdevel +Priority: optional +Recommends: ${dep:libcdev} +Depends: gcc-8-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:libmpxbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: gccgo-8-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: libn32gcc1 +X-DH-Build-For-Type: target +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Section: libs +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Section: debug +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libn32gcc1 (= ${gcc:EpochVersion}), ${misc:Depends} +Description: GCC support library (debug symbols) + Debug symbols for the GCC support library. + +Package: libn32gcc-8-dev +X-DH-Build-For-Type: target +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Section: libdevel +Priority: optional +Recommends: ${dep:libcdev} +Depends: gcc-8-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:libmpxbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: gccgo-8-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 +X-DH-Build-For-Type: target +Architecture: amd64 i386 +Section: libs +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: amd64 i386 +Section: debug +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libx32gcc1 (= ${gcc:EpochVersion}), ${misc:Depends} +Description: GCC support library (debug symbols) + Debug symbols for the GCC support library. + +Package: libx32gcc-8-dev +X-DH-Build-For-Type: target +Architecture: amd64 i386 +Section: libdevel +Priority: optional +Recommends: ${dep:libcdev} +Depends: gcc-8-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:libmpxbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: gccgo-8-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-8 +Architecture: any +Section: devel +Priority: optional +Depends: cpp-8 (= ${gcc:Version}), gcc-8-base (= ${gcc:Version}), + ${dep:libcc1}, + binutils (>= ${binutils:Version}), + ${dep:libgccdev}, ${shlibs:Depends}, ${misc:Depends} +Recommends: ${dep:libcdev} +Replaces: gccgo-8 (<< ${gcc:Version}), cpp-8 (<< 7.1.1-8) +Suggests: ${gcc:multilib}, gcc-8-doc (>= ${gcc:SoftVersion}), + gcc-8-locales (>= ${gcc:SoftVersion}), + libgcc1-dbg (>= ${libgcc:Version}), + libgomp1-dbg (>= ${gcc:Version}), + libitm1-dbg (>= ${gcc:Version}), + libatomic1-dbg (>= ${gcc:Version}), + libasan5-dbg (>= ${gcc:Version}), + liblsan0-dbg (>= ${gcc:Version}), + libtsan0-dbg (>= ${gcc:Version}), + libubsan1-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-8-multilib +Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 s390 s390x sparc sparc64 x32 +Section: devel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), gcc-8 (= ${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-8-test-results +Architecture: any +Section: devel +Priority: optional +Depends: gcc-8-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-8-plugin-dev +Architecture: any +Section: devel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), gcc-8 (= ${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-8-hppa64-linux-gnu +Architecture: hppa amd64 i386 x32 +Section: devel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), gcc-8 (= ${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-8 +Architecture: any +Section: interpreters +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc-8-locales (>= ${gcc:SoftVersion}) +Replaces: gccgo-8 (<< ${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: gcc-8-locales +Architecture: all +Section: devel +Priority: optional +Depends: gcc-8-base (>= ${gcc:SoftVersion}), cpp-8 (>= ${gcc:SoftVersion}), ${misc:Depends} +Recommends: gcc-8 (>= ${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++-8 +Architecture: any +Section: devel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), gcc-8 (= ${gcc:Version}), libstdc++-8-dev (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: c++-compiler, c++abi2-dev +Suggests: ${gxx:multilib}, gcc-8-doc (>= ${gcc:SoftVersion}), libstdc++6-8-dbg (>= ${gcc:Version}) +Description: GNU C++ compiler + This is the GNU C++ compiler, a fairly portable optimizing compiler for C++. + +Package: g++-8-multilib +Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 s390 s390x sparc sparc64 x32 +Section: devel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), g++-8 (= ${gcc:Version}), gcc-8-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 +X-DH-Build-For-Type: target +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-8-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 +X-DH-Build-For-Type: target +Architecture: any +Section: debug +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Section: debug +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Section: debug +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Section: libs +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Section: debug +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 i386 +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: amd64 i386 +Section: debug +Priority: optional +Depends: gcc-8-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: libitm1 +X-DH-Build-For-Type: target +Section: libs +Architecture: any +Provides: libitm1-armel [armel], libitm1-armhf [armhf] +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: any +Section: debug +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Section: debug +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Section: debug +Priority: optional +Depends: gcc-8-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: 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: optional +#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 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 i386 +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: amd64 i386 +Section: debug +Priority: optional +Depends: gcc-8-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: libatomic1 +X-DH-Build-For-Type: target +Section: libs +Architecture: any +Provides: libatomic1-armel [armel], libatomic1-armhf [armhf] +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: any +Section: debug +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Section: debug +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Section: debug +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Section: libs +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Section: debug +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 i386 +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: amd64 i386 +Section: debug +Priority: optional +Depends: gcc-8-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: libasan5 +X-DH-Build-For-Type: target +Section: libs +Architecture: any +Provides: libasan5-armel [armel], libasan5-armhf [armhf] +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-8-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: libasan5-dbg +X-DH-Build-For-Type: target +Architecture: any +Section: debug +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libasan5 (= ${gcc:Version}), ${misc:Depends} +Provides: libasan5-dbg-armel [armel], libasan5-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: lib32asan5 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Priority: optional +Depends: gcc-8-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: lib32asan5-dbg +X-DH-Build-For-Type: target +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Section: debug +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), lib32asan5 (= ${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: lib64asan5 +X-DH-Build-For-Type: target +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Priority: optional +Depends: gcc-8-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: lib64asan5-dbg +X-DH-Build-For-Type: target +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Section: debug +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), lib64asan5 (= ${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: optional +#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: optional +#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: libx32asan5 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 i386 +Priority: optional +Depends: gcc-8-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: libx32asan5-dbg +X-DH-Build-For-Type: target +Architecture: amd64 i386 +Section: debug +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libx32asan5 (= ${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: liblsan0 +X-DH-Build-For-Type: target +Section: libs +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: any +Section: debug +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Section: debug +Priority: optional +Depends: gcc-8-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: 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: optional +#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: 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: optional +#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 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 i386 +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: amd64 i386 +Section: debug +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Section: libs +Architecture: any +Provides: libtsan0-armel [armel], libtsan0-armhf [armhf] +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: any +Section: debug +Priority: optional +Depends: gcc-8-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: libubsan1 +X-DH-Build-For-Type: target +Section: libs +Architecture: any +Provides: libubsan1-armel [armel], libubsan1-armhf [armhf] +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-8-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: libubsan1-dbg +X-DH-Build-For-Type: target +Architecture: any +Section: debug +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libubsan1 (= ${gcc:Version}), ${misc:Depends} +Provides: libubsan1-dbg-armel [armel], libubsan1-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: lib32ubsan1 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Priority: optional +Depends: gcc-8-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: lib32ubsan1-dbg +X-DH-Build-For-Type: target +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Section: debug +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), lib32ubsan1 (= ${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: lib64ubsan1 +X-DH-Build-For-Type: target +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Priority: optional +Depends: gcc-8-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: lib64ubsan1-dbg +X-DH-Build-For-Type: target +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Section: debug +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), lib64ubsan1 (= ${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: 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: optional +#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: libx32ubsan1 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 i386 +Priority: optional +Depends: gcc-8-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: libx32ubsan1-dbg +X-DH-Build-For-Type: target +Architecture: amd64 i386 +Section: debug +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libx32ubsan1 (= ${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: libmpx2 +X-DH-Build-For-Type: target +Section: libs +Architecture: any +Provides: libmpx2-armel [armel], libmpx2-armhf [armhf] +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: any +Section: debug +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Section: debug +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Section: debug +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Section: libs +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: any +Section: debug +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Section: debug +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Section: debug +Priority: optional +Depends: gcc-8-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: 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: optional +#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 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 i386 +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: amd64 i386 +Section: debug +Priority: optional +Depends: gcc-8-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: libcc1-0 +Section: libs +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-8-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-8-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: optional +Depends: gcc-8-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-8-doc +Section: doc +Architecture: all +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), ${misc:Depends} +Conflicts: libgccjit-5-doc, libgccjit-6-doc, libgccjit-7-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-8-dev +Section: libdevel +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libgccjit0 (>= ${gcc:Version}), + ${shlibs:Depends}, ${misc:Depends} +Suggests: libgccjit-8-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++-8 +Architecture: any +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), gobjc-8 (= ${gcc:Version}), g++-8 (= ${gcc:Version}), ${shlibs:Depends}, libobjc-8-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjcxx:multilib}, gcc-8-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++-8-multilib +Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 s390 s390x sparc sparc64 x32 +Section: devel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), gobjc++-8 (= ${gcc:Version}), g++-8-multilib (= ${gcc:Version}), gobjc-8-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-8 +Architecture: any +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), gcc-8 (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, libobjc-8-dev (= ${gcc:Version}), ${misc:Depends} +Suggests: ${gobjc:multilib}, gcc-8-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-8-multilib +Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 s390 s390x sparc sparc64 x32 +Section: devel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), gobjc-8 (= ${gcc:Version}), gcc-8-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-8-dev +X-DH-Build-For-Type: target +Architecture: any +Section: libdevel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libgcc-8-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-8-dev +X-DH-Build-For-Type: target +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Section: libdevel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), lib64gcc-8-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-8-dev +X-DH-Build-For-Type: target +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Section: libdevel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), lib32gcc-8-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-8-dev +X-DH-Build-For-Type: target +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Section: libdevel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libn32gcc-8-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-8-dev +X-DH-Build-For-Type: target +Architecture: amd64 i386 +Section: libdevel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libx32gcc-8-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: libobjc4 +X-DH-Build-For-Type: target +Section: libs +Architecture: any +Provides: libobjc4-armel [armel], libobjc4-armhf [armhf] +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Section: debug +Architecture: any +Provides: libobjc4-dbg-armel [armel], libobjc4-dbg-armhf [armhf] +Multi-Arch: same +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Section: debug +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Section: debug +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Section: libs +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Section: debug +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 i386 +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Section: debug +Architecture: amd64 i386 +Priority: optional +Depends: gcc-8-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: gfortran-8 +Architecture: any +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), gcc-8 (= ${gcc:Version}), libgfortran-8-dev (= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Provides: fortran95-compiler, ${fortran:mod-version} +Suggests: ${gfortran:multilib}, gfortran-8-doc, + libgfortran5-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-8-multilib +Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 s390 s390x sparc sparc64 x32 +Section: devel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), gfortran-8 (= ${gcc:Version}), gcc-8-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: libgfortran-8-dev +X-DH-Build-For-Type: target +Architecture: any +Section: libdevel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libgcc-8-dev (= ${gcc:Version}), libgfortran5 (>= ${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-8-dev +X-DH-Build-For-Type: target +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Section: libdevel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), lib64gcc-8-dev (= ${gcc:Version}), lib64gfortran5 (>= ${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-8-dev +X-DH-Build-For-Type: target +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Section: libdevel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), lib32gcc-8-dev (= ${gcc:Version}), lib32gfortran5 (>= ${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-8-dev +X-DH-Build-For-Type: target +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Section: libdevel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libn32gcc-8-dev (= ${gcc:Version}), libn32gfortran5 (>= ${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-8-dev +X-DH-Build-For-Type: target +Architecture: amd64 i386 +Section: libdevel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libx32gcc-8-dev (= ${gcc:Version}), libx32gfortran5 (>= ${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: libgfortran5 +X-DH-Build-For-Type: target +Section: libs +Architecture: any +Provides: libgfortran5-armel [armel], libgfortran5-armhf [armhf] +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Breaks: ${multiarch:breaks} +Priority: optional +Depends: gcc-8-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: libgfortran5-dbg +X-DH-Build-For-Type: target +Section: debug +Architecture: any +Provides: libgfortran5-dbg-armel [armel], libgfortran5-dbg-armhf [armhf] +Multi-Arch: same +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libgfortran5 (= ${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: lib64gfortran5 +X-DH-Build-For-Type: target +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Priority: optional +Depends: gcc-8-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: lib64gfortran5-dbg +X-DH-Build-For-Type: target +Section: debug +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), lib64gfortran5 (= ${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: lib32gfortran5 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Priority: optional +Depends: gcc-8-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: lib32gfortran5-dbg +X-DH-Build-For-Type: target +Section: debug +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), lib32gfortran5 (= ${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: libn32gfortran5 +X-DH-Build-For-Type: target +Section: libs +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Priority: optional +Depends: gcc-8-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: libn32gfortran5-dbg +X-DH-Build-For-Type: target +Section: debug +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libn32gfortran5 (= ${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: libx32gfortran5 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 i386 +Priority: optional +Depends: gcc-8-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: libx32gfortran5-dbg +X-DH-Build-For-Type: target +Section: debug +Architecture: amd64 i386 +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libx32gfortran5 (= ${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: gccgo-8 +Architecture: any +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), gcc-8 (= ${gcc:Version}), libgo13 (>= ${gcc:Version}), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Provides: go-compiler +Suggests: ${go:multilib}, gccgo-8-doc, libgo13-dbg (>= ${gcc:Version}) +Conflicts: ${golang:Conflicts} +Breaks: libgo12 (<< 8-20171209-2) +Replaces: libgo12 (<< 8-20171209-2) +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-8-multilib +Architecture: amd64 i386 kfreebsd-amd64 mips mips64 mips64el mips64r6 mips64r6el mipsel mipsn32 mipsn32el mipsn32r6 mipsn32r6el mipsr6 mipsr6el powerpc ppc64 s390 s390x sparc sparc64 x32 +Section: devel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), gccgo-8 (= ${gcc:Version}), gcc-8-multilib (= ${gcc:Version}), ${dep:libgobiarch}, ${shlibs:Depends}, ${misc:Depends} +Suggests: ${dep:libgobiarchdbg} +Breaks: lib32go12 (<< 8-20171209-2), + libn32go12 (<< 8-20171209-2), + libx32go12 (<< 8-20171209-2), + lib64go12 (<< 8-20171209-2) +Replaces: lib32go12 (<< 8-20171209-2), + libn32go12 (<< 8-20171209-2), + libx32go12 (<< 8-20171209-2), + lib64go12 (<< 8-20171209-2) +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: libgo13 +X-DH-Build-For-Type: target +Section: libs +Architecture: any +Provides: libgo13-armel [armel], libgo13-armhf [armhf] +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-8-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: libgo13-dbg +X-DH-Build-For-Type: target +Section: debug +Architecture: any +Provides: libgo13-dbg-armel [armel], libgo13-dbg-armhf [armhf] +Multi-Arch: same +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libgo13 (= ${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: lib64go13 +X-DH-Build-For-Type: target +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Priority: optional +Depends: gcc-8-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: lib64go13-dbg +X-DH-Build-For-Type: target +Section: debug +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), lib64go13 (= ${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: lib32go13 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Priority: optional +Depends: gcc-8-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: lib32go13-dbg +X-DH-Build-For-Type: target +Section: debug +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), lib32go13 (= ${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: libn32go13 +X-DH-Build-For-Type: target +Section: libs +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Priority: optional +Depends: gcc-8-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: libn32go13-dbg +X-DH-Build-For-Type: target +Section: debug +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libn32go13 (= ${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: libx32go13 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 i386 +Priority: optional +Depends: gcc-8-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: libx32go13-dbg +X-DH-Build-For-Type: target +Section: debug +Architecture: amd64 i386 +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libx32go13 (= ${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 +X-DH-Build-For-Type: target +Architecture: any +Section: libs +Priority: optional +Depends: gcc-8-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}, +Conflicts: scim (<< 1.4.2-1) +Replaces: libstdc++6-8-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 +X-DH-Build-For-Type: target +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Section: libs +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Section: libs +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Section: libs +Priority: optional +Depends: gcc-8-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 +X-DH-Build-For-Type: target +Architecture: amd64 i386 +Section: libs +Priority: optional +Depends: gcc-8-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: libstdc++-8-dev +X-DH-Build-For-Type: target +Architecture: any +Multi-Arch: same +Section: libdevel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libgcc-8-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++-8-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++-8-pic +X-DH-Build-For-Type: target +Architecture: any +Multi-Arch: same +Section: libdevel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libstdc++6 (>= ${gcc:Version}), + libstdc++-8-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-8-dbg +X-DH-Build-For-Type: target +Architecture: any +Section: debug +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libstdc++6 (>= ${gcc:Version}), + libgcc1-dbg (>= ${libgcc:Version}), ${shlibs:Depends}, ${misc:Depends} +Provides: libstdc++6-8-dbg-armel [armel], libstdc++6-8-dbg-armhf [armhf] +Multi-Arch: same +Recommends: libstdc++-8-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, + libstdc++6-7-dbg +Description: GNU Standard C++ Library v3 (debugging files) + This package contains the shared library of libstdc++ compiled with + debugging symbols. + +Package: lib32stdc++-8-dev +X-DH-Build-For-Type: target +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Section: libdevel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), lib32gcc-8-dev (= ${gcc:Version}), + lib32stdc++6 (>= ${gcc:Version}), libstdc++-8-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-8-dbg +X-DH-Build-For-Type: target +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Section: debug +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), lib32stdc++6 (>= ${gcc:Version}), + libstdc++-8-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, lib32stdc++6-7-dbg +Description: GNU Standard C++ Library v3 (debugging files) + This package contains the shared library of libstdc++ compiled with + debugging symbols. + +Package: lib64stdc++-8-dev +X-DH-Build-For-Type: target +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Section: libdevel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), lib64gcc-8-dev (= ${gcc:Version}), + lib64stdc++6 (>= ${gcc:Version}), libstdc++-8-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-8-dbg +X-DH-Build-For-Type: target +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Section: debug +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), lib64stdc++6 (>= ${gcc:Version}), + libstdc++-8-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, lib64stdc++6-7-dbg, +Description: GNU Standard C++ Library v3 (debugging files) + This package contains the shared library of libstdc++ compiled with + debugging symbols. + +Package: libn32stdc++-8-dev +X-DH-Build-For-Type: target +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Section: libdevel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libn32gcc-8-dev (= ${gcc:Version}), + libn32stdc++6 (>= ${gcc:Version}), libstdc++-8-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-8-dbg +X-DH-Build-For-Type: target +Architecture: mips mipsel mips64 mips64el mipsr6 mipsr6el mips64r6 mips64r6el +Section: debug +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libn32stdc++6 (>= ${gcc:Version}), + libstdc++-8-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, libn32stdc++6-7-dbg, +Description: GNU Standard C++ Library v3 (debugging files) + This package contains the shared library of libstdc++ compiled with + debugging symbols. + +Package: libx32stdc++-8-dev +X-DH-Build-For-Type: target +Architecture: amd64 i386 +Section: libdevel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libx32gcc-8-dev (= ${gcc:Version}), libx32stdc++6 (>= ${gcc:Version}), + libstdc++-8-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-8-dbg +X-DH-Build-For-Type: target +Architecture: amd64 i386 +Section: debug +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libx32stdc++6 (>= ${gcc:Version}), + libstdc++-8-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, libx32stdc++6-7-dbg, +Description: GNU Standard C++ Library v3 (debugging files) + This package contains the shared library of libstdc++ compiled with + debugging symbols. + +Package: libstdc++-8-doc +Architecture: all +Section: doc +Priority: optional +Depends: gcc-8-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, + libstdc++-7-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-8 +Architecture: any +Priority: optional +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-8-base (= ${gcc:Version}), gcc-8 (>= ${gcc:SoftVersion}), ${dep:libgnat}, ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +Suggests: gnat-8-doc, ada-reference-manual-2012, gnat-8-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, gnat-7, +# 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-8-sjlj +Architecture: any +Priority: optional +Pre-Depends: ${misc:Pre-Depends} +Depends: gcc-8-base (= ${gcc:Version}), gnat-8 (= ${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-8 +X-DH-Build-For-Type: target +Section: libs +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-8-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-8-dbg +X-DH-Build-For-Type: target +Section: debug +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libgnat-8 (= ${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: libgnatvsn8-dev +X-DH-Build-For-Type: target +Section: libdevel +Architecture: any +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), gnat-8 (= ${gnat:Version}), + libgnatvsn8 (= ${gnat:Version}), ${misc:Depends} +Conflicts: libgnatvsn-dev (<< 8), + libgnatvsn4.1-dev, libgnatvsn4.3-dev, libgnatvsn4.4-dev, + libgnatvsn4.5-dev, libgnatvsn4.6-dev, libgnatvsn4.9-dev, + libgnatvsn5-dev, libgnatvsn6-dev, libgnatvsn7-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: libgnatvsn8 +X-DH-Build-For-Type: target +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Section: libs +Depends: gcc-8-base (= ${gcc:Version}), libgnat-8 (= ${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: libgnatvsn8-dbg +X-DH-Build-For-Type: target +Architecture: any +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Priority: optional +Section: debug +Depends: gcc-8-base (= ${gcc:Version}), libgnatvsn8 (= ${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: gdc-8 +Architecture: any +Priority: optional +Depends: gcc-8-base (>= ${gcc:SoftVersion}), g++-8 (>= ${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-8-multilib +Architecture: any +Priority: optional +Depends: gcc-8-base (>= ${gcc:SoftVersion}), gdc-8 (= ${gcc:Version}), gcc-8-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-8-dev +X-DH-Build-For-Type: target +Architecture: amd64 arm64 armel armhf i386 x32 kfreebsd-amd64 kfreebsd-i386 +Multi-Arch: same +Section: libdevel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libgphobos76 (>= ${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: lib64gphobos-8-dev +X-DH-Build-For-Type: target +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Section: libdevel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), lib64gphobos76 (>= ${gdc:Version}), + lib64gcc-8-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: lib32gphobos-8-dev +X-DH-Build-For-Type: target +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Section: libdevel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), lib32gphobos76 (>= ${gdc:Version}), + lib32gcc-8-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: libx32gphobos-8-dev +X-DH-Build-For-Type: target +Architecture: amd64 i386 +Section: libdevel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libx32gphobos76 (>= ${gdc:Version}), + libx32gcc-8-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: libgphobos76 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 arm64 armel armhf i386 x32 kfreebsd-amd64 kfreebsd-i386 +Multi-Arch: same +Priority: optional +Depends: gcc-8-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: libgphobos76-dbg +X-DH-Build-For-Type: target +Section: debug +Architecture: amd64 arm64 armel armhf i386 x32 kfreebsd-amd64 kfreebsd-i386 +Multi-Arch: same +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libgphobos76 (= ${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: lib64gphobos76 +X-DH-Build-For-Type: target +Section: libs +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Priority: optional +Depends: gcc-8-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: lib64gphobos76-dbg +X-DH-Build-For-Type: target +Section: debug +Architecture: i386 powerpc sparc s390 mips mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el x32 +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), lib64gphobos76 (= ${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: lib32gphobos76 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Priority: optional +Depends: gcc-8-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: lib32gphobos76-dbg +X-DH-Build-For-Type: target +Section: debug +Architecture: amd64 ppc64 kfreebsd-amd64 s390x sparc64 x32 mipsn32 mipsn32el mips64 mips64el mipsn32r6 mipsn32r6el mips64r6 mips64r6el +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), lib32gphobos76 (= ${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: libx32gphobos76 +X-DH-Build-For-Type: target +Section: libs +Architecture: amd64 i386 +Priority: optional +Depends: gcc-8-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: libx32gphobos76-dbg +X-DH-Build-For-Type: target +Section: debug +Architecture: amd64 i386 +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libx32gphobos76 (= ${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: gccbrig-8 +Architecture: any +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), gcc-8 (= ${gcc:Version}), ${dep:libcdev}, + hsail-tools, + ${shlibs:Depends}, libhsail-rt-8-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-8-dev +X-DH-Build-For-Type: target +Architecture: any +Section: libdevel +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), libgcc-8-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 +X-DH-Build-For-Type: target +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-8-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 +X-DH-Build-For-Type: target +Section: debug +Architecture: any +Provides: libhsail-rt0-dbg-armel [armel], libhsail-rt0-dbg-armhf [armhf] +Multi-Arch: same +Priority: optional +Depends: gcc-8-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-8-base (= ${gcc:Version}), gcc-8 (= ${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-8-offload-nvptx +Architecture: amd64 +Priority: optional +Depends: gcc-8-base (= ${gcc:Version}), gcc-8 (= ${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-8-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-8-source +Architecture: all +Priority: optional +Depends: make, autoconf2.64, quilt, patchutils, sharutils, gawk, lsb-release, + ${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-8-8.2.0.orig/debian/control.m4 +++ gcc-8-8.2.0/debian/control.m4 @@ -0,0 +1,5672 @@ +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} +')) +define(`TARGET_PACKAGE',`X-DH-Build-For-Type: target +') + +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: 4.3.0 +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], + dwz, 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, + zlib1g-dev, gawk, lzma, xz-utils, patchutils, + pkg-config, libgc-dev, + zlib1g-dev, SDT_BUILD_DEP + bison (>= 1:2.3), flex, coreutils (>= 2.26) | 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 + dwz, libunwind8-dev [ia64], libatomic-ops-dev [ia64], + 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 [!riscv64], 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 coreutils (>= 2.26) | 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: https://salsa.debian.org/toolchain-team/gcc/tree/gcc-8-debian +Vcs-Git: https://salsa.debian.org/toolchain-team/gcc.git -b gcc-8-debian +XS-Testsuite: autopkgtest + +ifelse(regexp(SRCNAME, `gcc-snapshot'),0,`dnl +Package: gcc-snapshot`'TS +Architecture: any +Section: devel +Priority: optional +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',`optional',`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',`optional',`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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: ifdef(`TARGET',`devel',`libs') +Priority: optional +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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`m68k') +Section: ifdef(`TARGET',`devel',`libs') +Priority: optional +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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`m68k') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: libdevel +Priority: 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:libvtv}, + ${dep:libmpx}, + ${dep:libqmath}, ${dep:libunwinddev}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Replaces: gccgo-8 (<< ${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 +TARGET_PACKAGE`'dnl +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: optional +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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`hppa') +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: libdevel +Priority: 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:libmpxbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: gccgo-8-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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: libdevel +Priority: 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:libmpxbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: gccgo-8-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 +TARGET_PACKAGE`'dnl +Architecture: NEON_ARCHS +Section: libs +Priority: optional +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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: libdevel +Priority: 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:libmpxbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: gccgo-8-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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: libdevel +Priority: 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:libmpxbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: gccgo-8-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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: libdevel +Priority: 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:libmpxbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: gccgo-8-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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: libdevel +Priority: 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:libmpxbiarch}, + ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends} +Replaces: gccgo-8-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: 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-8 (<< ${gcc:Version}), cpp`'PV`'TS (<< 7.1.1-8) +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(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: 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: optional +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: 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: optional +Depends: BASEDEP, ${shlibs:Depends}, ${misc:Depends} +Suggests: gcc`'PV-locales (>= ${gcc:SoftVersion}) +Replaces: gccgo-8 (<< ${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: 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: 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 +TARGET_PACKAGE`'dnl +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 +TARGET_PACKAGE`'dnl +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 +TARGET_PACKAGE`'dnl +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 +TARGET_PACKAGE`'dnl +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 +TARGET_PACKAGE`'dnl +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 +TARGET_PACKAGE`'dnl +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 +TARGET_PACKAGE`'dnl +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 +TARGET_PACKAGE`'dnl +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: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Architecture: NEON_ARCHS +Section: libs +Priority: optional +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 +TARGET_PACKAGE`'dnl +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: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Priority: optional +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: 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: optional +#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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Architecture: NEON_ARCHS +Section: libs +Priority: optional +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 +TARGET_PACKAGE`'dnl +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: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Architecture: NEON_ARCHS +Section: libs +Priority: optional +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 +TARGET_PACKAGE`'dnl +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: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Priority: optional +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: optional +#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: optional +#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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: optional +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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: optional +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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Architecture: NEON_ARCHS +Section: libs +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Priority: optional +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: 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: optional +#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: 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: optional +#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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Architecture: NEON_ARCHS +Section: libs +Priority: optional +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 +TARGET_PACKAGE`'dnl +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: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Architecture: NEON_ARCHS +Section: libs +Priority: optional +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 +TARGET_PACKAGE`'dnl +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: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Priority: optional +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: 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: optional +#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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Architecture: NEON_ARCHS +Section: libs +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Architecture: NEON_ARCHS +Section: libs +Priority: optional +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(`libmpx',` +Package: libmpx`'MPX_SO`'LS +TARGET_PACKAGE`'dnl +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: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +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: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Architecture: NEON_ARCHS +Section: libs +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Priority: optional +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: 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: optional +#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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: debug +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: debug +Priority: optional +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: 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: 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: optional +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: optional +Depends: BASEDEP, ${misc:Depends} +Conflicts: libgccjit-5-doc, libgccjit-6-doc, libgccjit-7-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: 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: 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: 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: 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: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: libdevel +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: libdevel +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: libdevel +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: libdevel +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: libdevel +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: libdevel +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: libdevel +Priority: 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 +TARGET_PACKAGE`'dnl +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: 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 +TARGET_PACKAGE`'dnl +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: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: optional +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 +TARGET_PACKAGE`'dnl +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: optional +Depends: BASEDEP, gcc`'PV`'TS (= ${gcc:Version}), libidevdep(gfortran`'PV-dev,,=), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`',`Provides: fortran95-compiler, ${fortran:mod-version} +')dnl +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: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: ifdef(`TARGET',`devel',`libdevel') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: libdevel +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: libdevel +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: libdevel +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: libdevel +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: libdevel +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: libdevel +Priority: 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 +TARGET_PACKAGE`'dnl +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: 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 +TARGET_PACKAGE`'dnl +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: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: libs +Architecture: NEON_ARCHS +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Breaks: ${multiarch:breaks} +')`'dnl +Priority: optional +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: optional +Depends: BASEDEP, ifdef(`STANDALONEGO',`${dep:libcc1}, ',`gcc`'PV`'TS (= ${gcc:Version}), ')libidevdep(go`'GO_SO,,>=), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`',`Provides: go-compiler +')dnl +Suggests: ${go:multilib}, gccgo`'PV-doc, libdbgdep(go`'GO_SO-dbg,) +Conflicts: ${golang:Conflicts} +Breaks: libgo12`'LS (<< 8-20171209-2) +Replaces: libgo12`'LS (<< 8-20171209-2) +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: 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} +Breaks: lib32go12 (<< 8-20171209-2), + libn32go12`'LS (<< 8-20171209-2), + libx32go12`'LS (<< 8-20171209-2), + lib64go12`'LS (<< 8-20171209-2) +Replaces: lib32go12`'LS (<< 8-20171209-2), + libn32go12`'LS (<< 8-20171209-2), + libx32go12`'LS (<< 8-20171209-2), + lib64go12`'LS (<< 8-20171209-2) +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 +TARGET_PACKAGE`'dnl +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: 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 +TARGET_PACKAGE`'dnl +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: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: optional +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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: ifdef(`TARGET',`devel',`libs') +Priority: optional +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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: ifdef(`TARGET',`devel',`libs') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: NEON_ARCHS +Section: libs +Priority: optional +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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Section: ifdef(`TARGET',`devel',`libdevel') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Section: ifdef(`TARGET',`devel',`libdevel') +Priority: optional +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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: debug +Priority: optional +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, + libstdc++6-7-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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: ifdef(`TARGET',`devel',`libdevel') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: debug +Priority: optional +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, lib32stdc++6-7-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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: ifdef(`TARGET',`devel',`libdevel') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: debug +Priority: optional +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, lib64stdc++6-7-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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: ifdef(`TARGET',`devel',`libdevel') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: debug +Priority: optional +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, libn32stdc++6-7-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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: ifdef(`TARGET',`devel',`libdevel') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: debug +Priority: optional +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, libx32stdc++6-7-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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: ifdef(`TARGET',`devel',`libdevel') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: debug +Priority: optional +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, libhfstdc++6-7-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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: ifdef(`TARGET',`devel',`libdevel') +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: debug +Priority: optional +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, libhfstdc++6-7-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, + libstdc++-7-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: 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, gnat-7`'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: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Priority: optional +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. + +ifdef(`TARGET',`',` +Package: libgnatvsn`'GNAT_V-dev`'LS +TARGET_PACKAGE`'dnl +Section: libdevel +Architecture: any +Priority: optional +Depends: BASELDEP, gnat`'PV`'TS (= ${gnat:Version}), + libgnatvsn`'GNAT_V`'LS (= ${gnat:Version}), ${misc:Depends} +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, libgnatvsn7-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 +TARGET_PACKAGE`'dnl +Architecture: any +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Priority: PRI(optional) +Section: 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 +TARGET_PACKAGE`'dnl +Architecture: any +ifdef(`MULTIARCH', `Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +')`'dnl +Priority: optional +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 native +')`'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, gnat-7-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: optional +Depends: SOFTBASEDEP, g++`'PV`'TS (>= ${gcc:SoftVersion}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends} +ifdef(`TARGET',`',`Provides: gdc, d-compiler, d-v2-compiler +')dnl +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: 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(`libdevphobos',` +Package: libgphobos`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`libphobos_archs') +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Section: libdevel +Priority: 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: lib64gphobos`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: libdevel +Priority: optional +Depends: BASELDEP, lib64gphobos`'PHOBOS_V`'LS (>= ${gdc:Version}), + libdevdep(gcc`'PV-dev,64), ifdef(`TARGET',`',`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: lib32gphobos`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: libdevel +Priority: optional +Depends: BASELDEP, lib32gphobos`'PHOBOS_V`'LS (>= ${gdc:Version}), + libdevdep(gcc`'PV-dev,32), ifdef(`TARGET',`',`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/ + +ifenabled(`libdevn32phobos',` +Package: libn32gphobos`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: libdevel +Priority: optional +Depends: BASELDEP, libn32gphobos`'PHOBOS_V`'LS (>= ${gdc:Version}), + libdevdep(gcc`'PV-dev,n32), ifdef(`TARGET',`',`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/ +')`'dnl libn32phobos + +ifenabled(`libdevx32phobos',` +Package: libx32gphobos`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: libdevel +Priority: optional +Depends: BASELDEP, libx32gphobos`'PHOBOS_V`'LS (>= ${gdc:Version}), + libdevdep(gcc`'PV-dev,x32), ifdef(`TARGET',`',`${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/ +')`'dnl libx32phobos + +ifenabled(`armml',` +Package: libhfgphobos`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: libdevel +Priority: 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: libsfgphobos`'PV-dev`'LS +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: libdevel +Priority: 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/ +')`'dnl armml +')`'dnl libdevphobos + +ifenabled(`libphobos',` +Package: libgphobos`'PHOBOS_V`'LS +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`libphobos_archs') +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`libphobos_archs') +ifdef(`MULTIARCH', `Multi-Arch: same +')`'dnl +Priority: optional +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`'PHOBOS_V`'LS +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: optional +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`'PHOBOS_V`'LS +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: optional +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`'PHOBOS_V`'LS +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: optional +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`'PHOBOS_V`'LS +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: optional +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`'PHOBOS_V`'LS +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: optional +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`'PHOBOS_V`'LS +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: optional +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: 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: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`any') +Section: libdevel +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Section: libdevel +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Section: libdevel +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Section: libdevel +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Section: libdevel +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Section: libdevel +Priority: 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 +TARGET_PACKAGE`'dnl +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Section: libdevel +Priority: 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 +TARGET_PACKAGE`'dnl +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: 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 +TARGET_PACKAGE`'dnl +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: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch64_archs') +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarch32_archs') +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchn32_archs') +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchx32_archs') +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchhf_archs') +Priority: optional +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 +TARGET_PACKAGE`'dnl +Section: ifdef(`TARGET',`devel',`libs') +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: 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 +TARGET_PACKAGE`'dnl +Section: debug +Architecture: ifdef(`TARGET',`CROSS_ARCH',`biarchsf_archs') +Priority: optional +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: 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, lsb-release, + ${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-8-8.2.0.orig/debian/copyright +++ gcc-8-8.2.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-8 source package is taken from the SVN gcc-8-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-8 libgnat-8 gnat-8-doc +BRIG gccbrig-8 libhsail-rt0 +C gcc-8 gcc-8-doc +C++ g++-8 libstdc++6 libstdc++6-8-doc +D gdc-8 +Fortran 95 gfortran-8 libgfortran3 gfortran-8-doc +Go gccgo-8 libgo0 +Objective C gobjc-8 libobjc2 +Objective C++ gobjc++-8 + +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-8-dbg libstdc++6-8-pic +D libphobos-8-dev + +Additional packages include: + +All languages: +libgcc1, libgcc2, libgcc4 GCC intrinsics (platform-dependent) +gcc-8-base Base files common to all compilers +gcc-8-soft-float Software floating point (ARM only) +gcc-8-source The sources with patches + +Ada: +libgnatvsn-dev, libgnatvsn8 GNAT version library + +C: +cpp-8, cpp-8-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-8 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. + + +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-8 GNU D Compiler +libphobos-8-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-8-8.2.0.orig/debian/copyright.in +++ gcc-8-8.2.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. + + +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-8-8.2.0.orig/debian/cpp-BV-CRB.preinst.in +++ gcc-8-8.2.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-8-8.2.0.orig/debian/cpp-BV-doc.doc-base.cpp +++ gcc-8-8.2.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-8-8.2.0.orig/debian/cpp-BV-doc.doc-base.cppint +++ gcc-8-8.2.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-8-8.2.0.orig/debian/dh_doclink +++ gcc-8-8.2.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-8-8.2.0.orig/debian/dh_rmemptydirs +++ gcc-8-8.2.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-8-8.2.0.orig/debian/dummy-man.1 +++ gcc-8-8.2.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-8-8.2.0.orig/debian/dummy.texi +++ gcc-8-8.2.0/debian/dummy.texi @@ -0,0 +1 @@ +@c This file is empty because the original one has a non DFSG free license (GFDL) --- gcc-8-8.2.0.orig/debian/fixincludes.in +++ gcc-8-8.2.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-8-8.2.0.orig/debian/g++-BV-CRB.preinst.in +++ gcc-8-8.2.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-8-8.2.0.orig/debian/gcc-BV-CRB.preinst.in +++ gcc-8-8.2.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-8-8.2.0.orig/debian/gcc-BV-doc.doc-base.gcc +++ gcc-8-8.2.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-8-8.2.0.orig/debian/gcc-BV-doc.doc-base.gccint +++ gcc-8-8.2.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-8-8.2.0.orig/debian/gcc-BV-doc.doc-base.gomp +++ gcc-8-8.2.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-8-8.2.0.orig/debian/gcc-BV-doc.doc-base.itm +++ gcc-8-8.2.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-8-8.2.0.orig/debian/gcc-BV-doc.doc-base.qmath +++ gcc-8-8.2.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-8-8.2.0.orig/debian/gcc-BV-hppa64-linux-gnu.overrides +++ gcc-8-8.2.0/debian/gcc-BV-hppa64-linux-gnu.overrides @@ -0,0 +1,3 @@ +gcc-@BV@-hppa64-linux-gnu binary: binary-from-other-architecture +gcc-@BV@-hppa64-linux-gnu binary: binary-without-manpage +gcc-@BV@-hppa64-linux-gnu binary: hardening-no-pie --- gcc-8-8.2.0.orig/debian/gcc-BV-multilib.overrides +++ gcc-8-8.2.0/debian/gcc-BV-multilib.overrides @@ -0,0 +1 @@ +gcc-@BV@-multilib binary: binary-from-other-architecture --- gcc-8-8.2.0.orig/debian/gcc-BV-source.overrides +++ gcc-8-8.2.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-8-8.2.0.orig/debian/gcc-XX-BV.1 +++ gcc-8-8.2.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-8-8.2.0.orig/debian/gcc-dummy.texi +++ gcc-8-8.2.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-8-8.2.0.orig/debian/gcc-snapshot.overrides +++ gcc-8-8.2.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-8-8.2.0.orig/debian/gcc-snapshot.prerm +++ gcc-8-8.2.0/debian/gcc-snapshot.prerm @@ -0,0 +1,5 @@ +#! /bin/sh -e + +rm -f /usr/lib/gcc-snapshot/share/python/*.py[co] + +#DEBHELPER# --- gcc-8-8.2.0.orig/debian/gcc.css +++ gcc-8-8.2.0/debian/gcc.css @@ -0,0 +1,106 @@ +/* CSS for the GCC web site. + + Gerald Pfeifer + */ + +body { background-color: white; color: black; } + +a:link { color: #0066bb; text-decoration: none; } +a:visited { color: #003399; text-decoration: none; } +a:hover { color: darkorange; text-decoration: none; } + +h1 { color: darkslategray; text-align:center; } +h2 { color: darkslategray; } + +.highlight{ color: darkslategray; font-weight:bold; } +.smaller { font-size: 80%; } + +.no-margin-top { margin-top:0; } +.twocolumns { column-counts:2; -moz-column-count:2; } +.imgleft { margin: 5px 20px; float: left; } + +td.news { width: 50%; padding-right: 8px; } +td.news h2 { font-size: 1.2em; margin-top: 0; margin-bottom: 2%; } +td.news dl { margin-top:0; } +td.news dt { color:darkslategrey; font-weight:bold; margin-top:0.3em; } +td.news dd { margin-left:3ex; margin-top:0.1em; margin-bottom:0.1em; } +td.news .date { color:darkslategrey; font-size:90%; margin-left:0.1ex; } + +td.status { width: 50%; padding-left: 12px; border-left: #3366cc thin solid; } +td.status h2 { font-size: 1.2em; margin-top:0; margin-bottom: 1%; } +td.status dl { margin-top:0; } +td.status .version { font-weight:bold; } +td.status .regress { font-size: 80%; } +td.status dd { margin-left:3ex; } + +table.nav { + padding-left: 32px; + border-spacing: 0pt; +} + +table.navitem { + border-spacing: 0pt; +} + +table.navitem tr:nth-child(1) { + border-color: #3366cc; + border-style: solid; + border-width: thin; + color: #f2f2f9; + background-color: #0066dd; + font-weight: bold; +} +table.navitem tr:nth-child(2) { + padding-top: 3px; + padding-left: 8px; + padding-bottom: 3px; + background-color: #f2f2f9; + font-size: smaller; +} + +div.copyright { + font-size: smaller; + background: #f2f2f9; + border: 2px solid #3366cc; + border-style: solid; + border-width: thin; + padding: 4px; +} +div.copyright p:nth-child(3) { margin-bottom: 0; } + +.boldcyan { font-weight:bold; color:cyan; } +.boldlime { font-weight:bold; color:lime; } +.boldmagenta { font-weight:bold; color:magenta; } +.boldred { font-weight:bold; color:red; } +.boldblue { font-weight:bold; color:blue; } +.green { color:green; } + +/* Quote an e-mail. The first
has the sender, the second the quote. */ +blockquote.mail div:nth-child(2) { border-left: solid blue; padding-left: 4pt; } + +/* C++ status tables. */ +table.cxxstatus th, table.cxxstatus td { border: 1px solid gray; } +table.cxxstatus td:nth-child(3) { text-align:center; } +table.cxxstatus tr.separator { background: #f2f2f9; } + +.supported { background-color: lightgreen; } +.unsupported { background-color: lightsalmon; } + +/* Online documentation. */ + +pre.smallexample { + font-size: medium; + background: #f2f2f9; + padding: 4px; +} + +/* Classpath versus libgcj merge status page. */ + +.classpath-only { background-color: #FFFFAA; } +.libgcj-only { background-color: #FFFFAA; } +.VM-specific { background-color: #CCCCFF; } +.GCJ-specific { background-color: #CCCCFF; } +.needsmerge { background-color: #FF9090; } +.merged { background-color: #22FF22; } +.merged-expected-diff { background-color: #22FF22; } +.merged-unexpected-diff { background-color: #FF4444; } --- gcc-8-8.2.0.orig/debian/gccgo-BV-doc.doc-base +++ gcc-8-8.2.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-8-8.2.0.orig/debian/gen-libstdc-breaks.sh +++ gcc-8-8.2.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-8-8.2.0.orig/debian/gfortran-BV-CRB.preinst.in +++ gcc-8-8.2.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-8-8.2.0.orig/debian/gfortran-BV-doc.doc-base +++ gcc-8-8.2.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-8-8.2.0.orig/debian/gnat-BV-doc.doc-base.rm +++ gcc-8-8.2.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-8-8.2.0.orig/debian/gnat-BV-doc.doc-base.style +++ gcc-8-8.2.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-8-8.2.0.orig/debian/gnat-BV-doc.doc-base.ug +++ gcc-8-8.2.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-8-8.2.0.orig/debian/gnat.1 +++ gcc-8-8.2.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-8-8.2.0.orig/debian/lib32asan5.overrides +++ gcc-8-8.2.0/debian/lib32asan5.overrides @@ -0,0 +1,2 @@ +# automake gets it wrong for the multilib build +lib32asan5 binary: binary-or-shlib-defines-rpath --- gcc-8-8.2.0.orig/debian/lib32asan5.symbols +++ gcc-8-8.2.0/debian/lib32asan5.symbols @@ -0,0 +1,7 @@ +libasan.so.5 lib32asan5 #MINVER# +#include "libasan.symbols.common" +#include "libasan.symbols.32" + (arch=s390x)__interceptor___tls_get_addr_internal@Base 7 + (arch=s390x)__interceptor___tls_get_offset@Base 7 + (arch=s390x)__tls_get_addr_internal@Base 7 + (arch=s390x)__tls_get_offset@Base 7 --- gcc-8-8.2.0.orig/debian/lib32gccLC.postinst +++ gcc-8-8.2.0/debian/lib32gccLC.postinst @@ -0,0 +1,12 @@ +#! /bin/sh -e + +case "$1" in + configure) + docdir=/usr/share/doc/lib32gcc@LC@ + if [ -d $docdir ] && [ ! -h $docdir ]; then + rm -rf $docdir + ln -s gcc-@BV@-base $docdir + fi +esac + +#DEBHELPER# --- gcc-8-8.2.0.orig/debian/lib32gphobos68.lintian-overrides +++ gcc-8-8.2.0/debian/lib32gphobos68.lintian-overrides @@ -0,0 +1,2 @@ +# no usable zconf.h header in lib32z1-dev +lib32gphobos68 binary: embedded-library --- gcc-8-8.2.0.orig/debian/lib32stdc++6.symbols.amd64 +++ gcc-8-8.2.0/debian/lib32stdc++6.symbols.amd64 @@ -0,0 +1,14 @@ +libstdc++.so.6 lib32stdc++6 #MINVER# +#include "libstdc++6.symbols.32bit" +#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 --- gcc-8-8.2.0.orig/debian/lib32stdc++6.symbols.kfreebsd-amd64 +++ gcc-8-8.2.0/debian/lib32stdc++6.symbols.kfreebsd-amd64 @@ -0,0 +1,7 @@ +libstdc++.so.6 lib32stdc++6 #MINVER# +#include "libstdc++6.symbols.32bit" +#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 --- gcc-8-8.2.0.orig/debian/lib32stdc++6.symbols.ppc64 +++ gcc-8-8.2.0/debian/lib32stdc++6.symbols.ppc64 @@ -0,0 +1,9 @@ +libstdc++.so.6 lib32stdc++6 #MINVER# +#include "libstdc++6.symbols.32bit" +#include "libstdc++6.symbols.excprop" + __gxx_personality_v0@CXXABI_1.3 4.1.1 +#include "libstdc++6.symbols.glibcxxmath" +#include "libstdc++6.symbols.ldbl.32bit" +#include "libstdc++6.symbols.money.f128" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 --- gcc-8-8.2.0.orig/debian/lib32stdc++6.symbols.s390x +++ gcc-8-8.2.0/debian/lib32stdc++6.symbols.s390x @@ -0,0 +1,558 @@ +libstdc++.so.6 lib32stdc++6 #MINVER# +#include "libstdc++6.symbols.common" +#include "libstdc++6.symbols.excprop" +#include "libstdc++6.symbols.money.f128" + _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEm@GLIBCXX_3.4.2 4.1.1 + _ZN9__gnu_cxx17__pool_alloc_base9_M_refillEm@GLIBCXX_3.4.2 4.1.1 + _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcm@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEmm@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcm@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEmm@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx9free_list6_M_getEm@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2 + _ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2_@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@CXXABI_1.3 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@GLIBCXX_3.4.5 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE2atEm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE6substrEmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKw@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEmPKc@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEEixEm@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs15_M_check_lengthEmmPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs15_M_check_lengthEmmPKc@GLIBCXX_3.4.5 4.1.1 + _ZNKSs16find_last_not_ofEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs16find_last_not_ofEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs16find_last_not_ofERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs16find_last_not_ofEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs2atEm@GLIBCXX_3.4 4.1.1 + _ZNKSs4copyEPcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs4findEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs4findEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs4findERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs4findEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs6substrEmm@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEmmPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEmmPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEmmRKSs@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEmmRKSsmm@GLIBCXX_3.4 4.1.1 + _ZNKSs8_M_checkEmPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs8_M_limitEmm@GLIBCXX_3.4 4.1.1 + _ZNKSsixEm@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIcE6_M_putEPcmPKcPK2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIwE6_M_putEPwmPKwPK2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3 + _ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_m@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_m@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIcE12_M_transformEPcPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIwE12_M_transformEPwPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcmcRSt8ios_basePcS9_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcmcS6_PcS7_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcmwRSt8ios_basePwS9_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcmwPKwPwS9_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.14 4.5.0 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.14 4.5.0 + _ZNSbIwSt11char_traitsIwESaIwEE10_S_compareEmm@GLIBCXX_3.4.16 4.7 + _ZNKSt8valarrayImE4sizeEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEmwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEmmmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEmmPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE18_S_construct_aux_2EmwRKS1_@GLIBCXX_3.4.14 4.5.0 + _ZNSbIwSt11char_traitsIwESaIwEE2atEm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_m@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEmmRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE5eraseEmm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendEmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignEmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEmmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6resizeEm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_mw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEixEm@GLIBCXX_3.4 4.1.1 + _ZNSi3getEPci@GLIBCXX_3.4 4.1.1 + _ZNSi3getEPcic@GLIBCXX_3.4 4.1.1 + _ZNSi4readEPci@GLIBCXX_3.4 4.1.1 + _ZNSi5seekgExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSi6ignoreEi@GLIBCXX_3.4 4.1.1 + _ZNSi6ignoreEi@GLIBCXX_3.4.5 4.1.1 + _ZNSi6ignoreEii@GLIBCXX_3.4 4.1.1 + _ZNSi7getlineEPci@GLIBCXX_3.4 4.1.1 + _ZNSi7getlineEPcic@GLIBCXX_3.4 4.1.1 + _ZNSi8readsomeEPci@GLIBCXX_3.4 4.1.1 + _ZNSo5seekpExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSo5writeEPKci@GLIBCXX_3.4 4.1.1 + _ZNSo8_M_writeEPKci@GLIBCXX_3.4 4.1.1 + _ZNSs10_S_compareEmm@GLIBCXX_3.4.16 4.7 + _ZNSs12_S_constructEmcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSs14_M_replace_auxEmmmc@GLIBCXX_3.4 4.1.1 + _ZNSs15_M_replace_safeEmmPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs18_S_construct_aux_2EmcRKSaIcE@GLIBCXX_3.4.14 4.5.0 + _ZNSs2atEm@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4.5 4.1.1 + _ZNSs4_Rep8_M_cloneERKSaIcEm@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep9_S_createEmmRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSs5eraseEmm@GLIBCXX_3.4 4.1.1 + _ZNSs6appendEPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs6appendERKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSs6appendEmc@GLIBCXX_3.4 4.1.1 + _ZNSs6assignEPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs6assignERKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSs6assignEmc@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEmPKc@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEmPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEmRKSs@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEmRKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEmmc@GLIBCXX_3.4 4.1.1 + _ZNSs6resizeEm@GLIBCXX_3.4 4.1.1 + _ZNSs6resizeEmc@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_copyEPcPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_copyEPcPKcm@GLIBCXX_3.4.5 4.1.1 + _ZNSs7_M_moveEPcPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_moveEPcPKcm@GLIBCXX_3.4.5 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEmmPKc@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEmmPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEmmRKSs@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEmmRKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEmmmc@GLIBCXX_3.4 4.1.1 + _ZNSs7reserveEm@GLIBCXX_3.4 4.1.1 + _ZNSs9_M_assignEPcmc@GLIBCXX_3.4 4.1.1 + _ZNSs9_M_assignEPcmc@GLIBCXX_3.4.5 4.1.1 + _ZNSs9_M_mutateEmmm@GLIBCXX_3.4 4.1.1 + _ZNSsC1EPKcmRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC1ERKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSsC1ERKSsmmRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC1EmcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2EPKcmRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2ERKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSsC2ERKSsmmRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2EmcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsixEm@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC1EPKci@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC1EPci@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC2EPKci@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC2EPci@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE6xsgetnEPci@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE6xsputnEPKci@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE7seekoffExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE8xsputn_2EPKciS2_i@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf6setbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf8_M_allocEm@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf8_M_setupEPcS0_i@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPFPvmEPFvS0_E@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPKai@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPKci@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPKhi@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPaiS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPciS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPhiS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1Ei@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPFPvmEPFvS0_E@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPKai@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPKci@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPKhi@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPaiS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPciS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPhiS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2Ei@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPci@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4.5 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEij@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwiw@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_gbumpEi@GLIBCXX_3.4.16 4.7 + _ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_pbumpEi@GLIBCXX_3.4.16 4.7 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_gbumpEi@GLIBCXX_3.4.16 4.7 + _ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_pbumpEi@GLIBCXX_3.4.16 4.7 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8_M_pbumpEPcS4_x@GLIBCXX_3.4.16 4.7 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwmm@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8_M_pbumpEPwS4_x@GLIBCXX_3.4.16 4.7 + _ZNSt15messages_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb0EEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb0EEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb1EEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb1EEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb0EEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb0EEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb0EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb0EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb1EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb1EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb0EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb0EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb1EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb1EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC1EP15__locale_structPKtbm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC1EPKtbm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC2EP15__locale_structPKtbm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC2EPKtbm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@GLIBCXX_3.4 4.1.1 + _ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetEm@GLIBCXX_3.4.7 4.1.1 + _ZNSt6locale5_ImplC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC1ERKS0_m@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC2ERKS0_m@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImEC1ERKS0_@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImEC2ERKS0_@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImEixEm@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZSt11_Hash_bytesPKvmm@CXXABI_1.3.5 4.6 + _ZSt15_Fnv_hash_bytesPKvmm@CXXABI_1.3.5 4.6 + _ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_i@GLIBCXX_3.4.9 4.2.1 + _ZSt16__ostream_insertIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_i@GLIBCXX_3.4.9 4.2.1 + _ZSt17__copy_streambufsIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_@GLIBCXX_3.4.6 4.1.1 + _ZSt17__copy_streambufsIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_@GLIBCXX_3.4.6 4.1.1 + _ZSt17__verify_groupingPKcmRKSs@GLIBCXX_3.4.10 4.3 + _ZSt21__copy_streambufs_eofIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_Rb@GLIBCXX_3.4.9 4.2.1 + _ZSt21__copy_streambufs_eofIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_Rb@GLIBCXX_3.4.9 4.2.1 + _ZThn8_NSdD0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSdD1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSdD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSdD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSiD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSiD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSoD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSoD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt10istrstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt10istrstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt10ostrstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt10ostrstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1 + _Znam@GLIBCXX_3.4 4.1.1 + _ZnamRKSt9nothrow_t@GLIBCXX_3.4 4.1.1 + _Znwm@GLIBCXX_3.4 4.1.1 + _ZnwmRKSt9nothrow_t@GLIBCXX_3.4 4.1.1 + __gxx_personality_v0@CXXABI_1.3 4.1.1 +#include "libstdc++6.symbols.glibcxxmath" +#include "libstdc++6.symbols.ldbl.32bit.s390" + _ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@GLIBCXX_3.4 4.1.1 --- gcc-8-8.2.0.orig/debian/lib32stdc++6.symbols.sparc64 +++ gcc-8-8.2.0/debian/lib32stdc++6.symbols.sparc64 @@ -0,0 +1,9 @@ +libstdc++.so.6 lib32stdc++6 #MINVER# +#include "libstdc++6.symbols.32bit" +#include "libstdc++6.symbols.excprop" + __gxx_personality_v0@CXXABI_1.3 4.1.1 +#include "libstdc++6.symbols.glibcxxmath" +#include "libstdc++6.symbols.ldbl.32bit" +#include "libstdc++6.symbols.money.f128" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 --- gcc-8-8.2.0.orig/debian/lib32stdc++CXX.postinst +++ gcc-8-8.2.0/debian/lib32stdc++CXX.postinst @@ -0,0 +1,12 @@ +#! /bin/sh -e + +case "$1" in + configure) + docdir=/usr/share/doc/lib32stdc++@CXX@ + if [ -d $docdir ] && [ ! -h $docdir ]; then + rm -rf $docdir + ln -s gcc-@BV@-base $docdir + fi +esac + +#DEBHELPER# --- gcc-8-8.2.0.orig/debian/lib64asan5.overrides +++ gcc-8-8.2.0/debian/lib64asan5.overrides @@ -0,0 +1,2 @@ +# automake gets it wrong for the multilib build +lib64asan5 binary: binary-or-shlib-defines-rpath --- gcc-8-8.2.0.orig/debian/lib64asan5.symbols +++ gcc-8-8.2.0/debian/lib64asan5.symbols @@ -0,0 +1,3 @@ +libasan.so.5 lib64asan5 #MINVER# +#include "libasan.symbols.common" +#include "libasan.symbols.64" --- gcc-8-8.2.0.orig/debian/lib64gccLC.postinst +++ gcc-8-8.2.0/debian/lib64gccLC.postinst @@ -0,0 +1,12 @@ +#! /bin/sh -e + +case "$1" in + configure) + docdir=/usr/share/doc/lib64gcc@LC@ + if [ -d $docdir ] && [ ! -h $docdir ]; then + rm -rf $docdir + ln -s gcc-@BV@-base $docdir + fi +esac + +#DEBHELPER# --- gcc-8-8.2.0.orig/debian/lib64gphobos68.lintian-overrides +++ gcc-8-8.2.0/debian/lib64gphobos68.lintian-overrides @@ -0,0 +1,2 @@ +# no usable zconf.h header in lib64z1-dev +lib64gphobos68 binary: embedded-library --- gcc-8-8.2.0.orig/debian/lib64stdc++6.symbols.i386 +++ gcc-8-8.2.0/debian/lib64stdc++6.symbols.i386 @@ -0,0 +1,40 @@ +libstdc++.so.6 lib64stdc++6 #MINVER# +#include "libstdc++6.symbols.64bit" +#include "libstdc++6.symbols.128bit" +#include "libstdc++6.symbols.excprop" +#include "libstdc++6.symbols.money.ldbl" + _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# acosl@GLIBCXX_3.4.3 4.1.1 +#DEPRECATED: 4.2.2-4# asinl@GLIBCXX_3.4.3 4.1.1 +#DEPRECATED: 4.2.2-4# atan2l@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# atanl@GLIBCXX_3.4.3 4.1.1 +#DEPRECATED: 4.2.2-4# ceill@GLIBCXX_3.4.3 4.1.1 +#DEPRECATED: 4.2.2-4# coshl@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# cosl@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# expl@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# floorl@GLIBCXX_3.4.3 4.1.1 +#DEPRECATED: 4.2.2-4# fmodl@GLIBCXX_3.4.3 4.1.1 +#DEPRECATED: 4.2.2-4# frexpl@GLIBCXX_3.4.3 4.1.1 +#DEPRECATED: 4.2.2-4# hypotl@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# ldexpf@GLIBCXX_3.4.3 4.1.1 +#DEPRECATED: 4.2.2-4# ldexpl@GLIBCXX_3.4.3 4.1.1 +#DEPRECATED: 4.2.2-4# log10l@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# logl@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# modfl@GLIBCXX_3.4.3 4.1.1 +#DEPRECATED: 4.2.2-4# powf@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# powl@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# sinhl@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# sinl@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# sqrtl@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# tanhl@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# tanl@GLIBCXX_3.4 4.1.1 + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3 +#(optional)_Z16__VLTRegisterSetPPvPKvmmS0_@CXXABI_1.3.8 4.9.0 +#(optional)_Z17__VLTRegisterPairPPvPKvmS2_@CXXABI_1.3.8 4.9.0 +#(optional)_Z21__VLTRegisterSetDebugPPvPKvmmS0_@CXXABI_1.3.8 4.9.0 +#(optional)_Z22__VLTRegisterPairDebugPPvPKvmS2_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 --- gcc-8-8.2.0.orig/debian/lib64stdc++6.symbols.powerpc +++ gcc-8-8.2.0/debian/lib64stdc++6.symbols.powerpc @@ -0,0 +1,11 @@ +libstdc++.so.6 lib64stdc++6 #MINVER# +#include "libstdc++6.symbols.64bit" +#include "libstdc++6.symbols.128bit" +#include "libstdc++6.symbols.excprop" +#include "libstdc++6.symbols.money.f128" + _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1 +#include "libstdc++6.symbols.glibcxxmath" +#include "libstdc++6.symbols.ldbl.64bit" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 --- gcc-8-8.2.0.orig/debian/lib64stdc++6.symbols.s390 +++ gcc-8-8.2.0/debian/lib64stdc++6.symbols.s390 @@ -0,0 +1,12 @@ +libstdc++.so.6 lib64stdc++6 #MINVER# +#include "libstdc++6.symbols.64bit" +#include "libstdc++6.symbols.128bit" +#include "libstdc++6.symbols.excprop" + _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# ldexpf@GLIBCXX_3.4.3 4.1.1 +#DEPRECATED: 4.2.2-4# powf@GLIBCXX_3.4 4.1.1 +#include "libstdc++6.symbols.glibcxxmath" +#include "libstdc++6.symbols.ldbl.64bit" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 --- gcc-8-8.2.0.orig/debian/lib64stdc++6.symbols.sparc +++ gcc-8-8.2.0/debian/lib64stdc++6.symbols.sparc @@ -0,0 +1,11 @@ +libstdc++.so.6 lib64stdc++6 #MINVER# +#include "libstdc++6.symbols.64bit" +#include "libstdc++6.symbols.128bit" +#include "libstdc++6.symbols.excprop" +#include "libstdc++6.symbols.money.ldbl" + _ZN9__gnu_cxx12__atomic_addEPVli@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx18__exchange_and_addEPVli@GLIBCXX_3.4 4.1.1 +# FIXME: Currently no ldbl symbols in the 64bit libstdc++ on sparc. +# #include "libstdc++6.symbols.ldbl.64bit" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3 --- gcc-8-8.2.0.orig/debian/lib64stdc++CXX.postinst +++ gcc-8-8.2.0/debian/lib64stdc++CXX.postinst @@ -0,0 +1,12 @@ +#! /bin/sh -e + +case "$1" in + configure) + docdir=/usr/share/doc/lib64stdc++@CXX@ + if [ -d $docdir ] && [ ! -h $docdir ]; then + rm -rf $docdir + ln -s gcc-@BV@-base $docdir + fi +esac + +#DEBHELPER# --- gcc-8-8.2.0.orig/debian/libasan.symbols.16 +++ gcc-8-8.2.0/debian/libasan.symbols.16 @@ -0,0 +1,38 @@ + __sanitizer_syscall_post_impl_chown16@Base 5 + __sanitizer_syscall_post_impl_fchown16@Base 5 + __sanitizer_syscall_post_impl_getegid16@Base 5 + __sanitizer_syscall_post_impl_geteuid16@Base 5 + __sanitizer_syscall_post_impl_getgid16@Base 5 + __sanitizer_syscall_post_impl_getgroups16@Base 5 + __sanitizer_syscall_post_impl_getresgid16@Base 5 + __sanitizer_syscall_post_impl_getresuid16@Base 5 + __sanitizer_syscall_post_impl_getuid16@Base 5 + __sanitizer_syscall_post_impl_lchown16@Base 5 + __sanitizer_syscall_post_impl_setfsgid16@Base 5 + __sanitizer_syscall_post_impl_setfsuid16@Base 5 + __sanitizer_syscall_post_impl_setgid16@Base 5 + __sanitizer_syscall_post_impl_setgroups16@Base 5 + __sanitizer_syscall_post_impl_setregid16@Base 5 + __sanitizer_syscall_post_impl_setresgid16@Base 5 + __sanitizer_syscall_post_impl_setresuid16@Base 5 + __sanitizer_syscall_post_impl_setreuid16@Base 5 + __sanitizer_syscall_post_impl_setuid16@Base 5 + __sanitizer_syscall_pre_impl_chown16@Base 5 + __sanitizer_syscall_pre_impl_fchown16@Base 5 + __sanitizer_syscall_pre_impl_getegid16@Base 5 + __sanitizer_syscall_pre_impl_geteuid16@Base 5 + __sanitizer_syscall_pre_impl_getgid16@Base 5 + __sanitizer_syscall_pre_impl_getgroups16@Base 5 + __sanitizer_syscall_pre_impl_getresgid16@Base 5 + __sanitizer_syscall_pre_impl_getresuid16@Base 5 + __sanitizer_syscall_pre_impl_getuid16@Base 5 + __sanitizer_syscall_pre_impl_lchown16@Base 5 + __sanitizer_syscall_pre_impl_setfsgid16@Base 5 + __sanitizer_syscall_pre_impl_setfsuid16@Base 5 + __sanitizer_syscall_pre_impl_setgid16@Base 5 + __sanitizer_syscall_pre_impl_setgroups16@Base 5 + __sanitizer_syscall_pre_impl_setregid16@Base 5 + __sanitizer_syscall_pre_impl_setresgid16@Base 5 + __sanitizer_syscall_pre_impl_setresuid16@Base 5 + __sanitizer_syscall_pre_impl_setreuid16@Base 5 + __sanitizer_syscall_pre_impl_setuid16@Base 5 --- gcc-8-8.2.0.orig/debian/libasan.symbols.32 +++ gcc-8-8.2.0/debian/libasan.symbols.32 @@ -0,0 +1,26 @@ + (arch=!ppc64 !sparc64)__interceptor_ptrace@Base 7 + (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64 !kfreebsd-amd64)_ZdaPvj@Base 5 + (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64 !kfreebsd-amd64)_ZdaPvjSt11align_val_t@Base 7 + (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64 !kfreebsd-amd64)_ZdlPvj@Base 5 + (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64 !kfreebsd-amd64)_ZdlPvjSt11align_val_t@Base 7 + (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64 !kfreebsd-amd64)_Znaj@Base 4.8 + (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64 !kfreebsd-amd64)_ZnajRKSt9nothrow_t@Base 4.8 + (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64 !kfreebsd-amd64)_ZnajSt11align_val_t@Base 7 + (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64 !kfreebsd-amd64)_ZnajSt11align_val_tRKSt9nothrow_t@Base 7 + (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64 !kfreebsd-amd64)_Znwj@Base 4.8 + (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64 !kfreebsd-amd64)_ZnwjRKSt9nothrow_t@Base 4.8 + (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64 !kfreebsd-amd64)_ZnwjSt11align_val_t@Base 7 + (arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64 !kfreebsd-amd64)_ZnwjSt11align_val_tRKSt9nothrow_t@Base 7 + (arch=s390x)_ZdaPvm@Base 7.3 + (arch=s390x)_ZdaPvmSt11align_val_t@Base 7.3 + (arch=s390x)_ZdlPvm@Base 7.3 + (arch=s390x)_ZdlPvmSt11align_val_t@Base 7.3 + (arch=s390x)_Znam@Base 7.3 + (arch=s390x)_ZnamRKSt9nothrow_t@Base 7.3 + (arch=s390x)_ZnamSt11align_val_t@Base 7.3 + (arch=s390x)_ZnamSt11align_val_tRKSt9nothrow_t@Base 7.3 + (arch=s390x)_Znwm@Base 7.3 + (arch=s390x)_ZnwmRKSt9nothrow_t@Base 7.3 + (arch=s390x)_ZnwmSt11align_val_t@Base 7.3 + (arch=s390x)_ZnwmSt11align_val_tRKSt9nothrow_t@Base 7.3 + (arch=!ppc64 !sparc64)ptrace@Base 7 --- gcc-8-8.2.0.orig/debian/libasan.symbols.64 +++ gcc-8-8.2.0/debian/libasan.symbols.64 @@ -0,0 +1,14 @@ + __interceptor_shmctl@Base 4.9 + _ZdaPvm@Base 5 + _ZdaPvmSt11align_val_t@Base 7 + _ZdlPvm@Base 5 + _ZdlPvmSt11align_val_t@Base 7 + _Znam@Base 4.8 + _ZnamRKSt9nothrow_t@Base 4.8 + _ZnamSt11align_val_t@Base 7 + _ZnamSt11align_val_tRKSt9nothrow_t@Base 7 + _Znwm@Base 4.8 + _ZnwmRKSt9nothrow_t@Base 4.8 + _ZnwmSt11align_val_t@Base 7 + _ZnwmSt11align_val_tRKSt9nothrow_t@Base 7 + shmctl@Base 4.9 --- gcc-8-8.2.0.orig/debian/libasan.symbols.common +++ gcc-8-8.2.0/debian/libasan.symbols.common @@ -0,0 +1,1716 @@ + OnPrint@Base 8 + _ZN11__sanitizer11CheckFailedEPKciS1_yy@Base 4.8 + _ZdaPv@Base 4.8 + _ZdaPvRKSt9nothrow_t@Base 4.8 + _ZdaPvSt11align_val_t@Base 7 + _ZdaPvSt11align_val_tRKSt9nothrow_t@Base 7 + _ZdlPv@Base 4.8 + _ZdlPvRKSt9nothrow_t@Base 4.8 + _ZdlPvSt11align_val_t@Base 7 + _ZdlPvSt11align_val_tRKSt9nothrow_t@Base 7 + __asan_addr_is_in_fake_stack@Base 5 + __asan_address_is_poisoned@Base 4.8 + __asan_after_dynamic_init@Base 4.8 + __asan_alloca_poison@Base 6.2 + __asan_allocas_unpoison@Base 6.2 + __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_uncompress_zdebug@Base 8 + __asan_backtrace_vector_finish@Base 4.9 + __asan_backtrace_vector_grow@Base 4.9 + __asan_backtrace_vector_release@Base 4.9 + __asan_before_dynamic_init@Base 4.8 + __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_default_options@Base 8 + __asan_default_suppressions@Base 8 + __asan_describe_address@Base 4.8 + __asan_exp_load16@Base 6.2 + __asan_exp_load1@Base 6.2 + __asan_exp_load2@Base 6.2 + __asan_exp_load4@Base 6.2 + __asan_exp_load8@Base 6.2 + __asan_exp_loadN@Base 6.2 + __asan_exp_store16@Base 6.2 + __asan_exp_store1@Base 6.2 + __asan_exp_store2@Base 6.2 + __asan_exp_store4@Base 6.2 + __asan_exp_store8@Base 6.2 + __asan_exp_storeN@Base 6.2 + __asan_get_alloc_stack@Base 5 + __asan_get_current_fake_stack@Base 5 + __asan_get_free_stack@Base 5 + __asan_get_report_access_size@Base 5 + __asan_get_report_access_type@Base 5 + __asan_get_report_address@Base 5 + __asan_get_report_bp@Base 5 + __asan_get_report_description@Base 5 + __asan_get_report_pc@Base 5 + __asan_get_report_sp@Base 5 + __asan_get_shadow_mapping@Base 5 + __asan_handle_no_return@Base 4.8 + __asan_init@Base 6.2 + __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 + __asan_load16@Base 5 + __asan_load16_noabort@Base 6.2 + __asan_load1@Base 5 + __asan_load1_noabort@Base 6.2 + __asan_load2@Base 5 + __asan_load2_noabort@Base 6.2 + __asan_load4@Base 5 + __asan_load4_noabort@Base 6.2 + __asan_load8@Base 5 + __asan_load8_noabort@Base 6.2 + __asan_loadN@Base 5 + __asan_loadN_noabort@Base 6.2 + __asan_load_cxx_array_cookie@Base 5 + __asan_locate_address@Base 5 + __asan_memcpy@Base 5 + __asan_memmove@Base 5 + __asan_memset@Base 5 + __asan_on_error@Base 8 + __asan_option_detect_stack_use_after_return@Base 4.9 + __asan_poison_cxx_array_cookie@Base 5 + __asan_poison_intra_object_redzone@Base 5 + __asan_poison_memory_region@Base 4.8 + __asan_poison_stack_memory@Base 4.8 + __asan_print_accumulated_stats@Base 4.8 + __asan_region_is_poisoned@Base 4.8 + __asan_register_elf_globals@Base 8 + __asan_register_globals@Base 4.8 + __asan_register_image_globals@Base 7 + __asan_report_error@Base 4.8 + __asan_report_exp_load16@Base 6.2 + __asan_report_exp_load1@Base 6.2 + __asan_report_exp_load2@Base 6.2 + __asan_report_exp_load4@Base 6.2 + __asan_report_exp_load8@Base 6.2 + __asan_report_exp_load_n@Base 6.2 + __asan_report_exp_store16@Base 6.2 + __asan_report_exp_store1@Base 6.2 + __asan_report_exp_store2@Base 6.2 + __asan_report_exp_store4@Base 6.2 + __asan_report_exp_store8@Base 6.2 + __asan_report_exp_store_n@Base 6.2 + __asan_report_load16@Base 4.8 + __asan_report_load16_noabort@Base 6.2 + __asan_report_load1@Base 4.8 + __asan_report_load1_noabort@Base 6.2 + __asan_report_load2@Base 4.8 + __asan_report_load2_noabort@Base 6.2 + __asan_report_load4@Base 4.8 + __asan_report_load4_noabort@Base 6.2 + __asan_report_load8@Base 4.8 + __asan_report_load8_noabort@Base 6.2 + __asan_report_load_n@Base 4.8 + __asan_report_load_n_noabort@Base 6.2 + __asan_report_present@Base 5 + __asan_report_store16@Base 4.8 + __asan_report_store16_noabort@Base 6.2 + __asan_report_store1@Base 4.8 + __asan_report_store1_noabort@Base 6.2 + __asan_report_store2@Base 4.8 + __asan_report_store2_noabort@Base 6.2 + __asan_report_store4@Base 4.8 + __asan_report_store4_noabort@Base 6.2 + __asan_report_store8@Base 4.8 + __asan_report_store8_noabort@Base 6.2 + __asan_report_store_n@Base 4.8 + __asan_report_store_n_noabort@Base 6.2 + __asan_rt_version@Base 5 + __asan_set_death_callback@Base 4.8 + __asan_set_error_report_callback@Base 4.8 + __asan_set_shadow_00@Base 7 + __asan_set_shadow_f1@Base 7 + __asan_set_shadow_f2@Base 7 + __asan_set_shadow_f3@Base 7 + __asan_set_shadow_f5@Base 7 + __asan_set_shadow_f8@Base 7 + __asan_shadow_memory_dynamic_address@Base 7 + __asan_stack_free_0@Base 4.9 + __asan_stack_free_10@Base 4.9 + __asan_stack_free_1@Base 4.9 + __asan_stack_free_2@Base 4.9 + __asan_stack_free_3@Base 4.9 + __asan_stack_free_4@Base 4.9 + __asan_stack_free_5@Base 4.9 + __asan_stack_free_6@Base 4.9 + __asan_stack_free_7@Base 4.9 + __asan_stack_free_8@Base 4.9 + __asan_stack_free_9@Base 4.9 + __asan_stack_malloc_0@Base 4.9 + __asan_stack_malloc_10@Base 4.9 + __asan_stack_malloc_1@Base 4.9 + __asan_stack_malloc_2@Base 4.9 + __asan_stack_malloc_3@Base 4.9 + __asan_stack_malloc_4@Base 4.9 + __asan_stack_malloc_5@Base 4.9 + __asan_stack_malloc_6@Base 4.9 + __asan_stack_malloc_7@Base 4.9 + __asan_stack_malloc_8@Base 4.9 + __asan_stack_malloc_9@Base 4.9 + __asan_store16@Base 5 + __asan_store16_noabort@Base 6.2 + __asan_store1@Base 5 + __asan_store1_noabort@Base 6.2 + __asan_store2@Base 5 + __asan_store2_noabort@Base 6.2 + __asan_store4@Base 5 + __asan_store4_noabort@Base 6.2 + __asan_store8@Base 5 + __asan_store8_noabort@Base 6.2 + __asan_storeN@Base 5 + __asan_storeN_noabort@Base 6.2 + __asan_test_only_reported_buggy_pointer@Base 5 + __asan_unpoison_intra_object_redzone@Base 5 + __asan_unpoison_memory_region@Base 4.8 + __asan_unpoison_stack_memory@Base 4.8 + __asan_unregister_elf_globals@Base 8 + __asan_unregister_globals@Base 4.8 + __asan_unregister_image_globals@Base 7 + __asan_version_mismatch_check_v8@Base 7 + __cxa_atexit@Base 4.9 + __cxa_throw@Base 4.8 + __getdelim@Base 5 + __interceptor___cxa_atexit@Base 4.9 + __interceptor___cxa_throw@Base 4.8 + __interceptor___getdelim@Base 5 + __interceptor___isoc99_fprintf@Base 5 + __interceptor___isoc99_fscanf@Base 4.8 + __interceptor___isoc99_printf@Base 5 + __interceptor___isoc99_scanf@Base 4.8 + __interceptor___isoc99_snprintf@Base 5 + __interceptor___isoc99_sprintf@Base 5 + __interceptor___isoc99_sscanf@Base 4.8 + __interceptor___isoc99_vfprintf@Base 5 + __interceptor___isoc99_vfscanf@Base 4.8 + __interceptor___isoc99_vprintf@Base 5 + __interceptor___isoc99_vscanf@Base 4.8 + __interceptor___isoc99_vsnprintf@Base 5 + __interceptor___isoc99_vsprintf@Base 5 + __interceptor___isoc99_vsscanf@Base 4.8 + __interceptor___libc_memalign@Base 4.8 + __interceptor___longjmp_chk@Base 8 + __interceptor___lxstat64@Base 7 + __interceptor___lxstat@Base 7 + __interceptor___overflow@Base 5 + __interceptor___strdup@Base 7 + __interceptor___strndup@Base 8 + __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 7 + __interceptor___xstat@Base 7 + __interceptor__exit@Base 4.9 + __interceptor__longjmp@Base 4.8 + __interceptor__obstack_begin@Base 5 + __interceptor__obstack_begin_1@Base 5 + __interceptor__obstack_newchunk@Base 5 + __interceptor_accept4@Base 4.9 + __interceptor_accept@Base 4.9 + __interceptor_aligned_alloc@Base 5 + __interceptor_asctime@Base 4.8 + __interceptor_asctime_r@Base 4.8 + __interceptor_asprintf@Base 5 + __interceptor_atoi@Base 4.8 + __interceptor_atol@Base 4.8 + __interceptor_atoll@Base 4.8 + __interceptor_backtrace@Base 4.9 + __interceptor_backtrace_symbols@Base 4.9 + __interceptor_calloc@Base 4.8 + __interceptor_canonicalize_file_name@Base 4.9 + __interceptor_capget@Base 5 + __interceptor_capset@Base 5 + __interceptor_cfree@Base 4.8 + __interceptor_clock_getres@Base 4.9 + __interceptor_clock_gettime@Base 4.9 + __interceptor_clock_settime@Base 4.9 + __interceptor_confstr@Base 4.9 + __interceptor_ctermid@Base 7 + __interceptor_ctime@Base 4.8 + __interceptor_ctime_r@Base 4.8 + __interceptor_dlclose@Base 5 + __interceptor_dlopen@Base 5 + __interceptor_drand48_r@Base 4.9 + __interceptor_endgrent@Base 5 + __interceptor_endpwent@Base 5 + __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_read@Base 7 + __interceptor_eventfd_write@Base 7 + __interceptor_fclose@Base 5 + __interceptor_fdopen@Base 5 + __interceptor_fflush@Base 5 + __interceptor_fgetgrent@Base 5 + __interceptor_fgetgrent_r@Base 5 + __interceptor_fgetpwent@Base 5 + __interceptor_fgetpwent_r@Base 5 + __interceptor_fgetxattr@Base 5 + __interceptor_flistxattr@Base 5 + __interceptor_fmemopen@Base 5 + __interceptor_fopen64@Base 5 + __interceptor_fopen@Base 5 + __interceptor_fopencookie@Base 6.2 + __interceptor_fork@Base 5 + __interceptor_fprintf@Base 5 + __interceptor_fread@Base 8 + __interceptor_free@Base 4.8 + __interceptor_freopen64@Base 5 + __interceptor_freopen@Base 5 + __interceptor_frexp@Base 4.9 + __interceptor_frexpf@Base 4.9 + __interceptor_frexpl@Base 4.9 + __interceptor_fscanf@Base 4.8 + __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 8 + __interceptor_get_current_dir_name@Base 4.9 + __interceptor_getaddrinfo@Base 4.9 + __interceptor_getcwd@Base 4.9 + __interceptor_getdelim@Base 4.9 + __interceptor_getgrent@Base 5 + __interceptor_getgrent_r@Base 5 + __interceptor_getgrgid@Base 4.9 + __interceptor_getgrgid_r@Base 4.9 + __interceptor_getgrnam@Base 4.9 + __interceptor_getgrnam_r@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_getloadavg@Base 8 + __interceptor_getmntent@Base 4.9 + __interceptor_getmntent_r@Base 4.9 + __interceptor_getnameinfo@Base 4.9 + __interceptor_getpass@Base 5 + __interceptor_getpeername@Base 4.9 + __interceptor_getpwent@Base 5 + __interceptor_getpwent_r@Base 5 + __interceptor_getpwnam@Base 4.9 + __interceptor_getpwnam_r@Base 4.9 + __interceptor_getpwuid@Base 4.9 + __interceptor_getpwuid_r@Base 4.9 + __interceptor_getresgid@Base 5 + __interceptor_getresuid@Base 5 + __interceptor_getsockname@Base 4.9 + __interceptor_getsockopt@Base 4.9 + __interceptor_getutent@Base 8 + __interceptor_getutid@Base 8 + __interceptor_getutline@Base 8 + __interceptor_getutxent@Base 8 + __interceptor_getutxid@Base 8 + __interceptor_getutxline@Base 8 + __interceptor_getxattr@Base 5 + __interceptor_glob64@Base 4.9 + __interceptor_glob@Base 4.9 + __interceptor_gmtime@Base 4.8 + __interceptor_gmtime_r@Base 4.8 + __interceptor_iconv@Base 4.9 + __interceptor_if_indextoname@Base 5 + __interceptor_if_nametoindex@Base 5 + __interceptor_index@Base 4.8 + __interceptor_inet_aton@Base 4.9 + __interceptor_inet_ntop@Base 4.9 + __interceptor_inet_pton@Base 4.9 + __interceptor_initgroups@Base 4.9 + __interceptor_ioctl@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_listxattr@Base 5 + __interceptor_llistxattr@Base 5 + __interceptor_localtime@Base 4.8 + __interceptor_localtime_r@Base 4.8 + __interceptor_longjmp@Base 4.8 + __interceptor_lrand48_r@Base 4.9 + __interceptor_mallinfo@Base 4.8 + __interceptor_malloc@Base 4.8 + __interceptor_malloc_stats@Base 4.8 + __interceptor_malloc_usable_size@Base 4.8 + __interceptor_mallopt@Base 4.8 + __interceptor_mbsnrtowcs@Base 4.9 + __interceptor_mbsrtowcs@Base 4.9 + __interceptor_mbstowcs@Base 4.9 + __interceptor_mcheck@Base 8 + __interceptor_mcheck_pedantic@Base 8 + __interceptor_memalign@Base 4.8 + __interceptor_memchr@Base 5 + __interceptor_memcmp@Base 4.8 + __interceptor_memcpy@Base 4.8 + __interceptor_memmem@Base 7 + __interceptor_memmove@Base 4.8 + __interceptor_memrchr@Base 5 + __interceptor_memset@Base 4.8 + __interceptor_mincore@Base 6.2 + __interceptor_mktime@Base 5 + __interceptor_mlock@Base 4.8 + __interceptor_mlockall@Base 4.8 + __interceptor_modf@Base 4.9 + __interceptor_modff@Base 4.9 + __interceptor_modfl@Base 4.9 + __interceptor_mprobe@Base 8 + __interceptor_munlock@Base 4.8 + __interceptor_munlockall@Base 4.8 + __interceptor_open_memstream@Base 5 + __interceptor_open_wmemstream@Base 5 + __interceptor_opendir@Base 6.2 + __interceptor_poll@Base 4.9 + __interceptor_posix_memalign@Base 4.8 + __interceptor_ppoll@Base 4.9 + __interceptor_prctl@Base 4.8 + __interceptor_pread64@Base 4.8 + __interceptor_pread@Base 4.8 + __interceptor_preadv64@Base 4.9 + __interceptor_preadv@Base 4.9 + __interceptor_printf@Base 5 + __interceptor_process_vm_readv@Base 6.2 + __interceptor_process_vm_writev@Base 6.2 + __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_barrierattr_getpshared@Base 5 + __interceptor_pthread_condattr_getclock@Base 5 + __interceptor_pthread_condattr_getpshared@Base 5 + __interceptor_pthread_create@Base 4.8 + __interceptor_pthread_getschedparam@Base 4.9 + __interceptor_pthread_join@Base 6.2 + __interceptor_pthread_mutex_lock@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_rwlockattr_getkind_np@Base 5 + __interceptor_pthread_rwlockattr_getpshared@Base 5 + __interceptor_pthread_setcancelstate@Base 6.2 + __interceptor_pthread_setcanceltype@Base 6.2 + __interceptor_pthread_setname_np@Base 4.9 + __interceptor_pvalloc@Base 4.8 + __interceptor_pwrite64@Base 4.8 + __interceptor_pwrite@Base 4.8 + __interceptor_pwritev64@Base 4.9 + __interceptor_pwritev@Base 4.9 + __interceptor_rand_r@Base 5 + __interceptor_random_r@Base 4.9 + __interceptor_read@Base 4.8 + __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.8 + __interceptor_realpath@Base 4.9 + __interceptor_recv@Base 7 + __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_scandir64@Base 4.9 + __interceptor_scandir@Base 4.9 + __interceptor_scanf@Base 4.8 + __interceptor_sched_getaffinity@Base 4.9 + __interceptor_sched_getparam@Base 6.2 + __interceptor_sem_destroy@Base 6.2 + __interceptor_sem_getvalue@Base 6.2 + __interceptor_sem_init@Base 6.2 + __interceptor_sem_post@Base 6.2 + __interceptor_sem_timedwait@Base 6.2 + __interceptor_sem_trywait@Base 6.2 + __interceptor_sem_wait@Base 6.2 + __interceptor_send@Base 7 + __interceptor_sendmsg@Base 7 + __interceptor_sendto@Base 7 + __interceptor_setgrent@Base 5 + __interceptor_setitimer@Base 4.9 + __interceptor_setlocale@Base 4.9 + __interceptor_setpwent@Base 5 + __interceptor_sigaction@Base 4.8 + __interceptor_sigemptyset@Base 4.9 + __interceptor_sigfillset@Base 4.9 + __interceptor_siglongjmp@Base 4.8 + __interceptor_signal@Base 4.8 + __interceptor_sigpending@Base 4.9 + __interceptor_sigprocmask@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_snprintf@Base 5 + __interceptor_sprintf@Base 5 + __interceptor_sscanf@Base 4.8 + __interceptor_statfs64@Base 4.9 + __interceptor_statfs@Base 4.9 + __interceptor_statvfs64@Base 4.9 + __interceptor_statvfs@Base 4.9 + __interceptor_strcasecmp@Base 4.8 + __interceptor_strcasestr@Base 6.2 + __interceptor_strcat@Base 4.8 + __interceptor_strchr@Base 4.8 + __interceptor_strchrnul@Base 7 + __interceptor_strcmp@Base 4.8 + __interceptor_strcpy@Base 4.8 + __interceptor_strcspn@Base 6.2 + __interceptor_strdup@Base 4.8 + __interceptor_strerror@Base 4.9 + __interceptor_strerror_r@Base 4.9 + __interceptor_strlen@Base 4.8 + __interceptor_strncasecmp@Base 4.8 + __interceptor_strncat@Base 4.8 + __interceptor_strncmp@Base 4.8 + __interceptor_strncpy@Base 4.8 + __interceptor_strndup@Base 8 + __interceptor_strnlen@Base 4.8 + __interceptor_strpbrk@Base 6.2 + __interceptor_strptime@Base 4.9 + __interceptor_strrchr@Base 7 + __interceptor_strspn@Base 6.2 + __interceptor_strstr@Base 6.2 + __interceptor_strtoimax@Base 4.9 + __interceptor_strtok@Base 8 + __interceptor_strtol@Base 4.8 + __interceptor_strtoll@Base 4.8 + __interceptor_strtoumax@Base 4.9 + __interceptor_swapcontext@Base 4.8 + __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_tmpnam@Base 4.9 + __interceptor_tmpnam_r@Base 4.9 + __interceptor_tsearch@Base 5 + __interceptor_ttyname_r@Base 7 + __interceptor_valloc@Base 4.8 + __interceptor_vasprintf@Base 5 + __interceptor_vfprintf@Base 5 + __interceptor_vfscanf@Base 4.8 + __interceptor_vprintf@Base 5 + __interceptor_vscanf@Base 4.8 + __interceptor_vsnprintf@Base 5 + __interceptor_vsprintf@Base 5 + __interceptor_vsscanf@Base 4.8 + __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.2 + __interceptor_wcscat@Base 8 + __interceptor_wcslen@Base 4.9 + __interceptor_wcsncat@Base 8 + __interceptor_wcsnlen@Base 8 + __interceptor_wcsnrtombs@Base 4.9 + __interceptor_wcsrtombs@Base 4.9 + __interceptor_wcstombs@Base 4.9 + __interceptor_wordexp@Base 4.9 + __interceptor_write@Base 4.8 + __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.8 + __isoc99_printf@Base 5 + __isoc99_scanf@Base 4.8 + __isoc99_snprintf@Base 5 + __isoc99_sprintf@Base 5 + __isoc99_sscanf@Base 4.8 + __isoc99_vfprintf@Base 5 + __isoc99_vfscanf@Base 4.8 + __isoc99_vprintf@Base 5 + __isoc99_vscanf@Base 4.8 + __isoc99_vsnprintf@Base 5 + __isoc99_vsprintf@Base 5 + __isoc99_vsscanf@Base 4.8 + __libc_memalign@Base 4.8 + __longjmp_chk@Base 8 + __lsan_disable@Base 4.9 + __lsan_do_leak_check@Base 4.9 + __lsan_do_recoverable_leak_check@Base 6.2 + __lsan_enable@Base 4.9 + __lsan_ignore_object@Base 4.9 + __lsan_register_root_region@Base 5 + __lsan_unregister_root_region@Base 5 + __lxstat64@Base 7 + __lxstat@Base 7 + __overflow@Base 5 + __sancov_default_options@Base 8 + __sancov_lowest_stack@Base 8 + __sanitizer_annotate_contiguous_container@Base 4.9 + __sanitizer_contiguous_container_find_bad_address@Base 6.2 + __sanitizer_cov_8bit_counters_init@Base 8 + __sanitizer_cov_dump@Base 4.9 + __sanitizer_cov_pcs_init@Base 8 + __sanitizer_cov_reset@Base 8 + __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.2 + __sanitizer_cov_trace_const_cmp1@Base 8 + __sanitizer_cov_trace_const_cmp2@Base 8 + __sanitizer_cov_trace_const_cmp4@Base 8 + __sanitizer_cov_trace_const_cmp8@Base 8 + __sanitizer_cov_trace_div4@Base 7 + __sanitizer_cov_trace_div8@Base 7 + __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.2 + __sanitizer_dump_coverage@Base 8 + __sanitizer_dump_trace_pc_guard_coverage@Base 8 + __sanitizer_finish_switch_fiber@Base 7 + __sanitizer_get_allocated_size@Base 5 + __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_module_and_offset_for_pc@Base 8 + __sanitizer_get_ownership@Base 5 + __sanitizer_get_unmapped_bytes@Base 5 + __sanitizer_install_malloc_and_free_hooks@Base 7 + __sanitizer_print_memory_profile@Base 8 + __sanitizer_print_stack_trace@Base 4.9 + __sanitizer_ptr_cmp@Base 5 + __sanitizer_ptr_sub@Base 5 + __sanitizer_report_error_summary@Base 4.8 + __sanitizer_sandbox_on_notify@Base 4.8 + __sanitizer_set_death_callback@Base 6.2 + __sanitizer_set_report_fd@Base 7 + __sanitizer_set_report_path@Base 4.8 + __sanitizer_start_switch_fiber@Base 7 + __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_verify_contiguous_container@Base 5 + __sanitizer_weak_hook_memcmp@Base 8 + __sanitizer_weak_hook_memmem@Base 8 + __sanitizer_weak_hook_strcasecmp@Base 8 + __sanitizer_weak_hook_strcasestr@Base 8 + __sanitizer_weak_hook_strcmp@Base 8 + __sanitizer_weak_hook_strncasecmp@Base 8 + __sanitizer_weak_hook_strncmp@Base 8 + __sanitizer_weak_hook_strstr@Base 8 + __strdup@Base 7 + __strndup@Base 8 + __uflow@Base 5 + __underflow@Base 5 + __woverflow@Base 5 + __wuflow@Base 5 + __wunderflow@Base 5 + __xpg_strerror_r@Base 4.9 + __xstat64@Base 7 + __xstat@Base 7 + _exit@Base 4.9 + _longjmp@Base 4.8 + _obstack_begin@Base 5 + _obstack_begin_1@Base 5 + _obstack_newchunk@Base 5 + accept4@Base 4.9 + accept@Base 4.9 + aligned_alloc@Base 5 + asctime@Base 4.8 + asctime_r@Base 4.8 + asprintf@Base 5 + atoi@Base 4.8 + atol@Base 4.8 + atoll@Base 4.8 + backtrace@Base 4.9 + backtrace_symbols@Base 4.9 + calloc@Base 4.8 + canonicalize_file_name@Base 4.9 + capget@Base 5 + capset@Base 5 + cfree@Base 4.8 + clock_getres@Base 4.9 + clock_gettime@Base 4.9 + clock_settime@Base 4.9 + confstr@Base 4.9 + ctermid@Base 7 + ctime@Base 4.8 + ctime_r@Base 4.8 + dlclose@Base 5 + dlopen@Base 5 + drand48_r@Base 4.9 + endgrent@Base 5 + endpwent@Base 5 + 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_read@Base 7 + eventfd_write@Base 7 + fclose@Base 5 + fdopen@Base 5 + fflush@Base 5 + fgetgrent@Base 5 + fgetgrent_r@Base 5 + fgetpwent@Base 5 + fgetpwent_r@Base 5 + fgetxattr@Base 5 + flistxattr@Base 5 + fmemopen@Base 5 + fopen64@Base 5 + fopen@Base 5 + fopencookie@Base 6.2 + fork@Base 5 + fprintf@Base 5 + fread@Base 8 + free@Base 4.8 + freopen64@Base 5 + freopen@Base 5 + frexp@Base 4.9 + frexpf@Base 4.9 + frexpl@Base 4.9 + fscanf@Base 4.8 + fstatfs64@Base 4.9 + fstatfs@Base 4.9 + fstatvfs64@Base 4.9 + fstatvfs@Base 4.9 + ftime@Base 5 + fwrite@Base 8 + get_current_dir_name@Base 4.9 + getaddrinfo@Base 4.9 + getcwd@Base 4.9 + getdelim@Base 4.9 + getgrent@Base 5 + getgrent_r@Base 5 + getgrgid@Base 4.9 + getgrgid_r@Base 4.9 + getgrnam@Base 4.9 + getgrnam_r@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 + getloadavg@Base 8 + getmntent@Base 4.9 + getmntent_r@Base 4.9 + getnameinfo@Base 4.9 + getpass@Base 5 + getpeername@Base 4.9 + getpwent@Base 5 + getpwent_r@Base 5 + getpwnam@Base 4.9 + getpwnam_r@Base 4.9 + getpwuid@Base 4.9 + getpwuid_r@Base 4.9 + getresgid@Base 5 + getresuid@Base 5 + getsockname@Base 4.9 + getsockopt@Base 4.9 + getutent@Base 8 + getutid@Base 8 + getutline@Base 8 + getutxent@Base 8 + getutxid@Base 8 + getutxline@Base 8 + getxattr@Base 5 + glob64@Base 4.9 + glob@Base 4.9 + gmtime@Base 4.8 + gmtime_r@Base 4.8 + iconv@Base 4.9 + if_indextoname@Base 5 + if_nametoindex@Base 5 + index@Base 4.8 + inet_aton@Base 4.9 + inet_ntop@Base 4.9 + inet_pton@Base 4.9 + initgroups@Base 4.9 + ioctl@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 + listxattr@Base 5 + llistxattr@Base 5 + localtime@Base 4.8 + localtime_r@Base 4.8 + longjmp@Base 4.8 + lrand48_r@Base 4.9 + mallinfo@Base 4.8 + malloc@Base 4.8 + malloc_stats@Base 4.8 + malloc_usable_size@Base 4.8 + mallopt@Base 4.8 + mbsnrtowcs@Base 4.9 + mbsrtowcs@Base 4.9 + mbstowcs@Base 4.9 + mcheck@Base 8 + mcheck_pedantic@Base 8 + memalign@Base 4.8 + memchr@Base 5 + memcmp@Base 4.8 + memcpy@Base 4.8 + memmem@Base 7 + memmove@Base 4.8 + memrchr@Base 5 + memset@Base 4.8 + mincore@Base 6.2 + mktime@Base 5 + mlock@Base 4.8 + mlockall@Base 4.8 + modf@Base 4.9 + modff@Base 4.9 + modfl@Base 4.9 + mprobe@Base 8 + munlock@Base 4.8 + munlockall@Base 4.8 + open_memstream@Base 5 + open_wmemstream@Base 5 + opendir@Base 6.2 + poll@Base 4.9 + posix_memalign@Base 4.8 + ppoll@Base 4.9 + prctl@Base 4.8 + pread64@Base 4.8 + pread@Base 4.8 + preadv64@Base 4.9 + preadv@Base 4.9 + printf@Base 5 + process_vm_readv@Base 6.2 + process_vm_writev@Base 6.2 + 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_barrierattr_getpshared@Base 5 + pthread_condattr_getclock@Base 5 + pthread_condattr_getpshared@Base 5 + pthread_create@Base 4.8 + pthread_getschedparam@Base 4.9 + pthread_join@Base 6.2 + pthread_mutex_lock@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_rwlockattr_getkind_np@Base 5 + pthread_rwlockattr_getpshared@Base 5 + pthread_setcancelstate@Base 6.2 + pthread_setcanceltype@Base 6.2 + pthread_setname_np@Base 4.9 + pvalloc@Base 4.8 + pwrite64@Base 4.8 + pwrite@Base 4.8 + pwritev64@Base 4.9 + pwritev@Base 4.9 + rand_r@Base 5 + random_r@Base 4.9 + read@Base 4.8 + 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.8 + realpath@Base 4.9 + recv@Base 7 + recvfrom@Base 7 + recvmsg@Base 4.9 + remquo@Base 4.9 + remquof@Base 4.9 + remquol@Base 4.9 + scandir64@Base 4.9 + scandir@Base 4.9 + scanf@Base 4.8 + sched_getaffinity@Base 4.9 + sched_getparam@Base 6.2 + sem_destroy@Base 6.2 + sem_getvalue@Base 6.2 + sem_init@Base 6.2 + sem_post@Base 6.2 + sem_timedwait@Base 6.2 + sem_trywait@Base 6.2 + sem_wait@Base 6.2 + send@Base 7 + sendmsg@Base 7 + sendto@Base 7 + setgrent@Base 5 + setitimer@Base 4.9 + setlocale@Base 4.9 + setpwent@Base 5 + sigaction@Base 4.8 + sigemptyset@Base 4.9 + sigfillset@Base 4.9 + siglongjmp@Base 4.8 + signal@Base 4.8 + sigpending@Base 4.9 + sigprocmask@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 + snprintf@Base 5 + sprintf@Base 5 + sscanf@Base 4.8 + statfs64@Base 4.9 + statfs@Base 4.9 + statvfs64@Base 4.9 + statvfs@Base 4.9 + strcasecmp@Base 4.8 + strcasestr@Base 6.2 + strcat@Base 4.8 + strchr@Base 4.8 + strchrnul@Base 7 + strcmp@Base 4.8 + strcpy@Base 4.8 + strcspn@Base 6.2 + strdup@Base 4.8 + strerror@Base 4.9 + strerror_r@Base 4.9 + strlen@Base 4.8 + strncasecmp@Base 4.8 + strncat@Base 4.8 + strncmp@Base 4.8 + strncpy@Base 4.8 + strndup@Base 8 + strnlen@Base 4.8 + strpbrk@Base 6.2 + strptime@Base 4.9 + strrchr@Base 7 + strspn@Base 6.2 + strstr@Base 6.2 + strtoimax@Base 4.9 + strtok@Base 8 + strtol@Base 4.8 + strtoll@Base 4.8 + strtoumax@Base 4.9 + swapcontext@Base 4.8 + 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 + tmpnam@Base 4.9 + tmpnam_r@Base 4.9 + tsearch@Base 5 + ttyname_r@Base 7 + valloc@Base 4.8 + vasprintf@Base 5 + vfprintf@Base 5 + vfscanf@Base 4.8 + vprintf@Base 5 + vscanf@Base 4.8 + vsnprintf@Base 5 + vsprintf@Base 5 + vsscanf@Base 4.8 + wait3@Base 4.9 + wait4@Base 4.9 + wait@Base 4.9 + waitid@Base 4.9 + waitpid@Base 4.9 + wcrtomb@Base 6.2 + wcscat@Base 8 + wcslen@Base 4.9 + wcsncat@Base 8 + wcsnlen@Base 8 + wcsnrtombs@Base 4.9 + wcsrtombs@Base 4.9 + wcstombs@Base 4.9 + wordexp@Base 4.9 + write@Base 4.8 + 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-8-8.2.0.orig/debian/libasan5.symbols +++ gcc-8-8.2.0/debian/libasan5.symbols @@ -0,0 +1,28 @@ +libasan.so.5 libasan5 #MINVER# +#include "libasan.symbols.common" +(arch=!arm64 !alpha !amd64 !ia64 !mips64el !ppc64 !ppc64el !s390x !sparc64 !kfreebsd-amd64)#include "libasan.symbols.32" +(arch=arm64 alpha amd64 ia64 mips64el ppc64 ppc64el s390x sparc64 kfreebsd-amd64)#include "libasan.symbols.64" +(arch=armel armhf sparc64 x32)#include "libasan.symbols.16" +# these are missing on some archs ... + (arch=!s390x)__interceptor___tls_get_addr@Base 5 + (arch=!powerpc !ppc64 !ppc64el !s390x)__tls_get_addr@Base 5 + (arch=powerpc ppc64 ppc64el)__tls_get_addr_opt@Base 7 + (arch=s390x)__interceptor___tls_get_addr_internal@Base 8 + (arch=s390x)__interceptor___tls_get_offset@Base 8 + (arch=s390x)__tls_get_addr_internal@Base 8 + (arch=s390x)__tls_get_offset@Base 8 + (arch=!powerpc !sparc !sparc64)__interceptor_ptrace@Base 4.9 + (arch=!powerpc !sparc !sparc64)ptrace@Base 4.9 + (arch=base-any-any-amd64 any-mips any-mipsel x32)internal_sigreturn@Base 7 + (arch=armel armhf)__interceptor___aeabi_memclr4@Base 5 + (arch=armel armhf)__interceptor___aeabi_memclr8@Base 5 + (arch=armel armhf)__interceptor___aeabi_memclr@Base 5 + (arch=armel armhf)__interceptor___aeabi_memcpy4@Base 5 + (arch=armel armhf)__interceptor___aeabi_memcpy8@Base 5 + (arch=armel armhf)__interceptor___aeabi_memcpy@Base 5 + (arch=armel armhf)__interceptor___aeabi_memmove4@Base 5 + (arch=armel armhf)__interceptor___aeabi_memmove8@Base 5 + (arch=armel armhf)__interceptor___aeabi_memmove@Base 5 + (arch=armel armhf)__interceptor___aeabi_memset4@Base 5 + (arch=armel armhf)__interceptor___aeabi_memset8@Base 5 + (arch=armel armhf)__interceptor___aeabi_memset@Base 5 --- gcc-8-8.2.0.orig/debian/libatomic.symbols +++ gcc-8-8.2.0/debian/libatomic.symbols @@ -0,0 +1,4 @@ +libatomic.so.1 #PACKAGE# #MINVER# + (symver)LIBATOMIC_1.0 4.8 + (symver)LIBATOMIC_1.1 4.9 + (symver)LIBATOMIC_1.2 6 --- gcc-8-8.2.0.orig/debian/libcc1-0.symbols +++ gcc-8-8.2.0/debian/libcc1-0.symbols @@ -0,0 +1,66 @@ +libcc1.so.0 libcc1-0 #MINVER# + (optional=abi_c++98)_ZNSs12_S_constructIPcEES0_T_S1_RKSaIcESt20forward_iterator_tag@Base 5 + (optional=abi_c++98)_ZNSt6vectorISsSaISsEE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPSsS1_EERKSs@Base 5 + (optional=abi_c++11)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12emplace_backIJS5_EEEvDpOT_@Base 6 + (optional=abi_c++11)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE19_M_emplace_back_auxIJRKS5_EEEvDpOT_@Base 6 + (optional=abi_c++11)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE19_M_emplace_back_auxIJS5_EEEvDpOT_@Base 6 + (optional=abi_c++17)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_@Base 8 + (optional=abi_c++17)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_@Base 8 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@Base 8 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag@Base 8 + _xexit_cleanup@Base 5 + concat@Base 5 + concat_copy2@Base 5 + concat_copy@Base 5 + concat_length@Base 5 + gcc_c_fe_context@Base 5 + gcc_cp_fe_context@Base 7 + htab_clear_slot@Base 5 + htab_collisions@Base 5 + htab_create@Base 5 + htab_create_alloc@Base 5 + htab_create_alloc_ex@Base 5 + htab_create_typed_alloc@Base 5 + htab_delete@Base 5 + htab_elements@Base 5 + htab_empty@Base 5 + htab_eq_pointer@Base 5 + htab_find@Base 5 + htab_find_slot@Base 5 + htab_find_slot_with_hash@Base 5 + htab_find_with_hash@Base 5 + htab_hash_pointer@Base 5 + htab_hash_string@Base 5 + htab_remove_elt@Base 5 + htab_remove_elt_with_hash@Base 5 + htab_set_functions_ex@Base 5 + htab_size@Base 5 + htab_traverse@Base 5 + htab_traverse_noresize@Base 5 + htab_try_create@Base 5 + iterative_hash@Base 5 + libiberty_concat_ptr@Base 5 + reconcat@Base 5 + xcalloc@Base 5 + xexit@Base 5 + xmalloc@Base 5 + xmalloc_failed@Base 5 + xmalloc_set_program_name@Base 5 + xre_comp@Base 5 + xre_compile_fastmap@Base 5 + xre_compile_pattern@Base 5 + xre_exec@Base 5 + xre_match@Base 5 + xre_match_2@Base 5 + xre_max_failures@Base 5 + xre_search@Base 5 + xre_search_2@Base 5 + xre_set_registers@Base 5 + xre_set_syntax@Base 5 + xre_syntax_options@Base 5 + xrealloc@Base 5 + xregcomp@Base 5 + xregerror@Base 5 + xregexec@Base 5 + xregfree@Base 5 + xstrdup@Base 7 --- gcc-8-8.2.0.orig/debian/libgcc.symbols +++ gcc-8-8.2.0/debian/libgcc.symbols @@ -0,0 +1,26 @@ +libgcc_s.so.1 #PACKAGE# #MINVER# + (symver)GCC_3.0 1:3.0 + (symver)GCC_3.3 1:3.3 + (symver)GCC_3.3.1 1:3.3.1 +# __gcc_personality_sj0, __gcc_personality_v0 +#(symver|optional)GCC_3.3.2 1:3.3.2 + (symver|arch=armel armhf mips mipsel mipsn32 mips64 mips64el powerpc powerpcspe sh4)GCC_3.3.4 1:3.3.4 + (symver)GCC_3.4 1:3.4 + (symver)GCC_3.4.2 1:3.4.2 +#(symver|arch-bits=32)GCC_3.4.4 1:3.4.4 + (symver|arch=!armel !armhf !any-i386 !mips !mipsel !powerpc !powerpcspe !s390 !sh4 !sparc)GCC_3.4.4 1:3.4.4 + (symver|arch=armel armhf|ignore-blacklist)GCC_3.5 1:3.5 + (symver)GCC_4.0.0 1:4.0 + (symver|arch=powerpc s390 s390x)GCC_4.1.0 1:4.1 + (symver)GCC_4.2.0 1:4.2 + (symver)GCC_4.3.0 1:4.3 + (symver|arch=any-i386 mips mipsel mipsn32 mips64 mips64el)GCC_4.4.0 1:4.4 + (symver|arch=arm64 any-i386 mipsn32 mips64 mips64el)GCC_4.5.0 1:4.5 +#(symver|optional)GCC_4.6.0 1:4.6 + (symver)GCC_4.7.0 1:4.7 + (symver|arch=any-amd64 any-i386 x32)GCC_4.8.0 1:4.8 + (symver|arch=!any-amd64 !x32 !sparc64 !s390x)GLIBC_2.0 1:4.2 + (symver|arch=s390x sh4 sparc64)GLIBC_2.2 1:4.2 + (symver|arch=sparc)GCC_LDBL_3.0@GCC_LDBL_3.0 1:3.0 + (symver|arch=alpha sparc)GCC_LDBL_4.0.0@GCC_LDBL_4.0.0 1:4.0 + (symver)GCC_7.0.0 1:7 --- gcc-8-8.2.0.orig/debian/libgcc.symbols.aeabi +++ gcc-8-8.2.0/debian/libgcc.symbols.aeabi @@ -0,0 +1,69 @@ + __aeabi_cdcmpeq@GCC_3.5 1:3.5 + __aeabi_cdcmple@GCC_3.5 1:3.5 + __aeabi_cdrcmple@GCC_3.5 1:3.5 + __aeabi_cfcmpeq@GCC_3.5 1:3.5 + __aeabi_cfcmple@GCC_3.5 1:3.5 + __aeabi_cfrcmple@GCC_3.5 1:3.5 + __aeabi_d2f@GCC_3.5 1:3.5 + __aeabi_d2iz@GCC_3.5 1:3.5 + __aeabi_d2lz@GCC_3.5 1:3.5 + __aeabi_d2uiz@GCC_3.5 1:3.5 + __aeabi_d2ulz@GCC_3.5 1:3.5 + __aeabi_dadd@GCC_3.5 1:3.5 + __aeabi_dcmpeq@GCC_3.5 1:3.5 + __aeabi_dcmpge@GCC_3.5 1:3.5 + __aeabi_dcmpgt@GCC_3.5 1:3.5 + __aeabi_dcmple@GCC_3.5 1:3.5 + __aeabi_dcmplt@GCC_3.5 1:3.5 + __aeabi_dcmpun@GCC_3.5 1:3.5 + __aeabi_ddiv@GCC_3.5 1:3.5 + __aeabi_dmul@GCC_3.5 1:3.5 + __aeabi_dneg@GCC_3.5 1:3.5 + __aeabi_drsub@GCC_3.5 1:3.5 + __aeabi_dsub@GCC_3.5 1:3.5 + __aeabi_f2d@GCC_3.5 1:3.5 + __aeabi_f2iz@GCC_3.5 1:3.5 + __aeabi_f2lz@GCC_3.5 1:3.5 + __aeabi_f2uiz@GCC_3.5 1:3.5 + __aeabi_f2ulz@GCC_3.5 1:3.5 + __aeabi_fadd@GCC_3.5 1:3.5 + __aeabi_fcmpeq@GCC_3.5 1:3.5 + __aeabi_fcmpge@GCC_3.5 1:3.5 + __aeabi_fcmpgt@GCC_3.5 1:3.5 + __aeabi_fcmple@GCC_3.5 1:3.5 + __aeabi_fcmplt@GCC_3.5 1:3.5 + __aeabi_fcmpun@GCC_3.5 1:3.5 + __aeabi_fdiv@GCC_3.5 1:3.5 + __aeabi_fmul@GCC_3.5 1:3.5 + __aeabi_fneg@GCC_3.5 1:3.5 + __aeabi_frsub@GCC_3.5 1:3.5 + __aeabi_fsub@GCC_3.5 1:3.5 + __aeabi_i2d@GCC_3.5 1:3.5 + __aeabi_i2f@GCC_3.5 1:3.5 + __aeabi_idiv@GCC_3.5 1:3.5 + __aeabi_idiv0@GCC_3.5 1:4.5.0 + __aeabi_idivmod@GCC_3.5 1:3.5 + __aeabi_l2d@GCC_3.5 1:3.5 + __aeabi_l2f@GCC_3.5 1:3.5 + __aeabi_lasr@GCC_3.5 1:3.5 + __aeabi_lcmp@GCC_3.5 1:3.5 + __aeabi_ldivmod@GCC_3.5 1:3.5 + __aeabi_ldiv0@GCC_3.5 1:4.5.0 + __aeabi_llsl@GCC_3.5 1:3.5 + __aeabi_llsr@GCC_3.5 1:3.5 + __aeabi_lmul@GCC_3.5 1:3.5 + __aeabi_ui2d@GCC_3.5 1:3.5 + __aeabi_ui2f@GCC_3.5 1:3.5 + __aeabi_uidiv@GCC_3.5 1:3.5 + __aeabi_uidivmod@GCC_3.5 1:3.5 + __aeabi_ul2d@GCC_3.5 1:3.5 + __aeabi_ul2f@GCC_3.5 1:3.5 + __aeabi_ulcmp@GCC_3.5 1:3.5 + __aeabi_uldivmod@GCC_3.5 1:3.5 + __aeabi_unwind_cpp_pr0@GCC_3.5 1:3.5 + __aeabi_unwind_cpp_pr1@GCC_3.5 1:3.5 + __aeabi_unwind_cpp_pr2@GCC_3.5 1:3.5 + __aeabi_uread4@GCC_3.5 1:3.5 + __aeabi_uread8@GCC_3.5 1:3.5 + __aeabi_uwrite4@GCC_3.5 1:3.5 + __aeabi_uwrite8@GCC_3.5 1:3.5 --- gcc-8-8.2.0.orig/debian/libgcc2.symbols.m68k +++ gcc-8-8.2.0/debian/libgcc2.symbols.m68k @@ -0,0 +1,162 @@ +libgcc_s.so.2 libgcc2 #MINVER# + GCC_3.0@GCC_3.0 4.2.1 + GCC_3.3.1@GCC_3.3.1 4.2.1 + GCC_3.3.4@GCC_3.3.4 4.4.5 + GCC_3.3@GCC_3.3 4.2.1 + GCC_3.4.2@GCC_3.4.2 4.2.1 + GCC_3.4@GCC_3.4 4.2.1 + GCC_4.0.0@GCC_4.0.0 4.2.1 + GCC_4.2.0@GCC_4.2.0 4.2.1 + GCC_4.3.0@GCC_4.3.0 4.3.0 + GCC_4.5.0@GCC_4.5.0 4.5 + GCC_4.7.0@GCC_4.7.0 4.7 + GLIBC_2.0@GLIBC_2.0 4.2.1 + _Unwind_Backtrace@GCC_3.3 4.2.1 + _Unwind_DeleteException@GCC_3.0 4.2.1 + _Unwind_FindEnclosingFunction@GCC_3.3 4.2.1 + _Unwind_Find_FDE@GCC_3.0 4.2.1 + _Unwind_ForcedUnwind@GCC_3.0 4.2.1 + _Unwind_GetCFA@GCC_3.3 4.2.1 + _Unwind_GetDataRelBase@GCC_3.0 4.2.1 + _Unwind_GetGR@GCC_3.0 4.2.1 + _Unwind_GetIP@GCC_3.0 4.2.1 + _Unwind_GetIPInfo@GCC_4.2.0 4.2.1 + _Unwind_GetLanguageSpecificData@GCC_3.0 4.2.1 + _Unwind_GetRegionStart@GCC_3.0 4.2.1 + _Unwind_GetTextRelBase@GCC_3.0 4.2.1 + _Unwind_RaiseException@GCC_3.0 4.2.1 + _Unwind_Resume@GCC_3.0 4.2.1 + _Unwind_Resume_or_Rethrow@GCC_3.3 4.2.1 + _Unwind_SetGR@GCC_3.0 4.2.1 + _Unwind_SetIP@GCC_3.0 4.2.1 + __absvdi2@GCC_3.0 4.2.1 + __absvsi2@GCC_3.0 4.2.1 + __adddf3@GCC_3.0 4.4.5 + __addsf3@GCC_3.0 4.4.5 + __addvdi3@GCC_3.0 4.2.1 + __addvsi3@GCC_3.0 4.2.1 + __addxf3@GCC_3.0 4.4.5 + __ashldi3@GCC_3.0 4.2.1 + __ashrdi3@GCC_3.0 4.2.1 + __bswapdi2@GCC_4.3.0 4.3.0 + __bswapsi2@GCC_4.3.0 4.3.0 + __clear_cache@GCC_3.0 4.2.1 + __clrsbdi2@GCC_4.7.0 4.7 + __clrsbsi2@GCC_4.7.0 4.7 + __clzdi2@GCC_3.4 4.2.1 + __clzsi2@GCC_3.4 4.2.1 + __cmpdi2@GCC_3.0 4.2.1 + __ctzdi2@GCC_3.4 4.2.1 + __ctzsi2@GCC_3.4 4.2.1 + __deregister_frame@GLIBC_2.0 4.2.1 + __deregister_frame_info@GLIBC_2.0 4.2.1 + __deregister_frame_info_bases@GCC_3.0 4.2.1 + __divdc3@GCC_4.0.0 4.2.1 + __divdf3@GCC_3.0 4.4.5 + __divdi3@GLIBC_2.0 4.2.1 + __divsc3@GCC_4.0.0 4.2.1 + __divsf3@GCC_3.0 4.4.5 + __divsi3@GCC_3.0 4.4.5 + __divxc3@GCC_4.0.0 4.2.1 + __divxf3@GCC_3.0 4.4.5 + __emutls_get_address@GCC_4.3.0 4.3.0 + __emutls_register_common@GCC_4.3.0 4.3.0 + __enable_execute_stack@GCC_3.4.2 4.2.1 + __eqdf2@GCC_3.0 4.4.5 + __eqsf2@GCC_3.0 4.4.5 + __eqxf2@GCC_3.0 4.4.5 + __extenddfxf2@GCC_3.0 4.4.5 + __extendsfdf2@GCC_3.0 4.4.5 + __extendsfxf2@GCC_3.0 4.4.5 + __ffsdi2@GCC_3.0 4.2.1 + __ffssi2@GCC_4.3.0 4.3.0 + __fixdfdi@GCC_3.0 4.2.1 + __fixdfsi@GCC_3.0 4.4.5 + __fixsfdi@GCC_3.0 4.2.1 + __fixsfsi@GCC_3.0 4.4.5 + __fixunsdfdi@GCC_3.0 4.2.1 + __fixunsdfsi@GCC_3.0 4.2.1 + __fixunssfdi@GCC_3.0 4.2.1 + __fixunssfsi@GCC_3.0 4.2.1 + __fixunsxfdi@GCC_3.0 4.2.1 + __fixunsxfsi@GCC_3.0 4.2.1 + __fixxfdi@GCC_3.0 4.2.1 + __fixxfsi@GCC_3.0 4.4.5 + __floatdidf@GCC_3.0 4.2.1 + __floatdisf@GCC_3.0 4.2.1 + __floatdixf@GCC_3.0 4.2.1 + __floatsidf@GCC_3.0 4.4.5 + __floatsisf@GCC_3.0 4.4.5 + __floatsixf@GCC_3.0 4.4.5 + __floatundidf@GCC_4.2.0 4.2.1 + __floatundisf@GCC_4.2.0 4.2.1 + __floatundixf@GCC_4.2.0 4.2.1 + __floatunsidf@GCC_4.2.0 4.4.5 + __floatunsisf@GCC_4.2.0 4.4.5 + __floatunsixf@GCC_4.2.0 4.4.5 + __frame_state_for@GLIBC_2.0 4.2.1 + __gcc_personality_v0@GCC_3.3.1 4.2.1 + __gedf2@GCC_3.0 4.4.5 + __gesf2@GCC_3.0 4.4.5 + __gexf2@GCC_3.0 4.4.5 + __gtdf2@GCC_3.0 4.4.5 + __gtsf2@GCC_3.0 4.4.5 + __gtxf2@GCC_3.0 4.4.5 + __ledf2@GCC_3.0 4.4.5 + __lesf2@GCC_3.0 4.4.5 + __lexf2@GCC_3.0 4.4.5 + __lshrdi3@GCC_3.0 4.2.1 + __ltdf2@GCC_3.0 4.4.5 + __ltsf2@GCC_3.0 4.4.5 + __ltxf2@GCC_3.0 4.4.5 + __moddi3@GLIBC_2.0 4.2.1 + __modsi3@GCC_3.0 4.4.5 + __muldc3@GCC_4.0.0 4.2.1 + __muldf3@GCC_3.0 4.4.5 + __muldi3@GCC_3.0 4.2.1 + __mulsc3@GCC_4.0.0 4.2.1 + __mulsf3@GCC_3.0 4.4.5 + __mulsi3@GCC_3.0 4.4.5 + __mulvdi3@GCC_3.0 4.2.1 + __mulvsi3@GCC_3.0 4.2.1 + __mulxc3@GCC_4.0.0 4.2.1 + __mulxf3@GCC_3.0 4.4.5 + __nedf2@GCC_3.0 4.4.5 + __negdf2@GCC_3.0 4.4.5 + __negdi2@GCC_3.0 4.2.1 + __negsf2@GCC_3.0 4.4.5 + __negvdi2@GCC_3.0 4.2.1 + __negvsi2@GCC_3.0 4.2.1 + __negxf2@GCC_3.0 4.4.5 + __nesf2@GCC_3.0 4.4.5 + __nexf2@GCC_3.0 4.4.5 + __paritydi2@GCC_3.4 4.2.1 + __paritysi2@GCC_3.4 4.2.1 + __popcountdi2@GCC_3.4 4.2.1 + __popcountsi2@GCC_3.4 4.2.1 + __powidf2@GCC_4.0.0 4.2.1 + __powisf2@GCC_4.0.0 4.2.1 + __powixf2@GCC_4.0.0 4.2.1 + __register_frame@GLIBC_2.0 4.2.1 + __register_frame_info@GLIBC_2.0 4.2.1 + __register_frame_info_bases@GCC_3.0 4.2.1 + __register_frame_info_table@GLIBC_2.0 4.2.1 + __register_frame_info_table_bases@GCC_3.0 4.2.1 + __register_frame_table@GLIBC_2.0 4.2.1 + __subdf3@GCC_3.0 4.4.5 + __subsf3@GCC_3.0 4.4.5 + __subvdi3@GCC_3.0 4.2.1 + __subvsi3@GCC_3.0 4.2.1 + __subxf3@GCC_3.0 4.4.5 + __truncdfsf2@GCC_3.0 4.4.5 + __truncxfdf2@GCC_3.0 4.4.5 + __truncxfsf2@GCC_3.0 4.4.5 + __ucmpdi2@GCC_3.0 4.2.1 + __udivdi3@GLIBC_2.0 4.2.1 + __udivmoddi4@GCC_3.0 4.2.1 + __udivsi3@GCC_3.0 4.4.5 + __umoddi3@GLIBC_2.0 4.2.1 + __umodsi3@GCC_3.0 4.4.5 + __unorddf2@GCC_3.3.4 4.4.5 + __unordsf2@GCC_3.3.4 4.4.5 + __unordxf2@GCC_4.5.0 4.7 --- gcc-8-8.2.0.orig/debian/libgcc4.symbols.hppa +++ gcc-8-8.2.0/debian/libgcc4.symbols.hppa @@ -0,0 +1,96 @@ +libgcc_s.so.4 libgcc4 #MINVER# + GCC_3.0@GCC_3.0 4.1.1 + GCC_3.3.1@GCC_3.3.1 4.1.1 + GCC_3.3@GCC_3.3 4.1.1 + GCC_3.4.2@GCC_3.4.2 4.1.1 + GCC_3.4@GCC_3.4 4.1.1 + GCC_4.0.0@GCC_4.0.0 4.1.1 + GCC_4.2.0@GCC_4.2.0 4.1.1 + GCC_4.3.0@GCC_4.3.0 4.3 + GCC_4.7.0@GCC_4.7.0 1:4.7 + GLIBC_2.0@GLIBC_2.0 4.1.1 + _Unwind_Backtrace@GCC_3.3 4.1.1 + _Unwind_DeleteException@GCC_3.0 4.1.1 + _Unwind_FindEnclosingFunction@GCC_3.3 4.1.1 + _Unwind_Find_FDE@GCC_3.0 4.1.1 + _Unwind_ForcedUnwind@GCC_3.0 4.1.1 + _Unwind_GetCFA@GCC_3.3 4.1.1 + _Unwind_GetDataRelBase@GCC_3.0 4.1.1 + _Unwind_GetGR@GCC_3.0 4.1.1 + _Unwind_GetIP@GCC_3.0 4.1.1 + _Unwind_GetIPInfo@GCC_4.2.0 4.1.1 + _Unwind_GetLanguageSpecificData@GCC_3.0 4.1.1 + _Unwind_GetRegionStart@GCC_3.0 4.1.1 + _Unwind_GetTextRelBase@GCC_3.0 4.1.1 + _Unwind_RaiseException@GCC_3.0 4.1.1 + _Unwind_Resume@GCC_3.0 4.1.1 + _Unwind_Resume_or_Rethrow@GCC_3.3 4.1.1 + _Unwind_SetGR@GCC_3.0 4.1.1 + _Unwind_SetIP@GCC_3.0 4.1.1 + __absvdi2@GCC_3.0 4.1.1 + __absvsi2@GCC_3.0 4.1.1 + __addvdi3@GCC_3.0 4.1.1 + __addvsi3@GCC_3.0 4.1.1 + __ashldi3@GCC_3.0 4.1.1 + __ashrdi3@GCC_3.0 4.1.1 + __bswapdi2@GCC_4.3.0 4.3 + __bswapsi2@GCC_4.3.0 4.3 + __clear_cache@GCC_3.0 4.1.1 + __clrsbdi2@GCC_4.7.0 4.7 + __clrsbsi2@GCC_4.7.0 4.7 + __clzdi2@GCC_3.4 4.1.1 + __clzsi2@GCC_3.4 4.1.1 + __cmpdi2@GCC_3.0 4.1.1 + __ctzdi2@GCC_3.4 4.1.1 + __ctzsi2@GCC_3.4 4.1.1 + __deregister_frame@GLIBC_2.0 4.1.1 + __deregister_frame_info@GLIBC_2.0 4.1.1 + __deregister_frame_info_bases@GCC_3.0 4.1.1 + __divdc3@GCC_4.0.0 4.1.1 + __divdi3@GLIBC_2.0 4.1.1 + __divsc3@GCC_4.0.0 4.1.1 + __emutls_get_address@GCC_4.3.0 4.3 + __emutls_register_common@GCC_4.3.0 4.3 + __enable_execute_stack@GCC_3.4.2 4.1.1 + __ffsdi2@GCC_3.0 4.1.1 + __ffssi2@GCC_4.3.0 4.3 + __fixdfdi@GCC_3.0 4.1.1 + __fixsfdi@GCC_3.0 4.1.1 + __fixunsdfdi@GCC_3.0 4.1.1 + __fixunsdfsi@GCC_3.0 4.1.1 + __fixunssfdi@GCC_3.0 4.1.1 + __fixunssfsi@GCC_3.0 4.1.1 + __floatdidf@GCC_3.0 4.1.1 + __floatdisf@GCC_3.0 4.1.1 + __floatundidf@GCC_4.2.0 4.2.1 + __floatundisf@GCC_4.2.0 4.2.1 + __frame_state_for@GLIBC_2.0 4.1.1 + __gcc_personality_v0@GCC_3.3.1 4.1.1 + __lshrdi3@GCC_3.0 4.1.1 + __moddi3@GLIBC_2.0 4.1.1 + __muldc3@GCC_4.0.0 4.1.1 + __muldi3@GCC_3.0 4.1.1 + __mulsc3@GCC_4.0.0 4.1.1 + __mulvdi3@GCC_3.0 4.1.1 + __mulvsi3@GCC_3.0 4.1.1 + __negdi2@GCC_3.0 4.1.1 + __negvdi2@GCC_3.0 4.1.1 + __negvsi2@GCC_3.0 4.1.1 + __paritydi2@GCC_3.4 4.1.1 + __paritysi2@GCC_3.4 4.1.1 + __popcountdi2@GCC_3.4 4.1.1 + __popcountsi2@GCC_3.4 4.1.1 + __powidf2@GCC_4.0.0 4.1.1 + __powisf2@GCC_4.0.0 4.1.1 + __register_frame@GLIBC_2.0 4.1.1 + __register_frame_info@GLIBC_2.0 4.1.1 + __register_frame_info_bases@GCC_3.0 4.1.1 + __register_frame_info_table@GLIBC_2.0 4.1.1 + __register_frame_info_table_bases@GCC_3.0 4.1.1 + __register_frame_table@GLIBC_2.0 4.1.1 + __subvdi3@GCC_3.0 4.1.1 + __subvsi3@GCC_3.0 4.1.1 + __ucmpdi2@GCC_3.0 4.1.1 + __udivdi3@GLIBC_2.0 4.1.1 + __udivmoddi4@GCC_3.0 4.1.1 + __umoddi3@GLIBC_2.0 4.1.1 --- gcc-8-8.2.0.orig/debian/libgccLC.postinst +++ gcc-8-8.2.0/debian/libgccLC.postinst @@ -0,0 +1,12 @@ +#! /bin/sh -e + +case "$1" in + configure) + docdir=/usr/share/doc/libgcc@LC@ + if [ -d $docdir ] && [ ! -h $docdir ]; then + rm -rf $docdir + ln -s gcc-@BV@-base $docdir + fi +esac + +#DEBHELPER# --- gcc-8-8.2.0.orig/debian/libgccjit0.symbols +++ gcc-8-8.2.0/debian/libgccjit0.symbols @@ -0,0 +1,12 @@ +libgccjit.so.0 #PACKAGE# #MINVER# + (symver)LIBGCCJIT_ABI_0 5.1 + (symver)LIBGCCJIT_ABI_1 5.1 + (symver)LIBGCCJIT_ABI_2 5.1 + (symver)LIBGCCJIT_ABI_3 5.1 + (symver)LIBGCCJIT_ABI_4 6 + (symver)LIBGCCJIT_ABI_5 6 + (symver)LIBGCCJIT_ABI_6 7 + (symver)LIBGCCJIT_ABI_7 8 + (symver)LIBGCCJIT_ABI_8 8 + (symver)LIBGCCJIT_ABI_9 8 + (symver)LIBGCCJIT_ABI_10 8 --- gcc-8-8.2.0.orig/debian/libgfortran.symbols +++ gcc-8-8.2.0/debian/libgfortran.symbols @@ -0,0 +1,4 @@ +libgfortran.so.5 #PACKAGE# #MINVER# + (symver)GFORTRAN_8 8 + (symver)GFORTRAN_C99_8 8 + (symver)GFORTRAN_F2C_8 8 --- gcc-8-8.2.0.orig/debian/libgomp.symbols +++ gcc-8-8.2.0/debian/libgomp.symbols @@ -0,0 +1,19 @@ +libgomp.so.1 #PACKAGE# #MINVER# + (symver)GOACC_2.0 5 + (symver)GOACC_2.0.1 6 + (symver)GOMP_1.0 4.2.1 + (symver)GOMP_2.0 4.4 + (symver)GOMP_3.0 4.7 + (symver)GOMP_4.0 4.9 + (symver)GOMP_4.0.1 5 + (symver)GOMP_4.5 6 + (symver)GOMP_PLUGIN_1.0 5 + (symver)GOMP_PLUGIN_1.1 6 + (symver)OACC_2.0 5 + (symver)OACC_2.0.1 8 + (symver)OMP_1.0 4.2.1 + (symver)OMP_2.0 4.2.1 + (symver)OMP_3.0 4.4 + (symver)OMP_3.1 4.7 + (symver)OMP_4.0 4.9 + (symver)OMP_4.5 6 --- gcc-8-8.2.0.orig/debian/libhsail-rt.symbols +++ gcc-8-8.2.0/debian/libhsail-rt.symbols @@ -0,0 +1,154 @@ +libhsail-rt.so.0 #PACKAGE# #MINVER# + __hsail_addqueuewriteindex@Base 7 + __hsail_alloca@Base 7 + __hsail_alloca_pop_frame@Base 7 + __hsail_alloca_push_frame@Base 7 + __hsail_arrivefbar@Base 7 + __hsail_atomic_max_s32@Base 7 + __hsail_atomic_max_s64@Base 7 + __hsail_atomic_max_u32@Base 7 + __hsail_atomic_max_u64@Base 7 + __hsail_atomic_min_s32@Base 7 + __hsail_atomic_min_s64@Base 7 + __hsail_atomic_min_u32@Base 7 + __hsail_atomic_min_u64@Base 7 + __hsail_atomic_wrapdec_u32@Base 7 + __hsail_atomic_wrapdec_u64@Base 7 + __hsail_atomic_wrapinc_u32@Base 7 + __hsail_atomic_wrapinc_u64@Base 7 + __hsail_barrier@Base 7 + __hsail_bitalign@Base 7 + __hsail_bitextract_s32@Base 7 + __hsail_bitextract_s64@Base 7 + __hsail_bitextract_u32@Base 7 + __hsail_bitextract_u64@Base 7 + __hsail_bitinsert_u32@Base 7 + __hsail_bitinsert_u64@Base 7 + __hsail_bitmask_u32@Base 7 + __hsail_bitmask_u64@Base 7 + __hsail_bitrev_u32@Base 7 + __hsail_bitrev_u64@Base 7 + __hsail_bitselect_u32@Base 7 + __hsail_bitselect_u64@Base 7 + __hsail_borrow_u32@Base 7 + __hsail_borrow_u64@Base 7 + __hsail_bytealign@Base 7 + __hsail_carry_u32@Base 7 + __hsail_carry_u64@Base 7 + __hsail_casqueuewriteindex@Base 7 + __hsail_class_f32@Base 7 + __hsail_class_f32_f16@Base 7 + __hsail_class_f64@Base 8 + __hsail_clock@Base 7 + __hsail_cuid@Base 7 + __hsail_currentworkgroupsize@Base 7 + __hsail_currentworkitemflatid@Base 7 + __hsail_cvt_zeroi_sat_s16_f32@Base 7 + __hsail_cvt_zeroi_sat_s16_f64@Base 7 + __hsail_cvt_zeroi_sat_s32_f32@Base 7 + __hsail_cvt_zeroi_sat_s32_f64@Base 7 + __hsail_cvt_zeroi_sat_s64_f32@Base 7 + __hsail_cvt_zeroi_sat_s64_f64@Base 7 + __hsail_cvt_zeroi_sat_s8_f32@Base 7 + __hsail_cvt_zeroi_sat_s8_f64@Base 7 + __hsail_cvt_zeroi_sat_u16_f32@Base 7 + __hsail_cvt_zeroi_sat_u16_f64@Base 7 + __hsail_cvt_zeroi_sat_u32_f32@Base 7 + __hsail_cvt_zeroi_sat_u32_f64@Base 7 + __hsail_cvt_zeroi_sat_u64_f32@Base 7 + __hsail_cvt_zeroi_sat_u64_f64@Base 7 + __hsail_cvt_zeroi_sat_u8_f32@Base 7 + __hsail_cvt_zeroi_sat_u8_f64@Base 7 + __hsail_debugtrap@Base 7 + __hsail_dim@Base 7 + __hsail_f16_to_f32@Base 7 + __hsail_f32_to_f16@Base 7 + __hsail_firstbit_s32@Base 7 + __hsail_firstbit_s64@Base 7 + __hsail_firstbit_u32@Base 7 + __hsail_firstbit_u64@Base 7 + __hsail_fract_f32@Base 7 + __hsail_fract_f64@Base 7 + __hsail_ftz_f32@Base 7 + __hsail_ftz_f32_f16@Base 7 + __hsail_ftz_f64@Base 7 + __hsail_gridgroups@Base 7 + __hsail_gridsize@Base 7 + __hsail_groupbaseptr@Base 7 + __hsail_initfbar@Base 7 + __hsail_joinfbar@Base 7 + __hsail_kernargbaseptr_u32@Base 7 + __hsail_kernargbaseptr_u64@Base 7 + __hsail_lastbit_u32@Base 7 + __hsail_lastbit_u64@Base 7 + __hsail_launch_kernel@Base 7 + __hsail_launch_wg_function@Base 7 + __hsail_ldqueuereadindex@Base 7 + __hsail_ldqueuewriteindex@Base 7 + __hsail_leavefbar@Base 7 + __hsail_lerp@Base 7 + __hsail_max_f32@Base 7 + __hsail_max_f64@Base 7 + __hsail_maxcuid@Base 7 + __hsail_min_f32@Base 7 + __hsail_min_f64@Base 7 + __hsail_packcvt@Base 7 + __hsail_packetcompletionsig_sig32@Base 7 + __hsail_packetcompletionsig_sig64@Base 7 + __hsail_packetid@Base 7 + __hsail_releasefbar@Base 7 + __hsail_rem_s32@Base 7 + __hsail_rem_s64@Base 7 + __hsail_sad_u16x2@Base 7 + __hsail_sad_u32@Base 7 + __hsail_sad_u8x4@Base 7 + __hsail_sadhi_u16x2_u8x4@Base 7 + __hsail_sat_add_s16@Base 7 + __hsail_sat_add_s32@Base 7 + __hsail_sat_add_s64@Base 7 + __hsail_sat_add_s8@Base 7 + __hsail_sat_add_u16@Base 7 + __hsail_sat_add_u32@Base 7 + __hsail_sat_add_u64@Base 7 + __hsail_sat_add_u8@Base 7 + __hsail_sat_mul_s16@Base 7 + __hsail_sat_mul_s32@Base 7 + __hsail_sat_mul_s64@Base 7 + __hsail_sat_mul_s8@Base 7 + __hsail_sat_mul_u16@Base 7 + __hsail_sat_mul_u32@Base 7 + __hsail_sat_mul_u64@Base 7 + __hsail_sat_mul_u8@Base 7 + __hsail_sat_sub_s16@Base 7 + __hsail_sat_sub_s32@Base 7 + __hsail_sat_sub_s64@Base 7 + __hsail_sat_sub_s8@Base 7 + __hsail_sat_sub_u16@Base 7 + __hsail_sat_sub_u32@Base 7 + __hsail_sat_sub_u64@Base 7 + __hsail_sat_sub_u8@Base 7 + __hsail_segmentp_global@Base 7 + __hsail_segmentp_group@Base 7 + __hsail_segmentp_private@Base 7 + __hsail_setworkitemid@Base 7 + __hsail_stqueuereadindex@Base 7 + __hsail_stqueuewriteindex@Base 7 + __hsail_unpackcvt@Base 7 + __hsail_waitfbar@Base 7 + __hsail_workgroupid@Base 7 + __hsail_workgroupsize@Base 7 + __hsail_workitemabsid@Base 7 + __hsail_workitemabsid_u64@Base 7 + __hsail_workitemflatabsid_u32@Base 7 + __hsail_workitemflatabsid_u64@Base 7 + __hsail_workitemflatid@Base 7 + __hsail_workitemid@Base 7 + fiber_barrier_init@Base 7 + fiber_barrier_reach@Base 7 + fiber_exit@Base 7 + fiber_init@Base 7 + fiber_int_args_to_ptr@Base 7 + fiber_join@Base 7 + fiber_yield@Base 7 + main_context@Base 7 + phsa_fatal_error@Base 7 --- gcc-8-8.2.0.orig/debian/libitm.symbols +++ gcc-8-8.2.0/debian/libitm.symbols @@ -0,0 +1,3 @@ +libitm.so.1 #PACKAGE# #MINVER# + (symver)LIBITM_1.0 4.7 + (symver)LIBITM_1.1 6 --- gcc-8-8.2.0.orig/debian/liblsan0.symbols +++ gcc-8-8.2.0/debian/liblsan0.symbols @@ -0,0 +1,157 @@ +liblsan.so.0 liblsan0 #MINVER# + OnPrint@Base 8 + _ZN11__sanitizer11CheckFailedEPKciS1_yy@Base 4.9 + _ZdaPv@Base 4.9 + _ZdaPvRKSt9nothrow_t@Base 4.9 + _ZdaPvSt11align_val_t@Base 8 + _ZdaPvSt11align_val_tRKSt9nothrow_t@Base 8 + _ZdaPvm@Base 8 + _ZdaPvmSt11align_val_t@Base 8 + _ZdlPv@Base 4.9 + _ZdlPvRKSt9nothrow_t@Base 4.9 + _ZdlPvSt11align_val_t@Base 8 + _ZdlPvSt11align_val_tRKSt9nothrow_t@Base 8 + _ZdlPvm@Base 8 + _ZdlPvmSt11align_val_t@Base 8 + _Znam@Base 4.9 + _ZnamRKSt9nothrow_t@Base 4.9 + _ZnamSt11align_val_t@Base 8 + _ZnamSt11align_val_tRKSt9nothrow_t@Base 8 + _Znwm@Base 4.9 + _ZnwmRKSt9nothrow_t@Base 4.9 + _ZnwmSt11align_val_t@Base 8 + _ZnwmSt11align_val_tRKSt9nothrow_t@Base 8 + __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_uncompress_zdebug@Base 8 + __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 + __interceptor___libc_memalign@Base 4.9 + __interceptor__exit@Base 8 + __interceptor_aligned_alloc@Base 5 + __interceptor_calloc@Base 4.9 + __interceptor_cfree@Base 4.9 + __interceptor_free@Base 4.9 + __interceptor_mallinfo@Base 4.9 + __interceptor_malloc@Base 4.9 + __interceptor_malloc_usable_size@Base 4.9 + __interceptor_mallopt@Base 4.9 + __interceptor_mcheck@Base 8 + __interceptor_mcheck_pedantic@Base 8 + __interceptor_memalign@Base 4.9 + __interceptor_mprobe@Base 8 + __interceptor_posix_memalign@Base 4.9 + __interceptor_pthread_create@Base 4.9 + __interceptor_pthread_join@Base 4.9 + __interceptor_pvalloc@Base 4.9 + __interceptor_realloc@Base 4.9 + __interceptor_sigaction@Base 8 + __interceptor_signal@Base 8 + __interceptor_valloc@Base 4.9 + __libc_memalign@Base 4.9 + __lsan_disable@Base 4.9 + __lsan_do_leak_check@Base 4.9 + __lsan_do_recoverable_leak_check@Base 6 + __lsan_enable@Base 4.9 + __lsan_ignore_object@Base 4.9 + __lsan_init@Base 8 + __lsan_register_root_region@Base 5 + __lsan_unregister_root_region@Base 5 + __sancov_default_options@Base 8 + __sancov_lowest_stack@Base 8 + __sanitizer_cov_8bit_counters_init@Base 8 + __sanitizer_cov_dump@Base 4.9 + __sanitizer_cov_pcs_init@Base 8 + __sanitizer_cov_reset@Base 8 + __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_const_cmp1@Base 8 + __sanitizer_cov_trace_const_cmp2@Base 8 + __sanitizer_cov_trace_const_cmp4@Base 8 + __sanitizer_cov_trace_const_cmp8@Base 8 + __sanitizer_cov_trace_div4@Base 7 + __sanitizer_cov_trace_div8@Base 7 + __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_dump_coverage@Base 8 + __sanitizer_dump_trace_pc_guard_coverage@Base 8 + __sanitizer_get_allocated_size@Base 5 + __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_module_and_offset_for_pc@Base 8 + __sanitizer_get_ownership@Base 5 + __sanitizer_get_unmapped_bytes@Base 5 + __sanitizer_install_malloc_and_free_hooks@Base 7 + __sanitizer_print_stack_trace@Base 5 + __sanitizer_report_error_summary@Base 4.9 + __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 + _exit@Base 8 + aligned_alloc@Base 5 + calloc@Base 4.9 + cfree@Base 4.9 + free@Base 4.9 + (arch=base-any-any-amd64 any-mips any-mipsel)internal_sigreturn@Base 7 + mallinfo@Base 4.9 + malloc@Base 4.9 + malloc_usable_size@Base 4.9 + mallopt@Base 4.9 + mcheck@Base 8 + mcheck_pedantic@Base 8 + memalign@Base 4.9 + mprobe@Base 8 + posix_memalign@Base 4.9 + pthread_create@Base 4.9 + pthread_join@Base 4.9 + pvalloc@Base 4.9 + realloc@Base 4.9 + sigaction@Base 8 + signal@Base 8 + valloc@Base 4.9 --- gcc-8-8.2.0.orig/debian/libmpx.symbols +++ gcc-8-8.2.0/debian/libmpx.symbols @@ -0,0 +1,5 @@ +libmpx.so.2 #PACKAGE# #MINVER# + (symver)LIBMPX_1.0 5 + (symver)LIBMPX_2.0 6 +libmpxwrappers.so.2 #PACKAGE# #MINVER# + (symver)LIBMPXWRAPPERS_1.0 5 --- gcc-8-8.2.0.orig/debian/libobjc.symbols +++ gcc-8-8.2.0/debian/libobjc.symbols @@ -0,0 +1,9 @@ +libobjc.so.4 #PACKAGE# #MINVER# +#include "libobjc.symbols.common" + __gnu_objc_personality_v0@Base 4.2.1 + (arch=armel armhf)__objc_exception_class@Base 4.3.0 +libobjc_gc.so.4 #PACKAGE# #MINVER# +#include "libobjc.symbols.common" +(optional)#include "libobjc.symbols.gc" + __gnu_objc_personality_v0@Base 4.2.1 + (arch=armel armhf)__objc_exception_class@Base 4.3.0 --- gcc-8-8.2.0.orig/debian/libobjc.symbols.common +++ gcc-8-8.2.0/debian/libobjc.symbols.common @@ -0,0 +1,205 @@ + __objc_accessors_init@Base 4.6 + __objc_add_class_to_hash@Base 4.2.1 + __objc_class_links_resolved@Base 4.2.1 + __objc_class_name_NXConstantString@Base 4.2.1 + __objc_class_name_Object@Base 4.2.1 + __objc_class_name_Protocol@Base 4.2.1 + __objc_dangling_categories@Base 4.2.1 + __objc_exec_class@Base 4.2.1 + __objc_force_linking@Base 4.2.1 + __objc_generate_gc_type_description@Base 4.2.1 + __objc_get_forward_imp@Base 4.2.1 + __objc_init_class@Base 4.6 + __objc_init_class_tables@Base 4.2.1 + __objc_init_dispatch_tables@Base 4.2.1 + __objc_init_selector_tables@Base 4.2.1 + __objc_init_thread_system@Base 4.2.1 + __objc_install_premature_dtable@Base 4.2.1 + __objc_is_multi_threaded@Base 4.2.1 + __objc_linking@Base 4.2.1 + __objc_msg_forward@Base 4.2.1 + __objc_msg_forward2@Base 4.3 + __objc_print_dtable_stats@Base 4.2.1 + __objc_protocols_add_protocol@Base 4.6 + __objc_protocols_init@Base 4.6 + __objc_register_instance_methods_to_class@Base 4.2.1 + __objc_register_selectors_from_class@Base 4.2.1 + __objc_register_selectors_from_description_list@Base 4.6 + __objc_register_selectors_from_list@Base 4.2.1 + __objc_register_selectors_from_module@Base 4.6 + __objc_resolve_class_links@Base 4.2.1 + __objc_responds_to@Base 4.2.1 + __objc_runtime_mutex@Base 4.2.1 + __objc_runtime_threads_alive@Base 4.2.1 + __objc_selector_max_index@Base 4.2.1 + __objc_sparse2_id@Base 4.2.1 + __objc_sync_init@Base 4.6 + __objc_thread_exit_status@Base 4.2.1 + __objc_uninstalled_dtable@Base 4.2.1 + __objc_update_classes_with_methods@Base 4.6 + __objc_update_dispatch_table_for_class@Base 4.2.1 + _objc_abort@Base 4.6 + _objc_became_multi_threaded@Base 4.2.1 + _objc_load_callback@Base 4.2.1 + _objc_lookup_class@Base 4.6 + class_addIvar@Base 4.6 + class_addMethod@Base 4.6 + class_addProtocol@Base 4.6 + class_add_method_list@Base 4.2.1 + class_conformsToProtocol@Base 4.6 + class_copyIvarList@Base 4.6 + class_copyMethodList@Base 4.6 + class_copyPropertyList@Base 4.6 + class_copyProtocolList@Base 4.6 + class_createInstance@Base 4.6 + class_getClassMethod@Base 4.6 + class_getClassVariable@Base 4.6 + class_getInstanceMethod@Base 4.6 + class_getInstanceSize@Base 4.6 + class_getInstanceVariable@Base 4.6 + class_getIvarLayout@Base 4.6 + class_getMethodImplementation@Base 4.6 + class_getName@Base 4.6 + class_getProperty@Base 4.6 + class_getSuperclass@Base 4.6 + class_getVersion@Base 4.6 + class_getWeakIvarLayout@Base 4.6 + class_isMetaClass@Base 4.6 + class_ivar_set_gcinvisible@Base 4.2.1 + class_replaceMethod@Base 4.6 + class_respondsToSelector@Base 4.6 + class_setIvarLayout@Base 4.6 + class_setVersion@Base 4.6 + class_setWeakIvarLayout@Base 4.6 + get_imp@Base 4.2.1 + idxsize@Base 4.2.1 + ivar_getName@Base 4.6 + ivar_getOffset@Base 4.6 + ivar_getTypeEncoding@Base 4.6 + method_copyArgumentType@Base 4.6 + method_copyReturnType@Base 4.6 + method_exchangeImplementations@Base 4.6 + method_getArgumentType@Base 4.6 + method_getDescription@Base 4.6 + method_getImplementation@Base 4.6 + method_getName@Base 4.6 + method_getNumberOfArguments@Base 4.6 + method_getReturnType@Base 4.6 + method_getTypeEncoding@Base 4.6 + method_get_imp@Base 4.6 + method_setImplementation@Base 4.6 + narrays@Base 4.2.1 + nbuckets@Base 4.2.1 + nil_method@Base 4.2.1 + nindices@Base 4.2.1 + objc_aligned_size@Base 4.2.1 + objc_alignof_type@Base 4.2.1 + objc_allocateClassPair@Base 4.6 + objc_atomic_malloc@Base 4.2.1 + objc_calloc@Base 4.2.1 + objc_condition_allocate@Base 4.2.1 + objc_condition_broadcast@Base 4.2.1 + objc_condition_deallocate@Base 4.2.1 + objc_condition_signal@Base 4.2.1 + objc_condition_wait@Base 4.2.1 + objc_copyProtocolList@Base 4.6 + objc_copyStruct@Base 4.6 + objc_disposeClassPair@Base 4.6 + objc_enumerationMutation@Base 4.6 + objc_exception_throw@Base 4.2.1 + objc_free@Base 4.2.1 + objc_getClass@Base 4.6 + objc_getClassList@Base 4.6 + objc_getMetaClass@Base 4.6 + objc_getProperty@Base 4.6 + objc_getPropertyStruct@Base 4.6 + objc_getProtocol@Base 4.6 + objc_getRequiredClass@Base 4.6 + objc_get_class@Base 4.2.1 + objc_get_meta_class@Base 4.2.1 + objc_get_type_qualifiers@Base 4.2.1 + objc_hash_add@Base 4.2.1 + objc_hash_delete@Base 4.2.1 + objc_hash_is_key_in_hash@Base 4.2.1 + objc_hash_new@Base 4.2.1 + objc_hash_next@Base 4.2.1 + objc_hash_remove@Base 4.2.1 + objc_hash_value_for_key@Base 4.2.1 + objc_layout_finish_structure@Base 4.2.1 + objc_layout_structure@Base 4.2.1 + objc_layout_structure_get_info@Base 4.2.1 + objc_layout_structure_next_member@Base 4.2.1 + objc_lookUpClass@Base 4.6 + objc_lookup_class@Base 4.2.1 + objc_malloc@Base 4.2.1 + objc_msg_lookup@Base 4.2.1 + objc_msg_lookup_super@Base 4.2.1 + objc_mutex_allocate@Base 4.2.1 + objc_mutex_deallocate@Base 4.2.1 + objc_mutex_lock@Base 4.2.1 + objc_mutex_trylock@Base 4.2.1 + objc_mutex_unlock@Base 4.2.1 + objc_promoted_size@Base 4.2.1 + objc_realloc@Base 4.2.1 + objc_registerClassPair@Base 4.6 + objc_setEnumerationMutationHandler@Base 4.6 + objc_setExceptionMatcher@Base 4.6 + objc_setGetUnknownClassHandler@Base 4.6 + objc_setProperty@Base 4.6 + objc_setPropertyStruct@Base 4.6 + objc_setUncaughtExceptionHandler@Base 4.6 + objc_set_thread_callback@Base 4.2.1 + objc_sizeof_type@Base 4.2.1 + objc_skip_argspec@Base 4.2.1 + objc_skip_offset@Base 4.2.1 + objc_skip_type_qualifiers@Base 4.2.1 + objc_skip_typespec@Base 4.2.1 + objc_sync_enter@Base 4.6 + objc_sync_exit@Base 4.6 + objc_thread_add@Base 4.2.1 + objc_thread_detach@Base 4.2.1 + objc_thread_exit@Base 4.2.1 + objc_thread_get_data@Base 4.2.1 + objc_thread_get_priority@Base 4.2.1 + objc_thread_id@Base 4.2.1 + objc_thread_remove@Base 4.2.1 + objc_thread_set_data@Base 4.2.1 + objc_thread_set_priority@Base 4.2.1 + objc_thread_yield@Base 4.2.1 + object_copy@Base 4.2.1 + object_dispose@Base 4.2.1 + object_getClassName@Base 4.6 + object_getIndexedIvars@Base 4.6 + object_getInstanceVariable@Base 4.6 + object_getIvar@Base 4.6 + object_setClass@Base 4.6 + object_setInstanceVariable@Base 4.6 + object_setIvar@Base 4.6 + property_getAttributes@Base 4.6 + property_getName@Base 4.6 + protocol_conformsToProtocol@Base 4.6 + protocol_copyMethodDescriptionList@Base 4.6 + protocol_copyPropertyList@Base 4.6 + protocol_copyProtocolList@Base 4.6 + protocol_getMethodDescription@Base 4.6 + protocol_getName@Base 4.6 + protocol_getProperty@Base 4.6 + protocol_isEqual@Base 4.6 + sarray_at_put@Base 4.2.1 + sarray_at_put_safe@Base 4.2.1 + sarray_free@Base 4.2.1 + sarray_lazy_copy@Base 4.2.1 + sarray_new@Base 4.2.1 + sarray_realloc@Base 4.2.1 + sarray_remove_garbage@Base 4.2.1 + search_for_method_in_list@Base 4.2.1 + sel_copyTypedSelectorList@Base 4.6 + sel_getName@Base 4.6 + sel_getTypeEncoding@Base 4.6 + sel_getTypedSelector@Base 4.6 + sel_getUid@Base 4.6 + sel_get_any_uid@Base 4.2.1 + sel_isEqual@Base 4.6 + sel_is_mapped@Base 4.2.1 + sel_registerName@Base 4.6 + sel_registerTypedName@Base 4.6 --- gcc-8-8.2.0.orig/debian/libobjc.symbols.gc +++ gcc-8-8.2.0/debian/libobjc.symbols.gc @@ -0,0 +1,522 @@ + async_set_pht_entry_from_index@Base 4.2.1 + free_list_index_of@Base 4.2.1 + suspend_self@Base 4.2.1 + GC_abort@Base 6 + GC_acquire_mark_lock@Base 6 + GC_add_ext_descriptor@Base 6 + GC_add_leaked@Base 6 + GC_add_map_entry@Base 6 + GC_add_roots@Base 6 + GC_add_roots_inner@Base 6 + GC_add_smashed@Base 6 + GC_add_to_black_list_normal@Base 6 + GC_add_to_black_list_stack@Base 6 + GC_add_to_fl@Base 6 + GC_add_to_heap@Base 6 + GC_adj_words_allocd@Base 6 + GC_all_bottom_indices@Base 6 + GC_all_bottom_indices_end@Base 6 + GC_all_interior_pointers@Base 6 + GC_alloc_large@Base 6 + GC_alloc_large_and_clear@Base 6 + GC_alloc_reclaim_list@Base 6 + GC_allocate_ml@Base 6 + GC_allochblk@Base 6 + GC_allochblk_nth@Base 6 + GC_allocobj@Base 6 + GC_aobjfreelist_ptr@Base 6 + GC_apply_to_all_blocks@Base 6 + GC_apply_to_maps@Base 6 + GC_approx_sp@Base 6 + GC_arobjfreelist@Base 6 + GC_array_kind@Base 6 + GC_array_mark_proc@Base 6 + GC_array_mark_proc_index@Base 6 + GC_arrays@Base 6 + GC_auobjfreelist_ptr@Base 6 + GC_avail_descr@Base 6 + GC_base@Base 6 + GC_begin_syscall@Base 6 + GC_bl_init@Base 6 + GC_black_list_spacing@Base 6 + GC_block_count@Base 6 + GC_block_empty@Base 6 + GC_block_nearly_full1@Base 6 + GC_block_nearly_full3@Base 6 + GC_block_nearly_full@Base 6 + GC_block_was_dirty@Base 6 + GC_bm_table@Base 6 + GC_brief_async_signal_safe_sleep@Base 6 + GC_build_fl1@Base 6 + GC_build_fl2@Base 6 + GC_build_fl4@Base 6 + GC_build_fl@Base 6 + GC_build_fl_clear2@Base 6 + GC_build_fl_clear3@Base 6 + GC_build_fl_clear4@Base 6 + GC_call_with_alloc_lock@Base 6 + GC_calloc_explicitly_typed@Base 6 + GC_change_stubborn@Base 6 + GC_check_annotated_obj@Base 6 + GC_check_heap@Base 6 + GC_check_heap_block@Base 6 + GC_check_heap_proc@Base 6 + GC_clear_a_few_frames@Base 6 + GC_clear_bl@Base 6 + GC_clear_fl_links@Base 6 + GC_clear_fl_marks@Base 6 + GC_clear_hdr_marks@Base 6 + GC_clear_mark_bit@Base 6 + GC_clear_marks@Base 6 + GC_clear_roots@Base 6 + GC_clear_stack@Base 6 + GC_clear_stack_inner@Base 6 + GC_collect_a_little@Base 6 + GC_collect_a_little_inner@Base 6 + GC_collect_or_expand@Base 6 + GC_collecting@Base 6 + GC_collection_in_progress@Base 6 + GC_cond_register_dynamic_libraries@Base 6 + GC_continue_reclaim@Base 6 + GC_copy_bl@Base 6 + GC_copyright@Base 6 + GC_current_warn_proc@Base 6 + GC_data_start@Base 6 + GC_debug_change_stubborn@Base 6 + GC_debug_end_stubborn_change@Base 6 + GC_debug_free@Base 6 + GC_debug_free_inner@Base 6 + GC_debug_gcj_fast_malloc@Base 6 + GC_debug_gcj_malloc@Base 6 + GC_debug_header_size@Base 6 + GC_debug_invoke_finalizer@Base 6 + GC_debug_malloc@Base 6 + GC_debug_malloc_atomic@Base 6 + GC_debug_malloc_atomic_ignore_off_page@Base 6 + GC_debug_malloc_atomic_uncollectable@Base 6 + GC_debug_malloc_ignore_off_page@Base 6 + GC_debug_malloc_replacement@Base 6 + GC_debug_malloc_stubborn@Base 6 + GC_debug_malloc_uncollectable@Base 6 + GC_debug_print_heap_obj_proc@Base 6 + GC_debug_realloc@Base 6 + GC_debug_realloc_replacement@Base 6 + GC_debug_register_displacement@Base 6 + GC_debug_register_finalizer@Base 6 + GC_debug_register_finalizer_ignore_self@Base 6 + GC_debug_register_finalizer_no_order@Base 6 + GC_debug_register_finalizer_unreachable@Base 6 + GC_debugging_started@Base 6 + GC_default_is_valid_displacement_print_proc@Base 6 + GC_default_is_visible_print_proc@Base 6 + GC_default_oom_fn@Base 6 + GC_default_print_heap_obj_proc@Base 6 + GC_default_push_other_roots@Base 6 + GC_default_same_obj_print_proc@Base 6 + GC_default_warn_proc@Base 6 + GC_deficit@Base 6 + GC_delete_gc_thread@Base 6 + GC_delete_thread@Base 6 + GC_descr_obj_size@Base 6 + GC_destroy_thread_local@Base 6 + GC_dirty_init@Base 6 + GC_dirty_maintained@Base 6 + GC_disable@Base 6 + GC_disable_signals@Base 6 + GC_dl_entries@Base 6 + GC_dlopen@Base 6 + GC_do_nothing@Base 6 + GC_dont_expand@Base 6 + GC_dont_gc@Base 6 + GC_dont_precollect@Base 6 + GC_double_descr@Base 6 + GC_dump@Base 6 + GC_dump_finalization@Base 6 + GC_dump_regions@Base 6 + GC_dump_regularly@Base 6 + GC_ed_size@Base 6 + GC_enable@Base 6 + GC_enable_incremental@Base 6 + GC_enable_signals@Base 6 + GC_end_blocking@Base 6 + GC_end_stubborn_change@Base 6 + GC_end_syscall@Base 6 + GC_enqueue_all_finalizers@Base 6 + GC_eobjfreelist@Base 6 + GC_err_printf@Base 6 + GC_err_puts@Base 6 + GC_err_write@Base 6 + GC_excl_table_entries@Base 6 + GC_exclude_static_roots@Base 6 + GC_exit_check@Base 6 + GC_expand_hp@Base 6 + GC_expand_hp_inner@Base 6 + GC_explicit_kind@Base 6 + GC_explicit_typing_initialized@Base 6 + GC_ext_descriptors@Base 6 + GC_extend_size_map@Base 6 + GC_fail_count@Base 6 + GC_fault_handler@Base 6 + GC_finalization_failures@Base 6 + GC_finalize@Base 6 + GC_finalize_all@Base 6 + GC_finalize_now@Base 6 + GC_finalize_on_demand@Base 6 + GC_finalizer_notifier@Base 6 + GC_find_header@Base 6 + GC_find_leak@Base 6 + GC_find_limit@Base 6 + GC_find_start@Base 6 + GC_finish_collection@Base 6 + GC_fl_builder_count@Base 6 + GC_fo_entries@Base 6 + GC_free@Base 6 + GC_free_block_ending_at@Base 6 + GC_free_bytes@Base 6 + GC_free_inner@Base 6 + GC_free_space_divisor@Base 6 + GC_freehblk@Base 6 + GC_freehblk_ptr@Base 6 + GC_full_freq@Base 6 + GC_gc_no@Base 6 + GC_gcj_debug_kind@Base 6 + GC_gcj_fast_malloc@Base 6 + GC_gcj_kind@Base 6 + GC_gcj_malloc@Base 6 + GC_gcj_malloc_ignore_off_page@Base 6 + GC_gcj_malloc_initialized@Base 6 + GC_gcjdebugobjfreelist@Base 6 + GC_gcjobjfreelist@Base 6 + GC_gcollect@Base 6 + GC_general_register_disappearing_link@Base 6 + GC_generic_lock@Base 6 + GC_generic_malloc@Base 6 + GC_generic_malloc_ignore_off_page@Base 6 + GC_generic_malloc_inner@Base 6 + GC_generic_malloc_inner_ignore_off_page@Base 6 + GC_generic_malloc_many@Base 6 + GC_generic_malloc_words_small@Base 6 + GC_generic_malloc_words_small_inner@Base 6 + GC_generic_or_special_malloc@Base 6 + GC_generic_push_regs@Base 6 + GC_get_bytes_since_gc@Base 6 + GC_get_first_part@Base 6 + GC_get_free_bytes@Base 6 + GC_get_heap_size@Base 6 + GC_get_nprocs@Base 6 + GC_get_stack_base@Base 6 + GC_get_thread_stack_base@Base 6 + GC_get_total_bytes@Base 6 + GC_greatest_plausible_heap_addr@Base 6 + GC_grow_table@Base 6 + GC_has_other_debug_info@Base 6 + GC_have_errors@Base 6 + GC_hblk_fl_from_blocks@Base 6 + GC_hblkfreelist@Base 6 + GC_hdr_cache_hits@Base 6 + GC_hdr_cache_misses@Base 6 + GC_high_water@Base 6 + GC_ignore_self_finalize_mark_proc@Base 6 + GC_in_thread_creation@Base 6 + GC_incomplete_normal_bl@Base 6 + GC_incomplete_stack_bl@Base 6 + GC_incr_mem_freed@Base 6 + GC_incr_words_allocd@Base 6 + GC_incremental@Base 6 + GC_incremental_protection_needs@Base 6 + GC_init@Base 6 + GC_init_explicit_typing@Base 6 + GC_init_gcj_malloc@Base 6 + GC_init_headers@Base 6 + GC_init_inner@Base 6 + GC_init_linux_data_start@Base 6 + GC_init_parallel@Base 6 + GC_init_size_map@Base 6 + GC_init_thread_local@Base 6 + GC_initiate_gc@Base 6 + GC_install_counts@Base 6 + GC_install_header@Base 6 + GC_invalid_header@Base 6 + GC_invalid_map@Base 6 + GC_invalidate_map@Base 6 + GC_invalidate_mark_state@Base 6 + GC_invoke_finalizers@Base 6 + GC_is_black_listed@Base 6 + GC_is_fresh@Base 6 + GC_is_full_gc@Base 6 + GC_is_initialized@Base 6 + GC_is_marked@Base 6 + GC_is_static_root@Base 6 + GC_is_thread_suspended@Base 6 + GC_is_valid_displacement@Base 6 + GC_is_valid_displacement_print_proc@Base 6 + GC_is_visible@Base 6 + GC_is_visible_print_proc@Base 6 + GC_java_finalization@Base 6 + GC_jmp_buf@Base 6 + GC_key_create@Base 6 + GC_large_alloc_warn_interval@Base 6 + GC_large_alloc_warn_suppressed@Base 6 + GC_leaked@Base 6 + GC_least_plausible_heap_addr@Base 6 + GC_linux_stack_base@Base 6 + GC_local_gcj_malloc@Base 6 + GC_local_malloc@Base 6 + GC_local_malloc_atomic@Base 6 + GC_lock@Base 6 + GC_lock_holder@Base 6 + GC_lookup_thread@Base 6 + GC_make_array_descriptor@Base 6 + GC_make_closure@Base 6 + GC_make_descriptor@Base 6 + GC_make_sequence_descriptor@Base 6 + GC_malloc@Base 6 + GC_malloc_atomic@Base 6 + GC_malloc_atomic_ignore_off_page@Base 6 + GC_malloc_atomic_uncollectable@Base 6 + GC_malloc_explicitly_typed@Base 6 + GC_malloc_explicitly_typed_ignore_off_page@Base 6 + GC_malloc_ignore_off_page@Base 6 + GC_malloc_many@Base 6 + GC_malloc_stubborn@Base 6 + GC_malloc_uncollectable@Base 6 + GC_mark_and_push@Base 6 + GC_mark_and_push_stack@Base 6 + GC_mark_from@Base 6 + GC_mark_init@Base 6 + GC_mark_some@Base 6 + GC_mark_stack@Base 6 + GC_mark_stack_empty@Base 6 + GC_mark_stack_limit@Base 6 + GC_mark_stack_size@Base 6 + GC_mark_stack_too_small@Base 6 + GC_mark_stack_top@Base 6 + GC_mark_state@Base 6 + GC_mark_thread_local_free_lists@Base 6 + GC_max@Base 6 + GC_max_retries@Base 6 + GC_maybe_gc@Base 6 + GC_mem_found@Base 6 + GC_memalign@Base 6 + GC_min@Base 6 + GC_min_sp@Base 6 + GC_n_attempts@Base 6 + GC_n_heap_sects@Base 6 + GC_n_kinds@Base 6 + GC_n_leaked@Base 6 + GC_n_mark_procs@Base 6 + GC_n_rescuing_pages@Base 6 + GC_n_set_marks@Base 6 + GC_n_smashed@Base 6 + GC_need_full_gc@Base 6 + GC_never_stop_func@Base 6 + GC_new_free_list@Base 6 + GC_new_free_list_inner@Base 6 + GC_new_hblk@Base 6 + GC_new_kind@Base 6 + GC_new_kind_inner@Base 6 + GC_new_proc@Base 6 + GC_new_proc_inner@Base 6 + GC_new_thread@Base 6 + GC_next_exclusion@Base 6 + GC_next_used_block@Base 6 + GC_no_dls@Base 6 + GC_non_gc_bytes@Base 6 + GC_noop1@Base 6 + GC_noop@Base 6 + GC_normal_finalize_mark_proc@Base 6 + GC_notify_all_builder@Base 6 + GC_notify_full_gc@Base 6 + GC_notify_or_invoke_finalizers@Base 6 + GC_nprocs@Base 6 + GC_null_finalize_mark_proc@Base 6 + GC_number_stack_black_listed@Base 6 + GC_obj_kinds@Base 6 + GC_objects_are_marked@Base 6 + GC_objfreelist_ptr@Base 6 + GC_old_bus_handler@Base 6 + GC_old_normal_bl@Base 6 + GC_old_segv_handler@Base 6 + GC_old_stack_bl@Base 6 + GC_on_stack@Base 6 + GC_oom_fn@Base 6 + GC_page_size@Base 6 + GC_page_was_dirty@Base 6 + GC_page_was_ever_dirty@Base 6 + GC_parallel@Base 6 + GC_pause@Base 6 + GC_post_incr@Base 6 + GC_pre_incr@Base 6 + GC_prev_block@Base 6 + GC_print_address_map@Base 6 + GC_print_all_errors@Base 6 + GC_print_all_smashed@Base 6 + GC_print_all_smashed_proc@Base 6 + GC_print_back_height@Base 6 + GC_print_block_descr@Base 6 + GC_print_block_list@Base 6 + GC_print_finalization_stats@Base 6 + GC_print_hblkfreelist@Base 6 + GC_print_heap_obj@Base 6 + GC_print_heap_sects@Base 6 + GC_print_obj@Base 6 + GC_print_smashed_obj@Base 6 + GC_print_source_ptr@Base 6 + GC_print_static_roots@Base 6 + GC_print_stats@Base 6 + GC_print_type@Base 6 + GC_printf@Base 6 + GC_project2@Base 6 + GC_promote_black_lists@Base 6 + GC_protect_heap@Base 6 + GC_pthread_create@Base 6 + GC_pthread_detach@Base 6 + GC_pthread_join@Base 6 + GC_pthread_sigmask@Base 6 + GC_push_all@Base 6 + GC_push_all_eager@Base 6 + GC_push_all_stack@Base 6 + GC_push_all_stacks@Base 6 + GC_push_complex_descriptor@Base 6 + GC_push_conditional@Base 6 + GC_push_conditional_with_exclusions@Base 6 + GC_push_current_stack@Base 6 + GC_push_finalizer_structures@Base 6 + GC_push_gc_structures@Base 6 + GC_push_marked1@Base 6 + GC_push_marked2@Base 6 + GC_push_marked4@Base 6 + GC_push_marked@Base 6 + GC_push_next_marked@Base 6 + GC_push_next_marked_dirty@Base 6 + GC_push_next_marked_uncollectable@Base 6 + GC_push_one@Base 6 + GC_push_other_roots@Base 6 + GC_push_roots@Base 6 + GC_push_selected@Base 6 + GC_push_stubborn_structures@Base 6 + GC_push_thread_structures@Base 6 + GC_quiet@Base 6 + GC_read_dirty@Base 6 + GC_realloc@Base 6 + GC_reclaim1@Base 6 + GC_reclaim_all@Base 6 + GC_reclaim_block@Base 6 + GC_reclaim_check@Base 6 + GC_reclaim_clear2@Base 6 + GC_reclaim_clear4@Base 6 + GC_reclaim_clear@Base 6 + GC_reclaim_generic@Base 6 + GC_reclaim_small_nonempty_block@Base 6 + GC_reclaim_uninit2@Base 6 + GC_reclaim_uninit4@Base 6 + GC_reclaim_uninit@Base 6 + GC_register_data_segments@Base 6 + GC_register_describe_type_fn@Base 6 + GC_register_disappearing_link@Base 6 + GC_register_displacement@Base 6 + GC_register_displacement_inner@Base 6 + GC_register_dynamic_libraries@Base 6 + GC_register_dynamic_libraries_dl_iterate_phdr@Base 6 + GC_register_finalizer@Base 6 + GC_register_finalizer_ignore_self@Base 6 + GC_register_finalizer_inner@Base 6 + GC_register_finalizer_no_order@Base 6 + GC_register_finalizer_unreachable@Base 6 + GC_register_has_static_roots_callback@Base 6 + GC_register_main_static_data@Base 6 + GC_register_my_thread@Base 6 + GC_release_mark_lock@Base 6 + GC_remove_allowed_signals@Base 6 + GC_remove_counts@Base 6 + GC_remove_from_fl@Base 6 + GC_remove_header@Base 6 + GC_remove_protection@Base 6 + GC_remove_roots@Base 6 + GC_remove_roots_inner@Base 6 + GC_remove_specific@Base 6 + GC_remove_tmp_roots@Base 6 + GC_repeat_read@Base 6 + GC_reset_fault_handler@Base 6 + GC_restart_handler@Base 6 + GC_resume_thread@Base 6 + GC_retry_signals@Base 6 + GC_root_size@Base 6 + GC_roots_present@Base 6 + GC_same_obj@Base 6 + GC_same_obj_print_proc@Base 6 + GC_scratch_alloc@Base 6 + GC_set_and_save_fault_handler@Base 6 + GC_set_fl_marks@Base 6 + GC_set_free_space_divisor@Base 6 + GC_set_hdr_marks@Base 6 + GC_set_mark_bit@Base 6 + GC_set_max_heap_size@Base 6 + GC_set_warn_proc@Base 6 + GC_setpagesize@Base 6 + GC_setspecific@Base 6 + GC_setup_temporary_fault_handler@Base 6 + GC_should_collect@Base 6 + GC_should_invoke_finalizers@Base 6 + GC_signal_mark_stack_overflow@Base 6 + GC_size@Base 6 + GC_sleep@Base 6 + GC_slow_getspecific@Base 6 + GC_smashed@Base 6 + GC_spin_count@Base 6 + GC_split_block@Base 6 + GC_stack_last_cleared@Base 6 + GC_stackbottom@Base 6 + GC_start_blocking@Base 6 + GC_start_call_back@Base 6 + GC_start_debugging@Base 6 + GC_start_reclaim@Base 6 + GC_start_routine@Base 6 + GC_start_time@Base 6 + GC_start_world@Base 6 + GC_stderr@Base 6 + GC_stdout@Base 6 + GC_stop_count@Base 6 + GC_stop_init@Base 6 + GC_stop_world@Base 6 + GC_stopped_mark@Base 6 + GC_stopping_pid@Base 6 + GC_stopping_thread@Base 6 + GC_store_debug_info@Base 6 + GC_suspend_ack_sem@Base 6 + GC_suspend_all@Base 6 + GC_suspend_handler@Base 6 + GC_suspend_handler_inner@Base 6 + GC_suspend_thread@Base 6 + GC_thr_init@Base 6 + GC_thr_initialized@Base 6 + GC_thread_exit_proc@Base 6 + GC_thread_key@Base 6 + GC_threads@Base 6 + GC_time_limit@Base 6 + GC_timeout_stop_func@Base 6 + GC_total_stack_black_listed@Base 6 + GC_try_to_collect@Base 6 + GC_try_to_collect_inner@Base 6 + GC_typed_mark_proc@Base 6 + GC_typed_mark_proc_index@Base 6 + GC_unix_get_mem@Base 6 + GC_unlocked_count@Base 6 + GC_unpromote_black_lists@Base 6 + GC_unprotect_range@Base 6 + GC_unreachable_finalize_mark_proc@Base 6 + GC_unregister_disappearing_link@Base 6 + GC_unregister_my_thread@Base 6 + GC_uobjfreelist_ptr@Base 6 + GC_use_entire_heap@Base 6 + GC_used_heap_size_after_full@Base 6 + GC_version@Base 6 + GC_wait_builder@Base 6 + GC_wait_for_gc_completion@Base 6 + GC_wait_for_reclaim@Base 6 + GC_with_callee_saves_pushed@Base 6 + GC_words_allocd_at_reset@Base 6 + GC_world_is_stopped@Base 6 + GC_world_stopped@Base 6 + GC_write@Base 6 + GC_write_fault_handler@Base 6 --- gcc-8-8.2.0.orig/debian/libquadmath.symbols +++ gcc-8-8.2.0/debian/libquadmath.symbols @@ -0,0 +1,3 @@ +libquadmath.so.0 #PACKAGE# #MINVER# + (symver)QUADMATH_1.0 4.6 + (symver)QUADMATH_1.1 6 --- gcc-8-8.2.0.orig/debian/libstdc++-BV-doc.doc-base +++ gcc-8-8.2.0/debian/libstdc++-BV-doc.doc-base @@ -0,0 +1,13 @@ +Document: libstdc++-@BV@-doc +Title: The GNU Standard C++ Library v3 (gcc-@BV@) +Author: Various +Abstract: 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. +Section: Programming/C++ + +Format: html +Index: /usr/share/doc/libstdc++-@BV@-doc/libstdc++/index.html +Files: /usr/share/doc/libstdc++-@BV@-doc/libstdc++/* --- gcc-8-8.2.0.orig/debian/libstdc++-BV-doc.overrides +++ gcc-8-8.2.0/debian/libstdc++-BV-doc.overrides @@ -0,0 +1,11 @@ +libstdc++-@BV@-doc binary: hyphen-used-as-minus-sign +libstdc++-@BV@-doc binary: manpage-has-bad-whatis-entry + +# 3xx used by intent to avoid conficts +libstdc++-@BV@-doc binary: manpage-section-mismatch + +# some very long identifiers +libstdc++-@BV@-doc binary: manpage-has-errors-from-man * can't break line + +# doxygen accepts formulas in man pages ... +libstdc++-@BV@-doc binary: manpage-has-errors-from-man * a space character is not allowed in an escape name --- gcc-8-8.2.0.orig/debian/libstdc++-breaks.Debian +++ gcc-8-8.2.0/debian/libstdc++-breaks.Debian @@ -0,0 +1,91 @@ +libantlr-dev (<= 2.7.7+dfsg-6), +libaqsis1 (<= 1.8.2-1), +libassimp3 (<= 3.0~dfsg-4), +blockattack (<= 1.4.1+ds1-2.1+b2), +boo (<= 0.9.5~git20110729.r1.202a430-2), +libboost-date-time1.54.0, +libboost-date-time1.55.0, +libcpprest2.4 (<= 2.4.0-2), +printer-driver-brlaser (<= 3-3), +c++-annotations (<= 10.2.0-1), +clustalx (<= 2.1+lgpl-3), +libdavix0 (<= 0.4.0-1+b1), +libdballe6 (<= 6.8-1), +dff (<= 1.3.0+dfsg.1-4.1+b3), +libdiet-sed2.8 (<= 2.8.0-1+b3), +libdiet-client2.8 (<= 2.8.0-1+b3), +libdiet-admin2.8 (<= 2.8.0-1+b3), +digikam-private-libs (<= 4:4.4.0-1.1+b2), +emscripten (<= 1.22.1-1), +ergo (<= 3.4.0-1), +fceux (<= 2.2.2+dfsg0-1), +flush (<= 0.9.12-3.1), +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~svn4635~dfsg-3+b1), +libgmsh2 (<= 2.9.3+dfsg1-1), +gnote (<= 3.16.2-1), +gnudatalanguage (<= 0.9.5-2+b2), +python-healpy (<= 1.8.1-1+b1), +innoextract (<= 1.4-1+b1), +libinsighttoolkit4.7 (<= 4.7.2-2), +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-3), +libreoffice-core (<= 1:4.4.5-2), +librime1 (<= 1.2+dfsg-2), +libwibble-dev (<= 1.1-1), +lightspark (<= 0.7.2+git20150512-2+b1), +libmarisa0 (<= 0.2.4-8), +mira-assembler (<= 4.9.5-1), +mongodb (<= 1:2.4.14-2), +mongodb-server (<= 1:2.4.14-2), +ncbi-blast+ (<= 2.2.30-4), +libogre-1.8.0 (<= 1.8.0+dfsg1-7+b1), +libogre-1.9.0 (<= 1.9.0+dfsg1-4), +openscad (<= 2014.03+dfsg-1+b1), +libopenwalnut1 (<= 1.4.0~rc1+hg3a3147463ee2-1+b1), +passepartout (<= 0.7.1-1.1), +pdf2djvu (<= 0.7.21-2), +photoprint (<= 0.4.2~pre2-2.3+b2), +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-2+b1), +python3-taglib (<= 0.3.6+dfsg-2+b2), +realtimebattle (<= 1.0.8-14), +ruby-passenger (<= 5.0.7-1), +libapache2-mod-passenger (<= 5.0.7-1), +schroot (<= 1.6.10-1+b1), +sqlitebrowser (<= 3.5.1-3), +tecnoballz (<= 0.93.1-6), +wesnoth-1.12-core (<= 1:1.12.4-1), +widelands (<= 1:18-3+b1), +libwreport2 (<= 2.14-1), +xflr5 (<= 6.09.06-2), +libxmltooling6 (<= 1.5.3-2.1), +libchemps2-1 (<= 1.5-1), +python-fiona (<= 1.5.1-2), +python3-fiona (<= 1.5.1-2), +fiona (<= 1.5.1-2), +python-guiqwt (<= 2.3.1-1), +python-htseq (<= 0.5.4p3-2), +python-imposm (<= 2.5.0-3+b2), +python-pysph (<= 0~20150606.gitfa26de9-5), +python3-taglib (<= 0.3.6+dfsg-2+b2), +python-scipy (<= 0.14.1-1), +python3-scipy (<= 0.14.1-1), +python-sfml (<= 2.2~git20150611.196c88+dfsg-1+b1), +python3-sfml (<= 2.2~git20150611.196c88+dfsg-1+b1), +python-rasterio (<= 0.24.0-1), +libktoblzcheck1c2a, +libaqbanking34-plugins, +liblhapdf0, +libpythia8, +libxapian30 (<= 1.4.1-1~bpo8+1), --- gcc-8-8.2.0.orig/debian/libstdc++-breaks.Ubuntu +++ gcc-8-8.2.0/debian/libstdc++-breaks.Ubuntu @@ -0,0 +1,73 @@ +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), --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.128bit +++ gcc-8-8.2.0/debian/libstdc++6.symbols.128bit @@ -0,0 +1,46 @@ + _ZNSt14numeric_limitsInE10has_denormE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsInE10is_boundedE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsInE10is_integerE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsInE11round_styleE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsInE12has_infinityE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsInE12max_digits10E@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsInE12max_exponentE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsInE12min_exponentE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsInE13has_quiet_NaNE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsInE14is_specializedE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsInE14max_exponent10E@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsInE14min_exponent10E@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsInE15has_denorm_lossE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsInE15tinyness_beforeE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsInE17has_signaling_NaNE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsInE5radixE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsInE5trapsE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsInE6digitsE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsInE8digits10E@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsInE8is_exactE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsInE9is_iec559E@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsInE9is_moduloE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsInE9is_signedE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsIoE10has_denormE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsIoE10is_boundedE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsIoE10is_integerE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsIoE11round_styleE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsIoE12has_infinityE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsIoE12max_digits10E@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsIoE12max_exponentE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsIoE12min_exponentE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsIoE13has_quiet_NaNE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsIoE14is_specializedE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsIoE14max_exponent10E@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsIoE14min_exponent10E@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsIoE15has_denorm_lossE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsIoE15tinyness_beforeE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsIoE17has_signaling_NaNE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsIoE5radixE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsIoE5trapsE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsIoE6digitsE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsIoE8digits10E@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsIoE8is_exactE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsIoE9is_iec559E@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsIoE9is_moduloE@GLIBCXX_3.4.17 4.7 + _ZNSt14numeric_limitsIoE9is_signedE@GLIBCXX_3.4.17 4.7 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.32bit +++ gcc-8-8.2.0/debian/libstdc++6.symbols.32bit @@ -0,0 +1,612 @@ +#include "libstdc++6.symbols.common" +#include "libstdc++6.symbols.32bit.cxx11" + _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEj@GLIBCXX_3.4.2 4.1.1 + _ZN9__gnu_cxx17__pool_alloc_base9_M_refillEj@GLIBCXX_3.4.2 4.1.1 + _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcj@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEjj@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcj@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEjj@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx9free_list6_M_getEj@GLIBCXX_3.4.4 4.1.1 + _ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2_@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@CXXABI_1.3 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_j@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_j@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@GLIBCXX_3.4.5 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_j@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_j@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE2atEj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_j@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findEwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_j@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE6substrEjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKw@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_jj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEjPKc@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEEixEj@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofEPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofEPKcjj@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofERKSsj@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofEcj@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofEPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofEPKcjj@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofERKSsj@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofEcj@GLIBCXX_3.4 4.1.1 + _ZNKSs15_M_check_lengthEjjPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs15_M_check_lengthEjjPKc@GLIBCXX_3.4.5 4.1.1 + _ZNKSs16find_last_not_ofEPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSs16find_last_not_ofEPKcjj@GLIBCXX_3.4 4.1.1 + _ZNKSs16find_last_not_ofERKSsj@GLIBCXX_3.4 4.1.1 + _ZNKSs16find_last_not_ofEcj@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofEPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofEPKcjj@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofERKSsj@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofEcj@GLIBCXX_3.4 4.1.1 + _ZNKSs2atEj@GLIBCXX_3.4 4.1.1 + _ZNKSs4copyEPcjj@GLIBCXX_3.4 4.1.1 + _ZNKSs4findEPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSs4findEPKcjj@GLIBCXX_3.4 4.1.1 + _ZNKSs4findERKSsj@GLIBCXX_3.4 4.1.1 + _ZNKSs4findEcj@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindEPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindEPKcjj@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindERKSsj@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindEcj@GLIBCXX_3.4 4.1.1 + _ZNKSs6substrEjj@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEjjPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEjjPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEjjRKSs@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEjjRKSsjj@GLIBCXX_3.4 4.1.1 + _ZNKSs8_M_checkEjPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs8_M_limitEjj@GLIBCXX_3.4 4.1.1 + _ZNKSsixEj@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIcE6_M_putEPcjPKcPK2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIwE6_M_putEPwjPKwPK2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt19__codecvt_utf8_baseIDiE9do_lengthER11__mbstate_tPKcS4_j@GLIBCXX_3.4.21 5 + _ZNKSt19__codecvt_utf8_baseIDsE9do_lengthER11__mbstate_tPKcS4_j@GLIBCXX_3.4.21 5 + _ZNKSt19__codecvt_utf8_baseIwE9do_lengthER11__mbstate_tPKcS4_j@GLIBCXX_3.4.21 5 + _ZNKSt20__codecvt_utf16_baseIDiE9do_lengthER11__mbstate_tPKcS4_j@GLIBCXX_3.4.21 5 + _ZNKSt20__codecvt_utf16_baseIDsE9do_lengthER11__mbstate_tPKcS4_j@GLIBCXX_3.4.21 5 + _ZNKSt20__codecvt_utf16_baseIwE9do_lengthER11__mbstate_tPKcS4_j@GLIBCXX_3.4.21 5 + _ZNKSt25__codecvt_utf8_utf16_baseIDiE9do_lengthER11__mbstate_tPKcS4_j@GLIBCXX_3.4.21 5 + _ZNKSt25__codecvt_utf8_utf16_baseIDsE9do_lengthER11__mbstate_tPKcS4_j@GLIBCXX_3.4.21 5 + _ZNKSt25__codecvt_utf8_utf16_baseIwE9do_lengthER11__mbstate_tPKcS4_j@GLIBCXX_3.4.21 5 + _ZNKSt7codecvtIDic11__mbstate_tE9do_lengthERS0_PKcS4_j@GLIBCXX_3.4.21 5 + _ZNKSt7codecvtIDsc11__mbstate_tE9do_lengthERS0_PKcS4_j@GLIBCXX_3.4.21 5 + _ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_j@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_j@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIcE12_M_transformEPcPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIwE12_M_transformEPwPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcjcRSt8ios_basePcS9_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcjcS6_PcS7_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcjwRSt8ios_basePwS9_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcjwPKwPwS9_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@GLIBCXX_3.4 4.1.1 + _ZNKSt8__detail20_Prime_rehash_policy11_M_next_bktEj@GLIBCXX_3.4.18 4.8 + _ZNKSt8__detail20_Prime_rehash_policy14_M_need_rehashEjjj@GLIBCXX_3.4.18 4.8 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES3_S3_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.14 4.5 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES3_S3_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.14 4.5 + _ZNKSt8valarrayIjE4sizeEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE10_S_compareEjj@GLIBCXX_3.4.16 4.6.0 + _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEjwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEjjjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE18_S_construct_aux_2EjwRKS1_@GLIBCXX_3.4.14 4.5 + _ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEjjPKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE2atEj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_j@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEjjRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE5eraseEjj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_jj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendEjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_jj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignEjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_jj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEjjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6resizeEj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_jw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_jj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7reserveEj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1EPKwjRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jRKS1_@GLIBCXX_3.4.24 7 + _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jjRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1EjwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2EPKwjRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jRKS1_@GLIBCXX_3.4.24 7 + _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jjRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2EjwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEixEj@GLIBCXX_3.4 4.1.1 + _ZNSi3getEPci@GLIBCXX_3.4 4.1.1 + _ZNSi3getEPcic@GLIBCXX_3.4 4.1.1 + _ZNSi4readEPci@GLIBCXX_3.4 4.1.1 + _ZNSi5seekgExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSi6ignoreEi@GLIBCXX_3.4 4.1.1 + _ZNSi6ignoreEi@GLIBCXX_3.4.5 4.1.1 + _ZNSi6ignoreEii@GLIBCXX_3.4 4.1.1 + _ZNSi7getlineEPci@GLIBCXX_3.4 4.1.1 + _ZNSi7getlineEPcic@GLIBCXX_3.4 4.1.1 + _ZNSi8readsomeEPci@GLIBCXX_3.4 4.1.1 + _ZNSo5seekpExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSo5writeEPKci@GLIBCXX_3.4 4.1.1 + _ZNSo8_M_writeEPKci@GLIBCXX_3.4 4.1.1 + _ZNSs10_S_compareEjj@GLIBCXX_3.4.16 4.6.0 + _ZNSs12_S_constructEjcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSs14_M_replace_auxEjjjc@GLIBCXX_3.4 4.1.1 + _ZNSs15_M_replace_safeEjjPKcj@GLIBCXX_3.4 4.1.1 + _ZNSs18_S_construct_aux_2EjcRKSaIcE@GLIBCXX_3.4.14 4.5 + _ZNSs2atEj@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4.5 4.1.1 + _ZNSs4_Rep8_M_cloneERKSaIcEj@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep9_S_createEjjRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSs5eraseEjj@GLIBCXX_3.4 4.1.1 + _ZNSs6appendEPKcj@GLIBCXX_3.4 4.1.1 + _ZNSs6appendERKSsjj@GLIBCXX_3.4 4.1.1 + _ZNSs6appendEjc@GLIBCXX_3.4 4.1.1 + _ZNSs6assignEPKcj@GLIBCXX_3.4 4.1.1 + _ZNSs6assignERKSsjj@GLIBCXX_3.4 4.1.1 + _ZNSs6assignEjc@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEjc@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEjPKc@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEjPKcj@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEjRKSs@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEjRKSsjj@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEjjc@GLIBCXX_3.4 4.1.1 + _ZNSs6resizeEj@GLIBCXX_3.4 4.1.1 + _ZNSs6resizeEjc@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_copyEPcPKcj@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_copyEPcPKcj@GLIBCXX_3.4.5 4.1.1 + _ZNSs7_M_moveEPcPKcj@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_moveEPcPKcj@GLIBCXX_3.4.5 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcj@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEjjPKc@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEjjPKcj@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEjjRKSs@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEjjRKSsjj@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEjjjc@GLIBCXX_3.4 4.1.1 + _ZNSs7reserveEj@GLIBCXX_3.4 4.1.1 + _ZNSs9_M_assignEPcjc@GLIBCXX_3.4 4.1.1 + _ZNSs9_M_assignEPcjc@GLIBCXX_3.4.5 4.1.1 + _ZNSs9_M_mutateEjjj@GLIBCXX_3.4 4.1.1 + _ZNSsC1EPKcjRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC1ERKSsjj@GLIBCXX_3.4 4.1.1 + _ZNSsC1ERKSsjRKSaIcE@GLIBCXX_3.4.23 7 + _ZNSsC1ERKSsjjRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC1EjcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2EPKcjRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2ERKSsjRKSaIcE@GLIBCXX_3.4.23 7 + _ZNSsC2ERKSsjj@GLIBCXX_3.4 4.1.1 + _ZNSsC2ERKSsjjRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2EjcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsixEj@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC1EPKci@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC1EPci@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC2EPKci@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC2EPci@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt11this_thread11__sleep_forENSt6chrono8durationIxSt5ratioILx1ELx1EEEENS1_IxS2_ILx1ELx1000000000EEEE@GLIBCXX_3.4.18 4.8 + _ZNSt11__timepunctIcEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE6xsgetnEPci@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE6xsputnEPKci@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE7seekoffExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE8xsputn_2EPKciS2_i@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIcEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIcEC1ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt12ctype_bynameIcEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIcEC2ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt12ctype_bynameIwEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIwEC1ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt12ctype_bynameIwEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIwEC2ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt12strstreambuf6setbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf8_M_allocEj@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf8_M_setupEPcS0_i@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPFPvjEPFvS0_E@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPKai@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPKci@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPKhi@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPaiS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPciS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPhiS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1Ei@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPFPvjEPFvS0_E@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPKai@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPKci@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPKhi@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPaiS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPciS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPhiS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2Ei@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPci@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4.5 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEij@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwiw@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIcc11__mbstate_tEC1ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIcc11__mbstate_tEC2ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIwc11__mbstate_tEC1ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIwc11__mbstate_tEC2ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt14collate_bynameIcEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIcEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIwEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIwEC2EPKcj@GLIBCXX_3.4 4.1.1 + (arch=!powerpc !powerpcspe !ppc64 !sparc)_ZNSt14numeric_limitsIeE12max_digits10E@GLIBCXX_3.4.14 4.5.0 + _ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_gbumpEi@GLIBCXX_3.4.16 4.6.0 + _ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_pbumpEi@GLIBCXX_3.4.16 4.6.0 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_gbumpEi@GLIBCXX_3.4.16 4.6.0 + _ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_pbumpEi@GLIBCXX_3.4.16 4.6.0 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8_M_pbumpEPcS4_x@GLIBCXX_3.4.16 4.6.0 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwjj@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8_M_pbumpEPwS4_x@GLIBCXX_3.4.16 4.6.0 + _ZNSt15messages_bynameIcEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIcEC1ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt15messages_bynameIcEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIcEC2ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt15messages_bynameIwEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIwEC1ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt15messages_bynameIwEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIwEC2ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt15numpunct_bynameIcEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIcEC1ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt15numpunct_bynameIcEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIcEC2ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt15numpunct_bynameIwEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIwEC1ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt15numpunct_bynameIwEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIwEC2ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt16__numpunct_cacheIcEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIcEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIwEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIwEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIcEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIcEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIwEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIwEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb0EEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb0EEC1ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt17moneypunct_bynameIcLb0EEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb0EEC2ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt17moneypunct_bynameIcLb1EEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb1EEC1ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt17moneypunct_bynameIcLb1EEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb1EEC2ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt17moneypunct_bynameIwLb0EEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb0EEC1ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt17moneypunct_bynameIwLb0EEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb0EEC2ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt17moneypunct_bynameIwLb1EEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb1EEC1ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt17moneypunct_bynameIwLb1EEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb1EEC2ERKSsj@GLIBCXX_3.4.21 5 + _ZNSt18__moneypunct_cacheIcLb0EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb0EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb1EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb1EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb0EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb0EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb1EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb1EEC2Ej@GLIBCXX_3.4 4.1.1 + (arch=!armel !kfreebsd-amd64 !kfreebsd-i386)_ZNSt28__atomic_futex_unsigned_base19_M_futex_wait_untilEPjjbNSt6chrono8durationIxSt5ratioILx1ELx1EEEENS2_IxS3_ILx1ELx1000000000EEEE@GLIBCXX_3.4.21 5 + _ZNSt5ctypeIcEC1EP15__locale_structPKtbj@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC1EPKtbj@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC2EP15__locale_structPKtbj@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC2EPKtbj@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt6gslice8_IndexerC1EjRKSt8valarrayIjES4_@GLIBCXX_3.4 4.1.1 + _ZNSt6gslice8_IndexerC2EjRKSt8valarrayIjES4_@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetEj@GLIBCXX_3.4.7 4.1.1 + _ZNSt6locale5_ImplC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC1ERKS0_j@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC2ERKS0_j@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayIjEC1ERKS0_@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayIjEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayIjEC2ERKS0_@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayIjEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayIjED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayIjED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayIjEixEj@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZSt11_Hash_bytesPKvjj@CXXABI_1.3.5 4.6 + _ZSt15_Fnv_hash_bytesPKvjj@CXXABI_1.3.5 4.6 + _ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_i@GLIBCXX_3.4.9 4.2.1 + _ZSt16__ostream_insertIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_i@GLIBCXX_3.4.9 4.2.1 + _ZSt17__copy_streambufsIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_@GLIBCXX_3.4.6 4.1.1 + _ZSt17__copy_streambufsIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_@GLIBCXX_3.4.6 4.1.1 + _ZSt17__verify_groupingPKcjRKSs@GLIBCXX_3.4.10 4.3 + _ZSt21__copy_streambufs_eofIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_Rb@GLIBCXX_3.4.9 4.2.1 + _ZSt21__copy_streambufs_eofIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_Rb@GLIBCXX_3.4.9 4.2.1 + _ZThn8_NSdD0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSdD1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSdD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSdD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSiD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSiD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSoD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSoD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt10istrstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt10istrstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt10ostrstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt10ostrstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZdaPvj@CXXABI_1.3.9 5 + _ZdaPvjSt11align_val_t@CXXABI_1.3.11 7 + _ZdlPvjSt11align_val_t@CXXABI_1.3.11 7 + _ZdlPvj@CXXABI_1.3.9 5 + _ZdlPvjSt11align_val_t@CXXABI_1.3.11 7 + _Znaj@GLIBCXX_3.4 4.1.1 + _ZnajRKSt9nothrow_t@GLIBCXX_3.4 4.1.1 + _ZnajSt11align_val_t@CXXABI_1.3.11 7 + _ZnajSt11align_val_tRKSt9nothrow_t@CXXABI_1.3.11 7 + _Znwj@GLIBCXX_3.4 4.1.1 + _ZnwjRKSt9nothrow_t@GLIBCXX_3.4 4.1.1 + _ZnwjSt11align_val_t@CXXABI_1.3.11 7 + _ZnwjSt11align_val_tRKSt9nothrow_t@CXXABI_1.3.11 7 + _ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@GLIBCXX_3.4 4.1.1 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.32bit.cxx11 +++ gcc-8-8.2.0/debian/libstdc++6.symbols.32bit.cxx11 @@ -0,0 +1,333 @@ + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEPKcjj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofERKS4_j@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcjj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofERKS4_j@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE15_M_check_lengthEjjPKc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEPKcjj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofERKS4_j@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEPKcjj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofERKS4_j@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE2atEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4copyEPcjj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcjj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findERKS4_j@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEPKcjj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindERKS4_j@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEjj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEjjPKc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEjjPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEjjRKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEjjRKS4_jj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_checkEjPKc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_limitEjj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofEPKwj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofEPKwjj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofERKS4_j@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofEwj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofEPKwj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofEPKwjj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofERKS4_j@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofEwj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwjj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS4_j@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofEwj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwjj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS4_j@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofEwj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE2atEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4copyEPwjj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findEPKwj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findEPKwjj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findERKS4_j@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findEwj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindEPKwj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindEPKwjj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindERKS4_j@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindEwj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6substrEjj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEjjPKw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEjjPKwj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEjjRKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEjjRKS4_jj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8_M_checkEjPKc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8_M_limitEjj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEixEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx117collateIcE12_M_transformEPcPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx117collateIwE12_M_transformEPwPKwj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES4_S4_RiiijRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES4_S4_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES4_S4_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES4_S4_RiiijRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES4_S4_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES4_S4_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt12ctype_bynameIcEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt12ctype_bynameIcEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt12ctype_bynameIwEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt12ctype_bynameIwEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt14codecvt_bynameIcc11__mbstate_tEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt14codecvt_bynameIcc11__mbstate_tEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt14codecvt_bynameIwc11__mbstate_tEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt14codecvt_bynameIwc11__mbstate_tEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKNSt7__cxx1112basic_stringIcS2_SaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2ERKNSt7__cxx1112basic_stringIcS2_SaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EEC1EP15__locale_structPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EEC1Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EEC2EP15__locale_structPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EEC2Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EEC1EP15__locale_structPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EEC1Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EEC2EP15__locale_structPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EEC2Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EEC1EP15__locale_structPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EEC1Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EEC2EP15__locale_structPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EEC2Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EEC1EP15__locale_structPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EEC1Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EEC2EP15__locale_structPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EEC2Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_destroyEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEjjPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_S_compareEjj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_capacityEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEjc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_set_lengthEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE14_M_replace_auxEjjjc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE18_M_construct_aux_2Ejc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE2atEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEjj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendERKS4_jj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEjc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignERKS4_jj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEjc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPKcS4_EEjc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPcS4_EEjc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEjPKc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEjPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEjRKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEjRKS4_jj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEjjc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEjc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_moveEPcPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S8_j@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_jc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_PKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_jc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEjjPKc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEjjPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEjjRKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEjjRKS4_jj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEjjjc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_eraseEjj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERjj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_lengthEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEjjPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_S_assignEPcjc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcjRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_jRKS3_@GLIBCXX_3.4.23 7 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_jj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_jjRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EjcRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcjRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_jRKS3_@GLIBCXX_3.4.23 7 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_jj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_jjRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EjcRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_destroyEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_replaceEjjPKwj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_S_compareEjj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_capacityEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructEjw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_M_set_lengthEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE14_M_replace_auxEjjjw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE18_M_construct_aux_2Ejw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE2atEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEjj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendEPKwj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendERKS4_jj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendEjw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEjw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEPKwj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignERKS4_jj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPKwS4_EEjw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS4_EEjw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEjPKwj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEjPKw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEjRKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEjRKS4_jj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEjjw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEjw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_S_copyEPwPKwj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_S_moveEPwPKwj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S8_j@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_jw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_PKwj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_jw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEjjPKw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEjjPKwj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEjjRKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEjjRKS4_jj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEjjjw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7reserveEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8_M_eraseEjj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_appendEPKwj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_createERjj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_lengthEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_mutateEjjPKwj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_S_assignEPwjw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EPKwjRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_jRKS3_@GLIBCXX_3.4.23 7 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_jj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_jjRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EjwRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EPKwjRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_jRKS3_@GLIBCXX_3.4.23 7 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_jj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_jjRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EjwRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEixEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIcEC1EPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIcEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIcEC2EPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIcEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIwEC1EPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIwEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIwEC2EPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIwEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE8_M_pbumpEPcS5_x@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwjj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE8_M_pbumpEPwS5_x@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIcEC1EPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIcEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIcEC2EPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIcEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIwEC1EPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIwEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIwEC2EPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIwEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIcEC1EPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIcEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIcEC2EPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIcEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIwEC1EPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIwEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIwEC2EPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIwEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1ERKNS_12basic_stringIcS3_SaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2ERKNS_12basic_stringIcS3_SaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1ERKNS_12basic_stringIcS2_IcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2ERKNS_12basic_stringIcS2_IcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC1EPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC2EPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC1EPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC2EPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC1EPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC2EPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC1EPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC2EPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx117collateIcEC1EP15__locale_structj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx117collateIcEC1Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx117collateIcEC2EP15__locale_structj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx117collateIcEC2Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx117collateIwEC1EP15__locale_structj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx117collateIwEC1Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx117collateIwEC2EP15__locale_structj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx117collateIwEC2Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118messagesIcEC1EP15__locale_structPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118messagesIcEC1Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118messagesIcEC2EP15__locale_structPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118messagesIcEC2Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118messagesIwEC1EP15__locale_structPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118messagesIwEC1Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118messagesIwEC2EP15__locale_structPKcj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118messagesIwEC2Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIcEC1EP15__locale_structj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIcEC1EPSt16__numpunct_cacheIcEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIcEC1Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIcEC2EP15__locale_structj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIcEC2EPSt16__numpunct_cacheIcEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIcEC2Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIwEC1EP15__locale_structj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIwEC1EPSt16__numpunct_cacheIwEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIwEC1Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIwEC2EP15__locale_structj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIwEC2EPSt16__numpunct_cacheIwEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIwEC2Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt17__verify_groupingPKcjRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZThn8_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZThn8_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZThn8_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZThn8_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTv0_n12_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTv0_n12_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTv0_n12_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTv0_n12_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTv0_n12_NSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTv0_n12_NSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTv0_n12_NSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTv0_n12_NSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTv0_n12_NSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTv0_n12_NSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTv0_n12_NSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTv0_n12_NSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4.21 5.2 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.32bit.hurd +++ gcc-8-8.2.0/debian/libstdc++6.symbols.32bit.hurd @@ -0,0 +1,536 @@ +#include "libstdc++6.symbols.common" + _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEj@GLIBCXX_3.4.2 4.1.1 + _ZN9__gnu_cxx17__pool_alloc_base9_M_refillEj@GLIBCXX_3.4.2 4.1.1 + _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcj@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEjj@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcj@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEjj@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx9free_list6_M_getEj@GLIBCXX_3.4.4 4.1.1 + _ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2_@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@CXXABI_1.3 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_j@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_j@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEjjPKc@GLIBCXX_3.4.5 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_j@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_j@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE2atEj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_j@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findEwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_j@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE6substrEjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKw@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEjjRKS2_jj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEjPKc@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEjj@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEEixEj@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofEPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofEPKcjj@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofERKSsj@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofEcj@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofEPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofEPKcjj@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofERKSsj@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofEcj@GLIBCXX_3.4 4.1.1 + _ZNKSs15_M_check_lengthEjjPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs15_M_check_lengthEjjPKc@GLIBCXX_3.4.5 4.1.1 + _ZNKSs16find_last_not_ofEPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSs16find_last_not_ofEPKcjj@GLIBCXX_3.4 4.1.1 + _ZNKSs16find_last_not_ofERKSsj@GLIBCXX_3.4 4.1.1 + _ZNKSs16find_last_not_ofEcj@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofEPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofEPKcjj@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofERKSsj@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofEcj@GLIBCXX_3.4 4.1.1 + _ZNKSs2atEj@GLIBCXX_3.4 4.1.1 + _ZNKSs4copyEPcjj@GLIBCXX_3.4 4.1.1 + _ZNKSs4findEPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSs4findEPKcjj@GLIBCXX_3.4 4.1.1 + _ZNKSs4findERKSsj@GLIBCXX_3.4 4.1.1 + _ZNKSs4findEcj@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindEPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindEPKcjj@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindERKSsj@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindEcj@GLIBCXX_3.4 4.1.1 + _ZNKSs6substrEjj@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEjjPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEjjPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEjjRKSs@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEjjRKSsjj@GLIBCXX_3.4 4.1.1 + _ZNKSs8_M_checkEjPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs8_M_limitEjj@GLIBCXX_3.4 4.1.1 + _ZNKSsixEj@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIcE6_M_putEPcjPKcPK2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIwE6_M_putEPwjPKwPK2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_j@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_j@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIcE12_M_transformEPcPKcj@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIwE12_M_transformEPwPKwj@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcjcRSt8ios_basePcS9_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcjcS6_PcS7_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcjwRSt8ios_basePwS9_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcjwPKwPwS9_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcjRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiijRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwjRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8valarrayIjE4sizeEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEjwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEjjjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEjjPKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE2atEj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_j@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEjjRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE5eraseEjj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_jj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendEjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_jj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignEjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEjPKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEjRKS2_jj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEjjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6resizeEj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6resizeEjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwj@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwj@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_jw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjPKwj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjRKS2_jj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEjjjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7reserveEj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwjw@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEjjj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1EPKwjRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_jjRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1EjwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2EPKwjRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jj@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_jjRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2EjwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEixEj@GLIBCXX_3.4 4.1.1 + _ZNSi3getEPci@GLIBCXX_3.4 4.1.1 + _ZNSi3getEPcic@GLIBCXX_3.4 4.1.1 + _ZNSi4readEPci@GLIBCXX_3.4 4.1.1 + _ZNSi5seekgExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSi6ignoreEi@GLIBCXX_3.4 4.1.1 + _ZNSi6ignoreEi@GLIBCXX_3.4.5 4.1.1 + _ZNSi6ignoreEii@GLIBCXX_3.4 4.1.1 + _ZNSi7getlineEPci@GLIBCXX_3.4 4.1.1 + _ZNSi7getlineEPcic@GLIBCXX_3.4 4.1.1 + _ZNSi8readsomeEPci@GLIBCXX_3.4 4.1.1 + _ZNSo5seekpExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSo5writeEPKci@GLIBCXX_3.4 4.1.1 + _ZNSo8_M_writeEPKci@GLIBCXX_3.4 4.1.1 + _ZNSs12_S_constructEjcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSs14_M_replace_auxEjjjc@GLIBCXX_3.4 4.1.1 + _ZNSs15_M_replace_safeEjjPKcj@GLIBCXX_3.4 4.1.1 + _ZNSs2atEj@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep26_M_set_length_and_sharableEj@GLIBCXX_3.4.5 4.1.1 + _ZNSs4_Rep8_M_cloneERKSaIcEj@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep9_S_createEjjRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSs5eraseEjj@GLIBCXX_3.4 4.1.1 + _ZNSs6appendEPKcj@GLIBCXX_3.4 4.1.1 + _ZNSs6appendERKSsjj@GLIBCXX_3.4 4.1.1 + _ZNSs6appendEjc@GLIBCXX_3.4 4.1.1 + _ZNSs6assignEPKcj@GLIBCXX_3.4 4.1.1 + _ZNSs6assignERKSsjj@GLIBCXX_3.4 4.1.1 + _ZNSs6assignEjc@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEjc@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEjPKc@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEjPKcj@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEjRKSs@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEjRKSsjj@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEjjc@GLIBCXX_3.4 4.1.1 + _ZNSs6resizeEj@GLIBCXX_3.4 4.1.1 + _ZNSs6resizeEjc@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_copyEPcPKcj@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_copyEPcPKcj@GLIBCXX_3.4.5 4.1.1 + _ZNSs7_M_moveEPcPKcj@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_moveEPcPKcj@GLIBCXX_3.4.5 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcj@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_jc@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEjjPKc@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEjjPKcj@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEjjRKSs@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEjjRKSsjj@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEjjjc@GLIBCXX_3.4 4.1.1 + _ZNSs7reserveEj@GLIBCXX_3.4 4.1.1 + _ZNSs9_M_assignEPcjc@GLIBCXX_3.4 4.1.1 + _ZNSs9_M_assignEPcjc@GLIBCXX_3.4.5 4.1.1 + _ZNSs9_M_mutateEjjj@GLIBCXX_3.4 4.1.1 + _ZNSsC1EPKcjRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC1ERKSsjj@GLIBCXX_3.4 4.1.1 + _ZNSsC1ERKSsjjRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC1EjcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2EPKcjRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2ERKSsjj@GLIBCXX_3.4 4.1.1 + _ZNSsC2ERKSsjjRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2EjcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsixEj@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC1EPKci@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC1EPci@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC2EPKci@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC2EPci@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEj@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEj@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE6xsgetnEPci@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE6xsputnEPKci@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE7seekoffExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE8xsputn_2EPKciS2_i@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIcEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIcEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIwEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIwEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf6setbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf8_M_allocEj@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf8_M_setupEPcS0_i@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPFPvjEPFvS0_E@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPKai@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPKci@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPKhi@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPaiS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPciS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPhiS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1Ei@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPFPvjEPFvS0_E@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPKai@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPKci@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPKhi@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPaiS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPciS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPhiS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2Ei@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPci@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4.5 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEij@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwiw@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIcEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIcEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIwEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIwEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcjj@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwjj@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIcEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIcEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIwEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIwEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIcEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIcEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIwEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIwEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIcEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIcEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIwEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIwEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIcEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIcEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIwEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIwEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb0EEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb0EEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb1EEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb1EEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb0EEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb0EEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb1EEC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb1EEC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb0EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb0EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb1EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb1EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb0EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb0EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb1EEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb1EEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC1EP15__locale_structPKtbj@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC1EPKtbj@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC2EP15__locale_structPKtbj@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC2EPKtbj@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt6gslice8_IndexerC1EjRKSt8valarrayIjES4_@GLIBCXX_3.4 4.1.1 + _ZNSt6gslice8_IndexerC2EjRKSt8valarrayIjES4_@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetEj@GLIBCXX_3.4.7 4.1.1 + _ZNSt6locale5_ImplC1EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC1ERKS0_j@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC2EPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC2ERKS0_j@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC1EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC2EP15__locale_structPKcj@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC1EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC2EP15__locale_structj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEj@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayIjEC1ERKS0_@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayIjEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayIjEC2ERKS0_@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayIjEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayIjED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayIjED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayIjEixEj@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_3.4 4.1.1 + _ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_i@GLIBCXX_3.4.9 4.2.1 + _ZSt16__ostream_insertIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_i@GLIBCXX_3.4.9 4.2.1 + _ZSt17__copy_streambufsIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_@GLIBCXX_3.4.6 4.1.1 + _ZSt17__copy_streambufsIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_@GLIBCXX_3.4.6 4.1.1 + _ZSt17__verify_groupingPKcjRKSs@GLIBCXX_3.4.10 4.3 + _ZSt21__copy_streambufs_eofIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_Rb@GLIBCXX_3.4.9 4.2.1 + _ZSt21__copy_streambufs_eofIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_Rb@GLIBCXX_3.4.9 4.2.1 + _ZThn8_NSdD0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSdD1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSdD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSdD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSiD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSiD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSoD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSoD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt10istrstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt10istrstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt10ostrstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt10ostrstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1 + _Znaj@GLIBCXX_3.4 4.1.1 + _ZnajRKSt9nothrow_t@GLIBCXX_3.4 4.1.1 + _Znwj@GLIBCXX_3.4 4.1.1 + _ZnwjRKSt9nothrow_t@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcEC1EP15__pthread_mutex@GLIBCXX_3.4 4.3.0 + _ZNSt12__basic_fileIcEC2EP15__pthread_mutex@GLIBCXX_3.4 4.3.0 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.64bit +++ gcc-8-8.2.0/debian/libstdc++6.symbols.64bit @@ -0,0 +1,624 @@ +#include "libstdc++6.symbols.common" +#include "libstdc++6.symbols.64bit.cxx11" + _ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEm@GLIBCXX_3.4.2 4.1.1 + _ZN9__gnu_cxx17__pool_alloc_base9_M_refillEm@GLIBCXX_3.4.2 4.1.1 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsgetnEPcl@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsputnEPKcl@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsgetnEPwl@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsputnEPKwl@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcm@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEmm@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcm@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEmm@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx9free_list6_M_getEm@GLIBCXX_3.4.4 4.1.1 + _ZNK10__cxxabiv117__class_type_info12__do_dyncastElNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv117__class_type_info20__do_find_public_srcElPKvPKS0_S2_@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv120__si_class_type_info12__do_dyncastElNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcElPKvPKNS_17__class_type_infoES2_@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastElNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcElPKvPKNS_17__class_type_infoES2_@CXXABI_1.3 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@GLIBCXX_3.4.5 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE2atEm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE6substrEmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKw@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEmPKc@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEEixEm@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs15_M_check_lengthEmmPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs15_M_check_lengthEmmPKc@GLIBCXX_3.4.5 4.1.1 + _ZNKSs16find_last_not_ofEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs16find_last_not_ofEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs16find_last_not_ofERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs16find_last_not_ofEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs2atEm@GLIBCXX_3.4 4.1.1 + _ZNKSs4copyEPcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs4findEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs4findEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs4findERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs4findEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs6substrEmm@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEmmPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEmmPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEmmRKSs@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEmmRKSsmm@GLIBCXX_3.4 4.1.1 + _ZNKSs8_M_checkEmPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs8_M_limitEmm@GLIBCXX_3.4 4.1.1 + _ZNKSsixEm@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIcE6_M_putEPcmPKcPK2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIwE6_M_putEPwmPKwPK2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt19__codecvt_utf8_baseIDiE9do_lengthER11__mbstate_tPKcS4_m@GLIBCXX_3.4.21 5 + _ZNKSt19__codecvt_utf8_baseIDsE9do_lengthER11__mbstate_tPKcS4_m@GLIBCXX_3.4.21 5 + _ZNKSt19__codecvt_utf8_baseIwE9do_lengthER11__mbstate_tPKcS4_m@GLIBCXX_3.4.21 5 + _ZNKSt20__codecvt_utf16_baseIDiE9do_lengthER11__mbstate_tPKcS4_m@GLIBCXX_3.4.21 5 + _ZNKSt20__codecvt_utf16_baseIDsE9do_lengthER11__mbstate_tPKcS4_m@GLIBCXX_3.4.21 5 + _ZNKSt20__codecvt_utf16_baseIwE9do_lengthER11__mbstate_tPKcS4_m@GLIBCXX_3.4.21 5 + _ZNKSt25__codecvt_utf8_utf16_baseIDiE9do_lengthER11__mbstate_tPKcS4_m@GLIBCXX_3.4.21 5 + _ZNKSt25__codecvt_utf8_utf16_baseIDsE9do_lengthER11__mbstate_tPKcS4_m@GLIBCXX_3.4.21 5 + _ZNKSt25__codecvt_utf8_utf16_baseIwE9do_lengthER11__mbstate_tPKcS4_m@GLIBCXX_3.4.21 5 + _ZNKSt7codecvtIDic11__mbstate_tE9do_lengthERS0_PKcS4_m@GLIBCXX_3.4.21 5 + _ZNKSt7codecvtIDsc11__mbstate_tE9do_lengthERS0_PKcS4_m@GLIBCXX_3.4.21 5 + _ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_m@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_m@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIcE12_M_transformEPcPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIwE12_M_transformEPwPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcmcRSt8ios_basePcS9_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcmcS6_PcS7_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEclRSt8ios_basePcPKcRi@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcmwRSt8ios_basePwS9_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcmwPKwPwS9_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwlRSt8ios_basePwPKwRi@GLIBCXX_3.4 4.1.1 + _ZNKSt8__detail20_Prime_rehash_policy11_M_next_bktEm@GLIBCXX_3.4.18 4.8 + _ZNKSt8__detail20_Prime_rehash_policy14_M_need_rehashEmmm@GLIBCXX_3.4.18 4.8 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.14 4.5 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.14 4.5 + _ZNKSt8valarrayImE4sizeEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE10_S_compareEmm@GLIBCXX_3.4.16 4.6.0 + _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEmwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEmmmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEmmPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE18_S_construct_aux_2EmwRKS1_@GLIBCXX_3.4.14 4.5 + _ZNSbIwSt11char_traitsIwESaIwEE2atEm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_m@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEmmRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE5eraseEmm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendEmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignEmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEmmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6resizeEm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_mw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mRKS1_@GLIBCXX_3.4.23 7 + _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mRKS1_@GLIBCXX_3.4.23 7 + _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEixEm@GLIBCXX_3.4 4.1.1 + _ZNSi3getEPcl@GLIBCXX_3.4 4.1.1 + _ZNSi3getEPclc@GLIBCXX_3.4 4.1.1 + _ZNSi4readEPcl@GLIBCXX_3.4 4.1.1 + _ZNSi5seekgElSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSi6ignoreEl@GLIBCXX_3.4 4.1.1 + _ZNSi6ignoreEl@GLIBCXX_3.4.5 4.1.1 + _ZNSi6ignoreEli@GLIBCXX_3.4 4.1.1 + _ZNSi7getlineEPcl@GLIBCXX_3.4 4.1.1 + _ZNSi7getlineEPclc@GLIBCXX_3.4 4.1.1 + _ZNSi8readsomeEPcl@GLIBCXX_3.4 4.1.1 + _ZNSo5seekpElSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSo5writeEPKcl@GLIBCXX_3.4 4.1.1 + _ZNSo8_M_writeEPKcl@GLIBCXX_3.4 4.1.1 + _ZNSs10_S_compareEmm@GLIBCXX_3.4.16 4.6.0 + _ZNSs12_S_constructEmcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSs14_M_replace_auxEmmmc@GLIBCXX_3.4 4.1.1 + _ZNSs15_M_replace_safeEmmPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs18_S_construct_aux_2EmcRKSaIcE@GLIBCXX_3.4.14 4.5 + _ZNSs2atEm@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4.5 4.1.1 + _ZNSs4_Rep8_M_cloneERKSaIcEm@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep9_S_createEmmRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSs5eraseEmm@GLIBCXX_3.4 4.1.1 + _ZNSs6appendEPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs6appendERKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSs6appendEmc@GLIBCXX_3.4 4.1.1 + _ZNSs6assignEPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs6assignERKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSs6assignEmc@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEmPKc@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEmPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEmRKSs@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEmRKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEmmc@GLIBCXX_3.4 4.1.1 + _ZNSs6resizeEm@GLIBCXX_3.4 4.1.1 + _ZNSs6resizeEmc@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_copyEPcPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_copyEPcPKcm@GLIBCXX_3.4.5 4.1.1 + _ZNSs7_M_moveEPcPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_moveEPcPKcm@GLIBCXX_3.4.5 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEmmPKc@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEmmPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEmmRKSs@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEmmRKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEmmmc@GLIBCXX_3.4 4.1.1 + _ZNSs7reserveEm@GLIBCXX_3.4 4.1.1 + _ZNSs9_M_assignEPcmc@GLIBCXX_3.4 4.1.1 + _ZNSs9_M_assignEPcmc@GLIBCXX_3.4.5 4.1.1 + _ZNSs9_M_mutateEmmm@GLIBCXX_3.4 4.1.1 + _ZNSsC1EPKcmRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC1ERKSsmRKSaIcE@GLIBCXX_3.4.23 7 + _ZNSsC1ERKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSsC1ERKSsmmRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC1EmcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2EPKcmRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2ERKSsmRKSaIcE@GLIBCXX_3.4.23 7 + _ZNSsC2ERKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSsC2ERKSsmmRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2EmcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsixEm@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC1EPKcl@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC1EPcl@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC2EPKcl@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC2EPcl@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt11this_thread11__sleep_forENSt6chrono8durationIlSt5ratioILl1ELl1EEEENS1_IlS2_ILl1ELl1000000000EEEE@GLIBCXX_3.4.18 4.8 + _ZNSt11__timepunctIcEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE6xsgetnEPcl@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE6xsputnEPKcl@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE7seekoffElSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE8xsputn_2EPKclS2_l@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIcEC1ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt12ctype_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIcEC2ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt12ctype_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIwEC1ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt12ctype_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIwEC2ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt12strstreambuf6setbufEPcl@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf8_M_allocEm@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf8_M_setupEPcS0_l@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPFPvmEPFvS0_E@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPKal@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPKcl@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPKhl@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPalS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPclS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPhlS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1El@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPFPvmEPFvS0_E@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPKal@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPKcl@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPKhl@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPalS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPclS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPhlS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2El@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPcl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPcl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPcl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKcl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekElSt12_Ios_Seekdir11__mbstate_t@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekElSt12_Ios_Seekdir11__mbstate_t@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwlw@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgElSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEl@GLIBCXX_3.4.5 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreElj@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwlw@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpElSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwl@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIcc11__mbstate_tEC1ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIcc11__mbstate_tEC2ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIwc11__mbstate_tEC1ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIwc11__mbstate_tEC2ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt14collate_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1 + (arch=!alpha !powerpc !ppc64 !ppc64el !s390 !s390x)_ZNSt14numeric_limitsIeE12max_digits10E@GLIBCXX_3.4.14 4.5.0 + _ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_gbumpEl@GLIBCXX_3.4.16 4.6.0 + _ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_pbumpEl@GLIBCXX_3.4.16 4.6.0 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPcl@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKcl@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPcl@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPcl@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKcl@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPcl@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8_M_pbumpEPcS4_l@GLIBCXX_3.4.16 4.6.0 + _ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwl@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwl@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwl@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwl@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwl@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwl@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_gbumpEl@GLIBCXX_3.4.16 4.6.0 + _ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_pbumpEl@GLIBCXX_3.4.16 4.6.0 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwl@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwmm@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8_M_pbumpEPwS4_l@GLIBCXX_3.4.16 4.6.0 + _ZNSt15messages_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIcEC1ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt15messages_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIcEC2ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt15messages_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIwEC1ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt15messages_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIwEC2ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt15numpunct_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIcEC1ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt15numpunct_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIcEC2ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt15numpunct_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIwEC1ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt15numpunct_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIwEC2ERKSsm@GLIBCXX_3.4.21 5 + + _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt16__numpunct_cacheIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb0EEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb0EEC1ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt17moneypunct_bynameIcLb0EEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb0EEC2ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt17moneypunct_bynameIcLb1EEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb1EEC1ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt17moneypunct_bynameIcLb1EEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb1EEC2ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt17moneypunct_bynameIwLb0EEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb0EEC1ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt17moneypunct_bynameIwLb0EEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb0EEC2ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb1EEC1ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb1EEC2ERKSsm@GLIBCXX_3.4.21 5 + _ZNSt18__moneypunct_cacheIcLb0EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb0EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb1EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb1EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb0EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb0EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb1EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb1EEC2Em@GLIBCXX_3.4 4.1.1 + (arch=!kfreebsd-amd64)_ZNSt28__atomic_futex_unsigned_base19_M_futex_wait_untilEPjjbNSt6chrono8durationIlSt5ratioILl1ELl1EEEENS2_IlS3_ILl1ELl1000000000EEEE@GLIBCXX_3.4.21 5 + _ZNSt5ctypeIcEC1EP15__locale_structPKtbm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC1EPKtbm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC2EP15__locale_structPKtbm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC2EPKtbm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@GLIBCXX_3.4 4.1.1 + _ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetEm@GLIBCXX_3.4.7 4.1.1 + _ZNSt6locale5_ImplC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC1ERKS0_m@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC2ERKS0_m@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC2Em@GLIBCXX_3.4 4.1.1 + + _ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImEC1ERKS0_@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImEC2ERKS0_@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImEixEm@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZSt11_Hash_bytesPKvmm@CXXABI_1.3.5 4.6 + _ZSt15_Fnv_hash_bytesPKvmm@CXXABI_1.3.5 4.6 + _ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l@GLIBCXX_3.4.9 4.2.1 + _ZSt16__ostream_insertIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_l@GLIBCXX_3.4.9 4.2.1 + _ZSt17__copy_streambufsIcSt11char_traitsIcEElPSt15basic_streambufIT_T0_ES6_@GLIBCXX_3.4.8 4.1.1 + _ZSt17__copy_streambufsIwSt11char_traitsIwEElPSt15basic_streambufIT_T0_ES6_@GLIBCXX_3.4.8 4.1.1 + _ZSt17__verify_groupingPKcmRKSs@GLIBCXX_3.4.10 4.3 + _ZSt21__copy_streambufs_eofIcSt11char_traitsIcEElPSt15basic_streambufIT_T0_ES6_Rb@GLIBCXX_3.4.9 4.2.1 + _ZSt21__copy_streambufs_eofIwSt11char_traitsIwEElPSt15basic_streambufIT_T0_ES6_Rb@GLIBCXX_3.4.9 4.2.1 + _ZTIPKn@CXXABI_1.3.5 4.6 + _ZTIPKo@CXXABI_1.3.5 4.6 + _ZTIPn@CXXABI_1.3.5 4.6 + _ZTIPo@CXXABI_1.3.5 4.6 + _ZTIn@CXXABI_1.3.5 4.6 + _ZTIo@CXXABI_1.3.5 4.6 + _ZTSPKn@CXXABI_1.3.9 5 + _ZTSPKo@CXXABI_1.3.9 5 + _ZTSPn@CXXABI_1.3.9 5 + _ZTSPo@CXXABI_1.3.9 5 + _ZTSn@CXXABI_1.3.9 5 + _ZTSo@CXXABI_1.3.9 5 + _ZThn16_NSdD0Ev@GLIBCXX_3.4 4.1.1 + _ZThn16_NSdD1Ev@GLIBCXX_3.4 4.1.1 + _ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn16_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn16_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn16_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn16_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn16_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn16_NSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZThn16_NSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSdD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSdD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSiD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSiD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSoD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSoD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt10istrstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt10istrstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt10ostrstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt10ostrstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n24_NSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZdaPvm@CXXABI_1.3.9 5 + _ZdaPvmSt11align_val_t@CXXABI_1.3.11 7 + _ZdlPvm@CXXABI_1.3.9 5 + _ZdlPvmSt11align_val_t@CXXABI_1.3.11 7 + _Znam@GLIBCXX_3.4 4.1.1 + _ZnamRKSt9nothrow_t@GLIBCXX_3.4 4.1.1 + _ZnamSt11align_val_t@CXXABI_1.3.11 7 + _ZnamSt11align_val_tRKSt9nothrow_t@CXXABI_1.3.11 7 + _Znwm@GLIBCXX_3.4 4.1.1 + _ZnwmRKSt9nothrow_t@GLIBCXX_3.4 4.1.1 + _ZnwmSt11align_val_t@CXXABI_1.3.11 7 + _ZnwmSt11align_val_tRKSt9nothrow_t@CXXABI_1.3.11 7 + __gxx_personality_v0@CXXABI_1.3 4.1.1 + _ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@GLIBCXX_3.4 4.1.1 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.64bit.cxx11 +++ gcc-8-8.2.0/debian/libstdc++6.symbols.64bit.cxx11 @@ -0,0 +1,333 @@ + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEPKcmm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofERKS4_m@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12find_last_ofEcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcmm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofERKS4_m@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE15_M_check_lengthEmmPKc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEPKcmm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofERKS4_m@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16find_last_not_ofEcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEPKcmm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofERKS4_m@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE2atEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4copyEPcmm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcmm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findERKS4_m@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEPKcmm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindERKS4_m@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmPKc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmRKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmRKS4_mm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_checkEmPKc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_limitEmm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofERKS4_m@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12find_last_ofEwm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofERKS4_m@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13find_first_ofEwm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS4_m@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS4_m@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE2atEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4copyEPwmm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findEPKwm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findEPKwmm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findERKS4_m@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4findEwm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindEPKwm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindEPKwmm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindERKS4_m@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5rfindEwm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6substrEmm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEmmPKw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEmmPKwm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEmmRKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEmmRKS4_mm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8_M_checkEmPKc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8_M_limitEmm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEixEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx117collateIcE12_M_transformEPcPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx117collateIwE12_M_transformEPwPKwm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES4_S4_RiiimRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES4_S4_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES4_S4_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES4_S4_RiiimRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES4_S4_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES4_S4_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt12ctype_bynameIcEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt12ctype_bynameIcEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt12ctype_bynameIwEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt12ctype_bynameIwEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt14codecvt_bynameIcc11__mbstate_tEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt14codecvt_bynameIcc11__mbstate_tEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt14codecvt_bynameIwc11__mbstate_tEC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt14codecvt_bynameIwc11__mbstate_tEC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1ERKNSt7__cxx1112basic_stringIcS2_SaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2ERKNSt7__cxx1112basic_stringIcS2_SaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EEC1EP15__locale_structPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EEC1Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EEC2EP15__locale_structPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EEC2Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EEC1EP15__locale_structPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EEC1Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EEC2EP15__locale_structPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EEC2Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EEC1EP15__locale_structPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EEC1Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EEC2EP15__locale_structPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EEC2Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EEC1EP15__locale_structPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EEC1Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EEC2EP15__locale_structPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EEC2Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_destroyEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_S_compareEmm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_capacityEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEmc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_set_lengthEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE14_M_replace_auxEmmmc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE18_M_construct_aux_2Emc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE2atEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEmm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendERKS4_mm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEmc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignERKS4_mm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEmc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPKcS4_EEmc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPcS4_EEmc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmPKc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmRKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmRKS4_mm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEmmc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_copyEPcPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_S_moveEPcPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S8_m@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_mc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_PKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_mc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmPKc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmRKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmRKS4_mm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEmmmc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_eraseEmm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_lengthEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_S_assignEPcmc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcmRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_mRKS3_@GLIBCXX_3.4.23 7 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_mm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_mmRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EmcRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcmRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_mRKS3_@GLIBCXX_3.4.23 7 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_mm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_mmRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EmcRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_destroyEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_replaceEmmPKwm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_S_compareEmm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_capacityEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructEmw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_M_set_lengthEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE14_M_replace_auxEmmmw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE18_M_construct_aux_2Emw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE2atEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEmm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendEPKwm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendERKS4_mm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendEmw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEmw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEPKwm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignERKS4_mm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPKwS4_EEmw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS4_EEmw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEmPKwm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEmPKw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEmRKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEmRKS4_mm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEmmw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6resizeEmw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_S_copyEPwPKwm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_S_moveEPwPKwm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S8_m@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_mw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_PKwm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_mw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEmmPKw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEmmRKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEmmRKS4_mm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEmmmw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7reserveEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8_M_eraseEmm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_appendEPKwm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_createERmm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_lengthEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_mutateEmmPKwm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_S_assignEPwmw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EPKwmRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_mRKS3_@GLIBCXX_3.4.23 7 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_mm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_mmRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EmwRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EPKwmRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_mRKS3_@GLIBCXX_3.4.23 7 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_mm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_mmRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EmwRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEixEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIcEC1EPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIcEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIcEC2EPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIcEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIwEC1EPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIwEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIwEC2EPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIwEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPcl@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE8_M_pbumpEPcS5_l@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwl@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwmm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE8_M_pbumpEPwS5_l@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIcEC1EPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIcEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIcEC2EPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIcEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIwEC1EPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIwEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIwEC2EPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIwEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIcEC1EPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIcEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIcEC2EPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIcEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIwEC1EPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIwEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIwEC2EPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIwEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1ERKNS_12basic_stringIcS3_SaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2ERKNS_12basic_stringIcS3_SaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1ERKNS_12basic_stringIcS2_IcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2ERKNS_12basic_stringIcS2_IcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC1EPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC2EPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb0EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC1EPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC2EPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb1EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC1EPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC2EPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb0EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC1EPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC1ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC2EPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb1EEC2ERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx117collateIcEC1EP15__locale_structm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx117collateIcEC1Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx117collateIcEC2EP15__locale_structm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx117collateIcEC2Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx117collateIwEC1EP15__locale_structm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx117collateIwEC1Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx117collateIwEC2EP15__locale_structm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx117collateIwEC2Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118messagesIcEC1EP15__locale_structPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118messagesIcEC1Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118messagesIcEC2EP15__locale_structPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118messagesIcEC2Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118messagesIwEC1EP15__locale_structPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118messagesIwEC1Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118messagesIwEC2EP15__locale_structPKcm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118messagesIwEC2Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIcEC1EP15__locale_structm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIcEC1EPSt16__numpunct_cacheIcEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIcEC1Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIcEC2EP15__locale_structm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIcEC2EPSt16__numpunct_cacheIcEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIcEC2Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIwEC1EP15__locale_structm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIwEC1EPSt16__numpunct_cacheIwEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIwEC1Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIwEC2EP15__locale_structm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIwEC2EPSt16__numpunct_cacheIwEm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIwEC2Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt17__verify_groupingPKcmRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZThn16_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZThn16_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZThn16_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZThn16_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTv0_n24_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTv0_n24_NSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTv0_n24_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTv0_n24_NSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTv0_n24_NSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTv0_n24_NSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTv0_n24_NSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTv0_n24_NSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTv0_n24_NSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTv0_n24_NSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTv0_n24_NSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTv0_n24_NSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4.21 5.2 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.alpha +++ gcc-8-8.2.0/debian/libstdc++6.symbols.alpha @@ -0,0 +1,56 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.64bit" +#include "libstdc++6.symbols.excprop" + _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1 +#include "libstdc++6.symbols.glibcxxmath" +#include "libstdc++6.symbols.ldbl.64bit" +#include "libstdc++6.symbols.money.f128" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 + _ZNSt14numeric_limitsInE10has_denormE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE10is_boundedE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE10is_integerE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE11round_styleE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE12has_infinityE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE12max_digits10E@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE12max_exponentE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE12min_exponentE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE13has_quiet_NaNE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE14is_specializedE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE14max_exponent10E@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE14min_exponent10E@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE15has_denorm_lossE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE15tinyness_beforeE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE17has_signaling_NaNE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE5radixE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE5trapsE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE6digitsE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE8digits10E@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE8is_exactE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE9is_iec559E@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE9is_moduloE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE9is_signedE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE10has_denormE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE10is_boundedE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE10is_integerE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE11round_styleE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE12has_infinityE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE12max_digits10E@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE12max_exponentE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE12min_exponentE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE13has_quiet_NaNE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE14is_specializedE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE14max_exponent10E@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE14min_exponent10E@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE15has_denorm_lossE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE15tinyness_beforeE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE17has_signaling_NaNE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE5radixE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE5trapsE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE6digitsE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE8digits10E@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE8is_exactE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE9is_iec559E@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE9is_moduloE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE9is_signedE@GLIBCXX_3.4.17 4.8 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.amd64 +++ gcc-8-8.2.0/debian/libstdc++6.symbols.amd64 @@ -0,0 +1,16 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.64bit" +#include "libstdc++6.symbols.128bit" +#include "libstdc++6.symbols.excprop" +#include "libstdc++6.symbols.money.ldbl" + _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1 + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3 +#(optional)_Z16__VLTRegisterSetPPvPKvmmS0_@CXXABI_1.3.8 4.9.0 +#(optional)_Z17__VLTRegisterPairPPvPKvmS2_@CXXABI_1.3.8 4.9.0 +#(optional)_Z21__VLTRegisterSetDebugPPvPKvmmS0_@CXXABI_1.3.8 4.9.0 +#(optional)_Z22__VLTRegisterPairDebugPPvPKvmS2_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 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.arm +++ gcc-8-8.2.0/debian/libstdc++6.symbols.arm @@ -0,0 +1,6 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.32bit" + __gxx_personality_sj0@CXXABI_1.3 4.1.1 +#include "libstdc++6.symbols.glibcxxmath" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.arm64 +++ gcc-8-8.2.0/debian/libstdc++6.symbols.arm64 @@ -0,0 +1,10 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.64bit" +#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.0 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0 + _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.armel +++ gcc-8-8.2.0/debian/libstdc++6.symbols.armel @@ -0,0 +1,13 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.32bit" +#include "libstdc++6.symbols.money.ldbl" + __gxx_personality_v0@CXXABI_1.3 4.1.1 +#include "libstdc++6.symbols.glibcxxmath" + CXXABI_ARM_1.3.3@CXXABI_ARM_1.3.3 4.4.0 + _ZNKSt9type_info6beforeERKS_@GLIBCXX_3.4 4.3.0 + _ZNKSt9type_infoeqERKS_@GLIBCXX_3.4 4.3.0 + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0 + __cxa_begin_cleanup@CXXABI_1.3 4.3.0 + __cxa_end_cleanup@CXXABI_1.3 4.3.0 + __cxa_type_match@CXXABI_1.3 4.3.0 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.armhf +++ gcc-8-8.2.0/debian/libstdc++6.symbols.armhf @@ -0,0 +1,20 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.32bit" +#include "libstdc++6.symbols.excprop" +#include "libstdc++6.symbols.money.ldbl" + __gxx_personality_v0@CXXABI_1.3 4.1.1 +#include "libstdc++6.symbols.glibcxxmath" + CXXABI_ARM_1.3.3@CXXABI_ARM_1.3.3 4.4.0 + _ZNKSt9type_info6beforeERKS_@GLIBCXX_3.4 4.3.0 + _ZNKSt9type_infoeqERKS_@GLIBCXX_3.4 4.3.0 + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0 + __cxa_begin_cleanup@CXXABI_1.3 4.3.0 + __cxa_end_cleanup@CXXABI_1.3 4.3.0 + __cxa_type_match@CXXABI_1.3 4.3.0 + _ZTIPKo@CXXABI_1.3.5 7 + _ZTIPo@CXXABI_1.3.5 7 + _ZTIo@CXXABI_1.3.5 7 + _ZTSPKo@CXXABI_1.3.9 7 + _ZTSPo@CXXABI_1.3.9 7 + _ZTSo@CXXABI_1.3.9 7 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.common +++ gcc-8-8.2.0/debian/libstdc++6.symbols.common @@ -0,0 +1,3472 @@ + CXXABI_1.3.1@CXXABI_1.3.1 4.1.1 + CXXABI_1.3.2@CXXABI_1.3.2 4.3 + CXXABI_1.3.3@CXXABI_1.3.3 4.4.0 + CXXABI_1.3.4@CXXABI_1.3.4 4.5 + CXXABI_1.3.5@CXXABI_1.3.5 4.6 + CXXABI_1.3.6@CXXABI_1.3.6 4.7 + CXXABI_1.3.7@CXXABI_1.3.7 4.8 + CXXABI_1.3.8@CXXABI_1.3.8 4.9 + CXXABI_1.3.9@CXXABI_1.3.9 5 + CXXABI_1.3.10@CXXABI_1.3.10 6 + CXXABI_1.3.11@CXXABI_1.3.11 7 + CXXABI_1.3@CXXABI_1.3 4.1.1 + CXXABI_TM_1@CXXABI_TM_1 4.7 + GLIBCXX_3.4.10@GLIBCXX_3.4.10 4.3 + GLIBCXX_3.4.11@GLIBCXX_3.4.11 4.4.0 + GLIBCXX_3.4.12@GLIBCXX_3.4.12 4.4.0 + GLIBCXX_3.4.13@GLIBCXX_3.4.13 4.4.2 + GLIBCXX_3.4.14@GLIBCXX_3.4.14 4.5 + GLIBCXX_3.4.15@GLIBCXX_3.4.15 4.6 + GLIBCXX_3.4.16@GLIBCXX_3.4.16 4.6.0 + GLIBCXX_3.4.17@GLIBCXX_3.4.17 4.7 + GLIBCXX_3.4.18@GLIBCXX_3.4.18 4.8 + GLIBCXX_3.4.19@GLIBCXX_3.4.19 4.8 + GLIBCXX_3.4.1@GLIBCXX_3.4.1 4.1.1 + GLIBCXX_3.4.20@GLIBCXX_3.4.20 4.9 + GLIBCXX_3.4.21@GLIBCXX_3.4.21 5 + GLIBCXX_3.4.22@GLIBCXX_3.4.22 6 + GLIBCXX_3.4.23@GLIBCXX_3.4.23 7 + GLIBCXX_3.4.24@GLIBCXX_3.4.24 7 + GLIBCXX_3.4.25@GLIBCXX_3.4.25 8 + GLIBCXX_3.4.2@GLIBCXX_3.4.2 4.1.1 + GLIBCXX_3.4.3@GLIBCXX_3.4.3 4.1.1 + GLIBCXX_3.4.4@GLIBCXX_3.4.4 4.1.1 + GLIBCXX_3.4.5@GLIBCXX_3.4.5 4.1.1 + GLIBCXX_3.4.6@GLIBCXX_3.4.6 4.1.1 + GLIBCXX_3.4.7@GLIBCXX_3.4.7 4.1.1 + GLIBCXX_3.4.8@GLIBCXX_3.4.8 4.1.1 + GLIBCXX_3.4.9@GLIBCXX_3.4.9 4.2.1 + GLIBCXX_3.4@GLIBCXX_3.4 4.1.1 +#include "libstdc++6.symbols.common.cxx11" +(arch=amd64 i386 x32 kfreebsd-amd64 kfreebsd-i386)#include "libstdc++6.symbols.float128" +(arch=!armel)#include "libstdc++6.symbols.not-armel" + (arch=!armel !hurd-i386 !kfreebsd-amd64 !kfreebsd-i386)_ZNSt28__atomic_futex_unsigned_base19_M_futex_notify_allEPj@GLIBCXX_3.4.21 5 + _ZGTtNKSt11logic_error4whatEv@GLIBCXX_3.4.22 6 + _ZGTtNKSt13bad_exception4whatEv@CXXABI_1.3.10 6 + _ZGTtNKSt13bad_exceptionD1Ev@CXXABI_1.3.10 6 + _ZGTtNKSt13runtime_error4whatEv@GLIBCXX_3.4.22 6 + _ZGTtNKSt9exception4whatEv@CXXABI_1.3.10 6 + _ZGTtNKSt9exceptionD1Ev@CXXABI_1.3.10 6 + _ZGTtNSt11logic_errorC1EPKc@GLIBCXX_3.4.22 6 + (optional=abi_c++11)_ZGTtNSt11logic_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6 + _ZGTtNSt11logic_errorC2EPKc@GLIBCXX_3.4.22 6 + (optional=abi_c++11)_ZGTtNSt11logic_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6 + _ZGTtNSt11logic_errorD0Ev@GLIBCXX_3.4.22 6 + _ZGTtNSt11logic_errorD1Ev@GLIBCXX_3.4.22 6 + _ZGTtNSt11logic_errorD2Ev@GLIBCXX_3.4.22 6 + _ZGTtNSt11range_errorC1EPKc@GLIBCXX_3.4.22 6 + (optional=abi_c++11)_ZGTtNSt11range_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6 + _ZGTtNSt11range_errorC2EPKc@GLIBCXX_3.4.22 6 + (optional=abi_c++11)_ZGTtNSt11range_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6 + _ZGTtNSt11range_errorD0Ev@GLIBCXX_3.4.22 6 + _ZGTtNSt11range_errorD1Ev@GLIBCXX_3.4.22 6 + _ZGTtNSt11range_errorD2Ev@GLIBCXX_3.4.22 6 + _ZGTtNSt12domain_errorC1EPKc@GLIBCXX_3.4.22 6 + (optional=abi_c++11)_ZGTtNSt12domain_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6 + _ZGTtNSt12domain_errorC2EPKc@GLIBCXX_3.4.22 6 + (optional=abi_c++11)_ZGTtNSt12domain_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6 + _ZGTtNSt12domain_errorD0Ev@GLIBCXX_3.4.22 6 + _ZGTtNSt12domain_errorD1Ev@GLIBCXX_3.4.22 6 + _ZGTtNSt12domain_errorD2Ev@GLIBCXX_3.4.22 6 + _ZGTtNSt12length_errorC1EPKc@GLIBCXX_3.4.22 6 + (optional=abi_c++11)_ZGTtNSt12length_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6 + _ZGTtNSt12length_errorC2EPKc@GLIBCXX_3.4.22 6 + (optional=abi_c++11)_ZGTtNSt12length_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6 + _ZGTtNSt12length_errorD0Ev@GLIBCXX_3.4.22 6 + _ZGTtNSt12length_errorD1Ev@GLIBCXX_3.4.22 6 + _ZGTtNSt12length_errorD2Ev@GLIBCXX_3.4.22 6 + _ZGTtNSt12out_of_rangeC1EPKc@GLIBCXX_3.4.22 6 + (optional=abi_c++11)_ZGTtNSt12out_of_rangeC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6 + _ZGTtNSt12out_of_rangeC2EPKc@GLIBCXX_3.4.22 6 + (optional=abi_c++11)_ZGTtNSt12out_of_rangeC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6 + _ZGTtNSt12out_of_rangeD0Ev@GLIBCXX_3.4.22 6 + _ZGTtNSt12out_of_rangeD1Ev@GLIBCXX_3.4.22 6 + _ZGTtNSt12out_of_rangeD2Ev@GLIBCXX_3.4.22 6 + _ZGTtNSt13runtime_errorC1EPKc@GLIBCXX_3.4.22 6 + (optional=abi_c++11)_ZGTtNSt13runtime_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6 + _ZGTtNSt13runtime_errorC2EPKc@GLIBCXX_3.4.22 6 + (optional=abi_c++11)_ZGTtNSt13runtime_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6 + _ZGTtNSt13runtime_errorD0Ev@GLIBCXX_3.4.22 6 + _ZGTtNSt13runtime_errorD1Ev@GLIBCXX_3.4.22 6 + _ZGTtNSt13runtime_errorD2Ev@GLIBCXX_3.4.22 6 + _ZGTtNSt14overflow_errorC1EPKc@GLIBCXX_3.4.22 6 + (optional=abi_c++11)_ZGTtNSt14overflow_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6 + _ZGTtNSt14overflow_errorC2EPKc@GLIBCXX_3.4.22 6 + (optional=abi_c++11)_ZGTtNSt14overflow_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6 + _ZGTtNSt14overflow_errorD0Ev@GLIBCXX_3.4.22 6 + _ZGTtNSt14overflow_errorD1Ev@GLIBCXX_3.4.22 6 + _ZGTtNSt14overflow_errorD2Ev@GLIBCXX_3.4.22 6 + _ZGTtNSt15underflow_errorC1EPKc@GLIBCXX_3.4.22 6 + (optional=abi_c++11)_ZGTtNSt15underflow_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6 + _ZGTtNSt15underflow_errorC2EPKc@GLIBCXX_3.4.22 6 + (optional=abi_c++11)_ZGTtNSt15underflow_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6 + _ZGTtNSt15underflow_errorD0Ev@GLIBCXX_3.4.22 6 + _ZGTtNSt15underflow_errorD1Ev@GLIBCXX_3.4.22 6 + _ZGTtNSt15underflow_errorD2Ev@GLIBCXX_3.4.22 6 + _ZGTtNSt16invalid_argumentC1EPKc@GLIBCXX_3.4.22 6 + (optional=abi_c++11)_ZGTtNSt16invalid_argumentC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6 + _ZGTtNSt16invalid_argumentC2EPKc@GLIBCXX_3.4.22 6 + (optional=abi_c++11)_ZGTtNSt16invalid_argumentC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.22 6 + _ZGTtNSt16invalid_argumentD0Ev@GLIBCXX_3.4.22 6 + _ZGTtNSt16invalid_argumentD1Ev@GLIBCXX_3.4.22 6 + _ZGTtNSt16invalid_argumentD2Ev@GLIBCXX_3.4.22 6 + _ZGVNSt10moneypunctIcLb0EE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt10moneypunctIcLb1EE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt10moneypunctIwLb0EE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt10moneypunctIwLb1EE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt11__timepunctIcE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt11__timepunctIwE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt7collateIcE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt7collateIwE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt8messagesIcE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt8messagesIwE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt8numpunctIcE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt8numpunctIwE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1 + _ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1 + _ZN10__cxxabiv116__enum_type_infoD0Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv116__enum_type_infoD1Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv116__enum_type_infoD2Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv117__array_type_infoD0Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv117__array_type_infoD1Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv117__array_type_infoD2Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv117__class_type_infoD0Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv117__class_type_infoD1Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv117__class_type_infoD2Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv117__pbase_type_infoD0Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv117__pbase_type_infoD1Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv117__pbase_type_infoD2Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv119__pointer_type_infoD0Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv119__pointer_type_infoD1Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv119__pointer_type_infoD2Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv120__function_type_infoD0Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv120__function_type_infoD1Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv120__function_type_infoD2Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv120__si_class_type_infoD0Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv120__si_class_type_infoD1Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv120__si_class_type_infoD2Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv121__vmi_class_type_infoD0Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv121__vmi_class_type_infoD1Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv121__vmi_class_type_infoD2Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv123__fundamental_type_infoD0Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv123__fundamental_type_infoD1Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv123__fundamental_type_infoD2Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv129__pointer_to_member_type_infoD0Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv129__pointer_to_member_type_infoD1Ev@CXXABI_1.3 4.1.1 + _ZN10__cxxabiv129__pointer_to_member_type_infoD2Ev@CXXABI_1.3 4.1.1 + _ZN10__gnu_norm15_List_node_base4hookEPS0_@GLIBCXX_3.4 4.1.1 + _ZN10__gnu_norm15_List_node_base4swapERS0_S1_@GLIBCXX_3.4 4.1.1 + _ZN10__gnu_norm15_List_node_base6unhookEv@GLIBCXX_3.4 4.1.1 + _ZN10__gnu_norm15_List_node_base7reverseEv@GLIBCXX_3.4 4.1.1 + _ZN10__gnu_norm15_List_node_base8transferEPS0_S1_@GLIBCXX_3.4 4.1.1 + _ZN11__gnu_debug19_Safe_iterator_base12_M_get_mutexEv@GLIBCXX_3.4.9 4.2.1 + _ZN11__gnu_debug19_Safe_iterator_base16_M_attach_singleEPNS_19_Safe_sequence_baseEb@GLIBCXX_3.4.9 4.2.1 + _ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv@GLIBCXX_3.4.9 4.2.1 + _ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@GLIBCXX_3.4 4.1.1 + _ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv@GLIBCXX_3.4 4.1.1 + _ZN11__gnu_debug19_Safe_sequence_base12_M_get_mutexEv@GLIBCXX_3.4.9 4.2.1 + _ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv@GLIBCXX_3.4 4.1.1 + _ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@GLIBCXX_3.4 4.1.1 + _ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@GLIBCXX_3.4 4.1.1 + _ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@GLIBCXX_3.4 4.1.1 + _ZN11__gnu_debug25_Safe_local_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@GLIBCXX_3.4.17 4.7 + _ZN11__gnu_debug25_Safe_local_iterator_base9_M_detachEv@GLIBCXX_3.4.17 4.7 + _ZN11__gnu_debug30_Safe_unordered_container_base13_M_detach_allEv@GLIBCXX_3.4.17 4.7 + _ZN11__gnu_debug30_Safe_unordered_container_base7_M_swapERS0_@GLIBCXX_3.4.17 4.7 + _ZN14__gnu_parallel9_Settings3getEv@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN14__gnu_parallel9_Settings3setERS0_@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv@GLIBCXX_3.4.2 4.1.1 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv@GLIBCXX_3.4.2 4.1.1 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4syncEv@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4syncEv@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE5uflowEv@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE5uflowEv@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE8overflowEi@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9pbackfailEi@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9underflowEv@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC1EOS3_@GLIBCXX_3.4.21 5 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC1EP8_IO_FILE@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC2EOS3_@GLIBCXX_3.4.21 5 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC2EP8_IO_FILE@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEaSEOS3_@GLIBCXX_3.4.21 5 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv@GLIBCXX_3.4.2 4.1.1 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4syncEv@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE5uflowEv@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE8overflowEj@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9pbackfailEj@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9underflowEv@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC1EOS3_@GLIBCXX_3.4.21 5 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC1EP8_IO_FILE@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC2EOS3_@GLIBCXX_3.4.21 5 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC2EP8_IO_FILE@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEaSEOS3_@GLIBCXX_3.4.21 5 + _ZN9__gnu_cxx27__verbose_terminate_handlerEv@CXXABI_1.3 4.1.1 + _ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb1EE13_M_initializeEv@GLIBCXX_3.4.6 4.1.1 + _ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb1EE21_M_destroy_thread_keyEPv@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx9__freeresEv@CXXABI_1.3.10 6 + _ZN9__gnu_cxx9free_list8_M_clearEv@GLIBCXX_3.4.4 4.1.1 + _ZNK10__cxxabiv117__class_type_info10__do_catchEPKSt9type_infoPPvj@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PKvRNS0_15__upcast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv117__class_type_info11__do_upcastEPKS0_PPv@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv117__pbase_type_info10__do_catchEPKSt9type_infoPPvj@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv117__pbase_type_info15__pointer_catchEPKS0_PPvj@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv119__pointer_type_info14__is_pointer_pEv@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv119__pointer_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv120__function_type_info15__is_function_pEv@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv120__si_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv121__vmi_class_type_info11__do_upcastEPKNS_17__class_type_infoEPKvRNS1_15__upcast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv129__pointer_to_member_type_info15__pointer_catchEPKNS_17__pbase_type_infoEPPvj@CXXABI_1.3 4.1.1 + _ZNK11__gnu_debug16_Error_formatter10_M_messageENS_13_Debug_msg_idE@GLIBCXX_3.4 4.1.1 + _ZNK11__gnu_debug16_Error_formatter10_Parameter14_M_print_fieldEPKS0_PKc@GLIBCXX_3.4 4.1.1 + _ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_@GLIBCXX_3.4 4.1.1 + _ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc@GLIBCXX_3.4 4.1.1 + _ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc@GLIBCXX_3.4 4.1.1 + _ZNK11__gnu_debug16_Error_formatter17_M_get_max_lengthEv@GLIBCXX_3.4.10 4.3 + _ZNK11__gnu_debug16_Error_formatter8_M_errorEv@GLIBCXX_3.4 4.1.1 + _ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@GLIBCXX_3.4 4.1.1 + _ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4.5 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13get_allocatorEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE3endEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_leakedEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4_Rep12_M_is_sharedEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4backEv@GLIBCXX_3.4.15 4.6 + _ZNKSbIwSt11char_traitsIwESaIwEE4cendEv@GLIBCXX_3.4.14 4.5 + _ZNKSbIwSt11char_traitsIwESaIwEE4dataEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4rendEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4sizeEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5beginEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5crendEv@GLIBCXX_3.4.14 4.5 + _ZNKSbIwSt11char_traitsIwESaIwEE5c_strEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5emptyEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5frontEv@GLIBCXX_3.4.15 4.6 + _ZNKSbIwSt11char_traitsIwESaIwEE6_M_repEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE6cbeginEv@GLIBCXX_3.4.14 4.5 + _ZNKSbIwSt11char_traitsIwESaIwEE6lengthEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE6rbeginEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7_M_dataEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7_M_iendEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEPKw@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareERKS2_@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7crbeginEv@GLIBCXX_3.4.14 4.5 + _ZNKSbIwSt11char_traitsIwESaIwEE8capacityEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE8max_sizeEv@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE9_M_ibeginEv@GLIBCXX_3.4 4.1.1 + _ZNKSi6gcountEv@GLIBCXX_3.4 4.1.1 + _ZNKSi6sentrycvbEv@GLIBCXX_3.4 4.1.1 + _ZNKSo6sentrycvbEv@GLIBCXX_3.4 4.1.1 + _ZNKSs11_M_disjunctEPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs11_M_disjunctEPKc@GLIBCXX_3.4.5 4.1.1 + _ZNKSs13get_allocatorEv@GLIBCXX_3.4 4.1.1 + _ZNKSs3endEv@GLIBCXX_3.4 4.1.1 + _ZNKSs4_Rep12_M_is_leakedEv@GLIBCXX_3.4 4.1.1 + _ZNKSs4_Rep12_M_is_sharedEv@GLIBCXX_3.4 4.1.1 + _ZNKSs4backEv@GLIBCXX_3.4.15 4.6 + _ZNKSs4cendEv@GLIBCXX_3.4.14 4.5 + _ZNKSs4dataEv@GLIBCXX_3.4 4.1.1 + _ZNKSs4rendEv@GLIBCXX_3.4 4.1.1 + _ZNKSs4sizeEv@GLIBCXX_3.4 4.1.1 + _ZNKSs5beginEv@GLIBCXX_3.4 4.1.1 + _ZNKSs5c_strEv@GLIBCXX_3.4 4.1.1 + _ZNKSs5crendEv@GLIBCXX_3.4.14 4.5 + _ZNKSs5emptyEv@GLIBCXX_3.4 4.1.1 + _ZNKSs5frontEv@GLIBCXX_3.4.15 4.6 + _ZNKSs6_M_repEv@GLIBCXX_3.4 4.1.1 + _ZNKSs6cbeginEv@GLIBCXX_3.4.14 4.5 + _ZNKSs6lengthEv@GLIBCXX_3.4 4.1.1 + _ZNKSs6rbeginEv@GLIBCXX_3.4 4.1.1 + _ZNKSs7_M_dataEv@GLIBCXX_3.4 4.1.1 + _ZNKSs7_M_iendEv@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareERKSs@GLIBCXX_3.4 4.1.1 + _ZNKSs7crbeginEv@GLIBCXX_3.4.14 4.5 + _ZNKSs8capacityEv@GLIBCXX_3.4 4.1.1 + _ZNKSs8max_sizeEv@GLIBCXX_3.4 4.1.1 + _ZNKSs9_M_ibeginEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10bad_typeid4whatEv@GLIBCXX_3.4.9 4.2.1 + _ZNKSt10error_code23default_error_conditionEv@GLIBCXX_3.4.11 4.4.0 + _ZNKSt10istrstream5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10lock_error4whatEv@GLIBCXX_3.4.11 4.4.0 + _ZNKSt10moneypunctIcLb0EE10neg_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE10pos_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE11curr_symbolEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE11do_groupingEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE11frac_digitsEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE13decimal_pointEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE13do_neg_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE13do_pos_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE13negative_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE13positive_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE13thousands_sepEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE14do_curr_symbolEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE14do_frac_digitsEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE16do_decimal_pointEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE16do_negative_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE16do_positive_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE16do_thousands_sepEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb0EE8groupingEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE10neg_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE10pos_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE11curr_symbolEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE11do_groupingEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE11frac_digitsEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE13decimal_pointEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE13do_neg_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE13do_pos_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE13negative_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE13positive_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE13thousands_sepEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE14do_curr_symbolEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE14do_frac_digitsEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE16do_decimal_pointEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE16do_negative_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE16do_positive_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE16do_thousands_sepEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIcLb1EE8groupingEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE10neg_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE10pos_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE11curr_symbolEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE11do_groupingEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE11frac_digitsEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE13decimal_pointEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE13do_neg_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE13do_pos_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE13negative_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE13positive_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE13thousands_sepEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE14do_curr_symbolEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE14do_frac_digitsEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE16do_decimal_pointEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE16do_negative_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE16do_positive_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE16do_thousands_sepEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb0EE8groupingEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE10neg_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE10pos_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE11curr_symbolEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE11do_groupingEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE11frac_digitsEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE13decimal_pointEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE13do_neg_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE13do_pos_formatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE13negative_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE13positive_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE13thousands_sepEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE14do_curr_symbolEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE14do_frac_digitsEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE16do_decimal_pointEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE16do_negative_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE16do_positive_signEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE16do_thousands_sepEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10moneypunctIwLb1EE8groupingEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10ostrstream5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt10ostrstream6pcountEv@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIcE15_M_am_pm_formatEPKc@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIcE15_M_date_formatsEPPKc@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIcE15_M_time_formatsEPPKc@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIcE19_M_days_abbreviatedEPPKc@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIcE20_M_date_time_formatsEPPKc@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIcE21_M_months_abbreviatedEPPKc@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIcE7_M_daysEPPKc@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIcE8_M_am_pmEPPKc@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIcE9_M_monthsEPPKc@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIwE15_M_am_pm_formatEPKw@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIwE15_M_date_formatsEPPKw@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIwE15_M_time_formatsEPPKw@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIwE19_M_days_abbreviatedEPPKw@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIwE20_M_date_time_formatsEPPKw@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIwE21_M_months_abbreviatedEPPKw@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIwE7_M_daysEPPKw@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIwE8_M_am_pmEPPKw@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIwE9_M_monthsEPPKw@GLIBCXX_3.4 4.1.1 + _ZNKSt11logic_error4whatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt12__basic_fileIcE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNKSt12bad_weak_ptr4whatEv@GLIBCXX_3.4.15 4.6 + _ZNKSt12future_error4whatEv@GLIBCXX_3.4.14 4.5 + _ZNKSt12strstreambuf6pcountEv@GLIBCXX_3.4 4.1.1 + _ZNKSt13bad_exception4whatEv@GLIBCXX_3.4.9 4.2.1 + _ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNKSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4.5 4.1.1 + _ZNKSt13basic_fstreamIwSt11char_traitsIwEE5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNKSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4.5 4.1.1 + _ZNKSt13basic_istreamIwSt11char_traitsIwEE6gcountEv@GLIBCXX_3.4 4.1.1 + _ZNKSt13basic_istreamIwSt11char_traitsIwEE6sentrycvbEv@GLIBCXX_3.4 4.1.1 + _ZNKSt13basic_ostreamIwSt11char_traitsIwEE6sentrycvbEv@GLIBCXX_3.4 4.1.1 + _ZNKSt13random_device13_M_getentropyEv@GLIBCXX_3.4.25 8 + _ZNKSt13runtime_error4whatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt14basic_ifstreamIcSt11char_traitsIcEE5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNKSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4.5 4.1.1 + _ZNKSt14basic_ifstreamIwSt11char_traitsIwEE5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNKSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4.5 4.1.1 + _ZNKSt14basic_ofstreamIcSt11char_traitsIcEE5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNKSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4.5 4.1.1 + _ZNKSt14basic_ofstreamIwSt11char_traitsIwEE5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNKSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4.5 4.1.1 + _ZNKSt14error_category10equivalentERKSt10error_codei@GLIBCXX_3.4.11 4.4.0 + _ZNKSt14error_category10equivalentEiRKSt15error_condition@GLIBCXX_3.4.11 4.4.0 + _ZNKSt14error_category23default_error_conditionEi@GLIBCXX_3.4.11 4.4.0 + _ZNKSt15basic_streambufIcSt11char_traitsIcEE4gptrEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_streambufIcSt11char_traitsIcEE4pptrEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_streambufIcSt11char_traitsIcEE5ebackEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_streambufIcSt11char_traitsIcEE5egptrEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_streambufIcSt11char_traitsIcEE5epptrEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_streambufIcSt11char_traitsIcEE5pbaseEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_streambufIcSt11char_traitsIcEE6getlocEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_streambufIwSt11char_traitsIwEE4gptrEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_streambufIwSt11char_traitsIwEE4pptrEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_streambufIwSt11char_traitsIwEE5ebackEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_streambufIwSt11char_traitsIwEE5egptrEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_streambufIwSt11char_traitsIwEE5epptrEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_streambufIwSt11char_traitsIwEE5pbaseEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@GLIBCXX_3.4 4.1.1 + _ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@GLIBCXX_3.4 4.1.1 + _ZNKSt16bad_array_length4whatEv@CXXABI_1.3.8 4.9 + _ZNKSt17bad_function_call4whatEv@GLIBCXX_3.4.18 4.8 + _ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@GLIBCXX_3.4 4.1.1 + _ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@GLIBCXX_3.4 4.1.1 + _ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt19__codecvt_utf8_baseIDiE10do_unshiftER11__mbstate_tPcS3_RS3_@GLIBCXX_3.4.21 5 + _ZNKSt19__codecvt_utf8_baseIDiE11do_encodingEv@GLIBCXX_3.4.21 5 + _ZNKSt19__codecvt_utf8_baseIDiE13do_max_lengthEv@GLIBCXX_3.4.21 5 + _ZNKSt19__codecvt_utf8_baseIDiE16do_always_noconvEv@GLIBCXX_3.4.21 5 + _ZNKSt19__codecvt_utf8_baseIDiE5do_inER11__mbstate_tPKcS4_RS4_PDiS6_RS6_@GLIBCXX_3.4.21 5 + _ZNKSt19__codecvt_utf8_baseIDiE6do_outER11__mbstate_tPKDiS4_RS4_PcS6_RS6_@GLIBCXX_3.4.21 5 + _ZNKSt19__codecvt_utf8_baseIDsE10do_unshiftER11__mbstate_tPcS3_RS3_@GLIBCXX_3.4.21 5 + _ZNKSt19__codecvt_utf8_baseIDsE11do_encodingEv@GLIBCXX_3.4.21 5 + _ZNKSt19__codecvt_utf8_baseIDsE13do_max_lengthEv@GLIBCXX_3.4.21 5 + _ZNKSt19__codecvt_utf8_baseIDsE16do_always_noconvEv@GLIBCXX_3.4.21 5 + _ZNKSt19__codecvt_utf8_baseIDsE5do_inER11__mbstate_tPKcS4_RS4_PDsS6_RS6_@GLIBCXX_3.4.21 5 + _ZNKSt19__codecvt_utf8_baseIDsE6do_outER11__mbstate_tPKDsS4_RS4_PcS6_RS6_@GLIBCXX_3.4.21 5 + _ZNKSt19__codecvt_utf8_baseIwE10do_unshiftER11__mbstate_tPcS3_RS3_@GLIBCXX_3.4.21 5 + _ZNKSt19__codecvt_utf8_baseIwE11do_encodingEv@GLIBCXX_3.4.21 5 + _ZNKSt19__codecvt_utf8_baseIwE13do_max_lengthEv@GLIBCXX_3.4.21 5 + _ZNKSt19__codecvt_utf8_baseIwE16do_always_noconvEv@GLIBCXX_3.4.21 5 + _ZNKSt19__codecvt_utf8_baseIwE5do_inER11__mbstate_tPKcS4_RS4_PwS6_RS6_@GLIBCXX_3.4.21 5 + _ZNKSt19__codecvt_utf8_baseIwE6do_outER11__mbstate_tPKwS4_RS4_PcS6_RS6_@GLIBCXX_3.4.21 5 + _ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@GLIBCXX_3.4 4.1.1 + _ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@GLIBCXX_3.4 4.1.1 + _ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@GLIBCXX_3.4 4.1.1 + _ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@GLIBCXX_3.4 4.1.1 + _ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt20__codecvt_utf16_baseIDiE10do_unshiftER11__mbstate_tPcS3_RS3_@GLIBCXX_3.4.21 5 + _ZNKSt20__codecvt_utf16_baseIDiE11do_encodingEv@GLIBCXX_3.4.21 5 + _ZNKSt20__codecvt_utf16_baseIDiE13do_max_lengthEv@GLIBCXX_3.4.21 5 + _ZNKSt20__codecvt_utf16_baseIDiE16do_always_noconvEv@GLIBCXX_3.4.21 5 + _ZNKSt20__codecvt_utf16_baseIDiE5do_inER11__mbstate_tPKcS4_RS4_PDiS6_RS6_@GLIBCXX_3.4.21 5 + _ZNKSt20__codecvt_utf16_baseIDiE6do_outER11__mbstate_tPKDiS4_RS4_PcS6_RS6_@GLIBCXX_3.4.21 5 + _ZNKSt20__codecvt_utf16_baseIDsE10do_unshiftER11__mbstate_tPcS3_RS3_@GLIBCXX_3.4.21 5 + _ZNKSt20__codecvt_utf16_baseIDsE11do_encodingEv@GLIBCXX_3.4.21 5 + _ZNKSt20__codecvt_utf16_baseIDsE13do_max_lengthEv@GLIBCXX_3.4.21 5 + _ZNKSt20__codecvt_utf16_baseIDsE16do_always_noconvEv@GLIBCXX_3.4.21 5 + _ZNKSt20__codecvt_utf16_baseIDsE5do_inER11__mbstate_tPKcS4_RS4_PDsS6_RS6_@GLIBCXX_3.4.21 5 + _ZNKSt20__codecvt_utf16_baseIDsE6do_outER11__mbstate_tPKDsS4_RS4_PcS6_RS6_@GLIBCXX_3.4.21 5 + _ZNKSt20__codecvt_utf16_baseIwE10do_unshiftER11__mbstate_tPcS3_RS3_@GLIBCXX_3.4.21 5 + _ZNKSt20__codecvt_utf16_baseIwE11do_encodingEv@GLIBCXX_3.4.21 5 + _ZNKSt20__codecvt_utf16_baseIwE13do_max_lengthEv@GLIBCXX_3.4.21 5 + _ZNKSt20__codecvt_utf16_baseIwE16do_always_noconvEv@GLIBCXX_3.4.21 5 + _ZNKSt20__codecvt_utf16_baseIwE5do_inER11__mbstate_tPKcS4_RS4_PwS6_RS6_@GLIBCXX_3.4.21 5 + _ZNKSt20__codecvt_utf16_baseIwE6do_outER11__mbstate_tPKwS4_RS4_PcS6_RS6_@GLIBCXX_3.4.21 5 + _ZNKSt20bad_array_new_length4whatEv@CXXABI_1.3.8 4.9 + _ZNKSt25__codecvt_utf8_utf16_baseIDiE10do_unshiftER11__mbstate_tPcS3_RS3_@GLIBCXX_3.4.21 5 + _ZNKSt25__codecvt_utf8_utf16_baseIDiE11do_encodingEv@GLIBCXX_3.4.21 5 + _ZNKSt25__codecvt_utf8_utf16_baseIDiE13do_max_lengthEv@GLIBCXX_3.4.21 5 + _ZNKSt25__codecvt_utf8_utf16_baseIDiE16do_always_noconvEv@GLIBCXX_3.4.21 5 + _ZNKSt25__codecvt_utf8_utf16_baseIDiE5do_inER11__mbstate_tPKcS4_RS4_PDiS6_RS6_@GLIBCXX_3.4.21 5 + _ZNKSt25__codecvt_utf8_utf16_baseIDiE6do_outER11__mbstate_tPKDiS4_RS4_PcS6_RS6_@GLIBCXX_3.4.21 5 + _ZNKSt25__codecvt_utf8_utf16_baseIDsE10do_unshiftER11__mbstate_tPcS3_RS3_@GLIBCXX_3.4.21 5 + _ZNKSt25__codecvt_utf8_utf16_baseIDsE11do_encodingEv@GLIBCXX_3.4.21 5 + _ZNKSt25__codecvt_utf8_utf16_baseIDsE13do_max_lengthEv@GLIBCXX_3.4.21 5 + _ZNKSt25__codecvt_utf8_utf16_baseIDsE16do_always_noconvEv@GLIBCXX_3.4.21 5 + _ZNKSt25__codecvt_utf8_utf16_baseIDsE5do_inER11__mbstate_tPKcS4_RS4_PDsS6_RS6_@GLIBCXX_3.4.21 5 + _ZNKSt25__codecvt_utf8_utf16_baseIDsE6do_outER11__mbstate_tPKDsS4_RS4_PcS6_RS6_@GLIBCXX_3.4.21 5 + _ZNKSt25__codecvt_utf8_utf16_baseIwE10do_unshiftER11__mbstate_tPcS3_RS3_@GLIBCXX_3.4.21 5 + _ZNKSt25__codecvt_utf8_utf16_baseIwE11do_encodingEv@GLIBCXX_3.4.21 5 + _ZNKSt25__codecvt_utf8_utf16_baseIwE13do_max_lengthEv@GLIBCXX_3.4.21 5 + _ZNKSt25__codecvt_utf8_utf16_baseIwE16do_always_noconvEv@GLIBCXX_3.4.21 5 + _ZNKSt25__codecvt_utf8_utf16_baseIwE5do_inER11__mbstate_tPKcS4_RS4_PwS6_RS6_@GLIBCXX_3.4.21 5 + _ZNKSt25__codecvt_utf8_utf16_baseIwE6do_outER11__mbstate_tPKwS4_RS4_PcS6_RS6_@GLIBCXX_3.4.21 5 + _ZNKSt3_V214error_category10_M_messageEi@GLIBCXX_3.4.21 5 + _ZNKSt3_V214error_category10equivalentERKSt10error_codei@GLIBCXX_3.4.21 5 + _ZNKSt3_V214error_category10equivalentEiRKSt15error_condition@GLIBCXX_3.4.21 5 + _ZNKSt3_V214error_category23default_error_conditionEi@GLIBCXX_3.4.21 5 + _ZNKSt3tr14hashIRKSbIwSt11char_traitsIwESaIwEEEclES6_@GLIBCXX_3.4.10 4.3 + _ZNKSt3tr14hashIRKSsEclES2_@GLIBCXX_3.4.10 4.3 + _ZNKSt3tr14hashISbIwSt11char_traitsIwESaIwEEEclES4_@GLIBCXX_3.4.10 4.3 + _ZNKSt3tr14hashISsEclESs@GLIBCXX_3.4.10 4.3 + _ZNKSt4hashIRKSbIwSt11char_traitsIwESaIwEEEclES5_@GLIBCXX_3.4.10 4.3 + _ZNKSt4hashIRKSsEclES1_@GLIBCXX_3.4.10 4.3 + _ZNKSt4hashISbIwSt11char_traitsIwESaIwEEEclES3_@GLIBCXX_3.4.10 4.3 + _ZNKSt4hashISsEclESs@GLIBCXX_3.4.10 4.3 + _ZNKSt4hashISt10error_codeEclES0_@GLIBCXX_3.4.11 4.4.0 + _ZNKSt5ctypeIcE10do_tolowerEPcPKc@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIcE10do_tolowerEc@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIcE10do_toupperEPcPKc@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIcE10do_toupperEc@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIcE13_M_widen_initEv@GLIBCXX_3.4.11 4.4.0 + _ZNKSt5ctypeIcE14_M_narrow_initEv@GLIBCXX_3.4.11 4.4.0 + _ZNKSt5ctypeIcE8do_widenEPKcS2_Pc@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIcE8do_widenEc@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIcE9do_narrowEPKcS2_cPc@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIcE9do_narrowEcc@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIwE10do_scan_isEtPKwS2_@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIwE10do_tolowerEPwPKw@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIwE10do_tolowerEw@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIwE10do_toupperEPwPKw@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIwE10do_toupperEw@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIwE11do_scan_notEtPKwS2_@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIwE19_M_convert_to_wmaskEt@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIwE5do_isEPKwS2_Pt@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIwE5do_isEtw@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIwE8do_widenEPKcS2_Pw@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIwE8do_widenEc@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIwE9do_narrowEPKwS2_cPc@GLIBCXX_3.4 4.1.1 + _ZNKSt5ctypeIwE9do_narrowEwc@GLIBCXX_3.4 4.1.1 + _ZNKSt6locale2id5_M_idEv@GLIBCXX_3.4 4.1.1 + _ZNKSt6locale4nameEv@GLIBCXX_3.4 4.1.1 + _ZNKSt6localeeqERKS_@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIDic11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@GLIBCXX_3.4.21 5 + _ZNKSt7codecvtIDic11__mbstate_tE11do_encodingEv@GLIBCXX_3.4.21 5 + _ZNKSt7codecvtIDic11__mbstate_tE13do_max_lengthEv@GLIBCXX_3.4.21 5 + _ZNKSt7codecvtIDic11__mbstate_tE16do_always_noconvEv@GLIBCXX_3.4.21 5 + _ZNKSt7codecvtIDic11__mbstate_tE5do_inERS0_PKcS4_RS4_PDiS6_RS6_@GLIBCXX_3.4.21 5 + _ZNKSt7codecvtIDic11__mbstate_tE6do_outERS0_PKDiS4_RS4_PcS6_RS6_@GLIBCXX_3.4.21 5 + _ZNKSt7codecvtIDsc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@GLIBCXX_3.4.21 5 + _ZNKSt7codecvtIDsc11__mbstate_tE11do_encodingEv@GLIBCXX_3.4.21 5 + _ZNKSt7codecvtIDsc11__mbstate_tE13do_max_lengthEv@GLIBCXX_3.4.21 5 + _ZNKSt7codecvtIDsc11__mbstate_tE16do_always_noconvEv@GLIBCXX_3.4.21 5 + _ZNKSt7codecvtIDsc11__mbstate_tE5do_inERS0_PKcS4_RS4_PDsS6_RS6_@GLIBCXX_3.4.21 5 + _ZNKSt7codecvtIDsc11__mbstate_tE6do_outERS0_PKDsS4_RS4_PcS6_RS6_@GLIBCXX_3.4.21 5 + _ZNKSt7codecvtIcc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIcc11__mbstate_tE11do_encodingEv@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIcc11__mbstate_tE13do_max_lengthEv@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIcc11__mbstate_tE16do_always_noconvEv@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIcc11__mbstate_tE5do_inERS0_PKcS4_RS4_PcS6_RS6_@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIcc11__mbstate_tE6do_outERS0_PKcS4_RS4_PcS6_RS6_@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIwc11__mbstate_tE10do_unshiftERS0_PcS3_RS3_@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIwc11__mbstate_tE11do_encodingEv@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIwc11__mbstate_tE13do_max_lengthEv@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIwc11__mbstate_tE16do_always_noconvEv@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIwc11__mbstate_tE5do_inERS0_PKcS4_RS4_PwS6_RS6_@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIwc11__mbstate_tE6do_outERS0_PKwS4_RS4_PcS6_RS6_@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIcE10_M_compareEPKcS2_@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIcE10do_compareEPKcS2_S2_S2_@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIcE12do_transformEPKcS2_@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIcE4hashEPKcS2_@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIcE7compareEPKcS2_S2_S2_@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIcE7do_hashEPKcS2_@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIcE9transformEPKcS2_@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIwE10_M_compareEPKwS2_@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIwE10do_compareEPKwS2_S2_S2_@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIwE12do_transformEPKwS2_@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIwE4hashEPKwS2_@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIwE7compareEPKwS2_S2_S2_@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIwE7do_hashEPKwS2_@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIwE9transformEPKwS2_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES3_S3_RSt8ios_basecT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES3_S3_RSt8ios_basecT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES3_S3_RSt8ios_basecT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES3_S3_RSt8ios_basecT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES3_S3_RSt8ios_baseccT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIeEES3_S3_RSt8ios_baseccT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPKv@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecb@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecd@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basece@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecl@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecm@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecx@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecy@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPKv@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecb@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecd@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basece@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecm@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecx@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecy@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES3_S3_RSt8ios_basewT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES3_S3_RSt8ios_basewT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES3_S3_RSt8ios_basewT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES3_S3_RSt8ios_basewT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES3_S3_RSt8ios_basewcT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIeEES3_S3_RSt8ios_basewcT_@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPKv@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewb@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewd@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewe@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewl@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewm@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewx@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewy@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPKv@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewb@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewd@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewe@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewl@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@GLIBCXX_3.4 4.1.1 + _ZNKSt8bad_cast4whatEv@GLIBCXX_3.4.9 4.2.1 + _ZNKSt8ios_base7failure4whatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIcE18_M_convert_to_charERKSs@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIcE20_M_convert_from_charEPc@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIcE3getEiiiRKSs@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIcE4openERKSsRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIcE4openERKSsRKSt6localePKc@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIcE5closeEi@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIcE6do_getEiiiRKSs@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIcE7do_openERKSsRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIcE8do_closeEi@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIwE18_M_convert_to_charERKSbIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIwE20_M_convert_from_charEPc@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIwE3getEiiiRKSbIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIwE4openERKSsRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIwE4openERKSsRKSt6localePKc@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIwE5closeEi@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIwE7do_openERKSsRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNKSt8messagesIwE8do_closeEi@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIcE11do_groupingEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIcE11do_truenameEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIcE12do_falsenameEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIcE13decimal_pointEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIcE13thousands_sepEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIcE16do_decimal_pointEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIcE16do_thousands_sepEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIcE8groupingEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIcE8truenameEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIcE9falsenameEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIwE11do_groupingEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIwE11do_truenameEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIwE12do_falsenameEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIwE13decimal_pointEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIwE13thousands_sepEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIwE16do_decimal_pointEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIwE16do_thousands_sepEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIwE8groupingEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIwE8truenameEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8numpunctIwE9falsenameEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKcSC_@GLIBCXX_3.4.21 5 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmcc@GLIBCXX_3.4.21 5 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmPKwSC_@GLIBCXX_3.4.21 5 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tmcc@GLIBCXX_3.4.21 5 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES3_S3_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmcc@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecPK2tmcc@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmPKwSB_@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@GLIBCXX_3.4 4.1.1 + _ZNKSt9bad_alloc4whatEv@GLIBCXX_3.4.9 4.2.1 + _ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIcSt11char_traitsIcEE3tieEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIcSt11char_traitsIcEE4fillEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIcSt11char_traitsIcEE6narrowEcc@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIcSt11char_traitsIcEE7rdstateEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIcSt11char_traitsIcEEcvPvEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIcSt11char_traitsIcEEcvbEv@GLIBCXX_3.4.21 5 + _ZNKSt9basic_iosIcSt11char_traitsIcEEntEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIwSt11char_traitsIwEE10exceptionsEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIwSt11char_traitsIwEE3badEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIwSt11char_traitsIwEE3eofEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIwSt11char_traitsIwEE3tieEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIwSt11char_traitsIwEE4failEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIwSt11char_traitsIwEE4fillEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIwSt11char_traitsIwEE4goodEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIwSt11char_traitsIwEE5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIwSt11char_traitsIwEE5widenEc@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIwSt11char_traitsIwEE6narrowEwc@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIwSt11char_traitsIwEE7rdstateEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIwSt11char_traitsIwEEcvPvEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9basic_iosIwSt11char_traitsIwEEcvbEv@GLIBCXX_3.4.21 5 + _ZNKSt9basic_iosIwSt11char_traitsIwEEntEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9exception4whatEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES3_S3_S3_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSbIwS2_SaIwEE@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basecRKSs@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_bRSt8ios_basece@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basecRKSs@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_bRSt8ios_basece@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES3_S3_RSt8ios_basecRKSs@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES3_S3_RSt8ios_basecRKSs@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_bRSt8ios_basewe@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewRKSbIwS2_SaIwEE@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_bRSt8ios_basewe@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@GLIBCXX_3.4 4.1.1 + _ZNKSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES3_S3_RSt8ios_basewRKSbIwS2_SaIwEE@GLIBCXX_3.4 4.1.1 + _ZNKSt9strstream5rdbufEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9strstream6pcountEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9type_info10__do_catchEPKS_PPvj@GLIBCXX_3.4 4.1.1 + _ZNKSt9type_info11__do_upcastEPKN10__cxxabiv117__class_type_infoEPPv@GLIBCXX_3.4 4.1.1 + _ZNKSt9type_info14__is_pointer_pEv@GLIBCXX_3.4 4.1.1 + _ZNKSt9type_info15__is_function_pEv@GLIBCXX_3.4 4.1.1 + _ZNSaIcEC1ERKS_@GLIBCXX_3.4 4.1.1 + _ZNSaIcEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSaIcEC2ERKS_@GLIBCXX_3.4 4.1.1 + _ZNSaIcEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSaIcED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSaIcED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSaIwEC1ERKS_@GLIBCXX_3.4 4.1.1 + _ZNSaIwEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSaIwEC2ERKS_@GLIBCXX_3.4 4.1.1 + _ZNSaIwEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSaIwED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSaIwED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE12_M_leak_hardEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructIN9__gnu_cxx17__normal_iteratorIPwS2_EEEES6_T_S8_RKS1_St20forward_iterator_tag@GLIBCXX_3.4.14 4.5 + _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructIPKwEEPwT_S7_RKS1_St20forward_iterator_tag@GLIBCXX_3.4.14 4.5 + _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructIPwEES4_T_S5_RKS1_St20forward_iterator_tag@GLIBCXX_3.4.14 4.5 + _ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS2_EES8_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS3_S2_EES6_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS5_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS3_S3_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE13shrink_to_fitEv@GLIBCXX_3.4.14 4.5 + _ZNSbIwSt11char_traitsIwESaIwEE3endEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroyERKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_disposeERKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refdataEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_max_sizeE@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep11_S_terminalE@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep12_S_empty_repEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep13_M_set_leakedEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep15_M_set_sharableEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep7_M_grabERKS1_S5_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4backEv@GLIBCXX_3.4.15 4.6 + _ZNSbIwSt11char_traitsIwESaIwEE4nposE@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4rendEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4swapERS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE5beginEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE5clearEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EE@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE5frontEv@GLIBCXX_3.4.15 4.6 + _ZNSbIwSt11char_traitsIwESaIwEE6appendEPKw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendESt16initializer_listIwE@GLIBCXX_3.4.11 4.4.0 + _ZNSbIwSt11char_traitsIwESaIwEE6assignEOS2_@GLIBCXX_3.4.14 4.5 + _ZNSbIwSt11char_traitsIwESaIwEE6assignEPKw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignESt16initializer_listIwE@GLIBCXX_3.4.11 4.4.0 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EESt16initializer_listIwE@GLIBCXX_3.4.11 4.4.0 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6rbeginEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_dataEPw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_leakEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_NS4_IPKwS2_EES9_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwS8_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_RKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S5_S5_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_S6_S6_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_St16initializer_listIwE@GLIBCXX_3.4.11 4.4.0 + _ZNSbIwSt11char_traitsIwESaIwEE8pop_backEv@GLIBCXX_3.4.17 4.7 + _ZNSbIwSt11char_traitsIwESaIwEE9push_backEw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1EOS2_@GLIBCXX_3.4.14 4.5 + _ZNSbIwSt11char_traitsIwESaIwEEC1EPKwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1IPKwEET_S6_RKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1IPwEET_S5_RKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2EOS2_@GLIBCXX_3.4.15 4.6 + _ZNSbIwSt11char_traitsIwESaIwEEC2EPKwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1ESt16initializer_listIwERKS1_@GLIBCXX_3.4.11 4.4.0 + _ZNSbIwSt11char_traitsIwESaIwEEC2ESt16initializer_listIwERKS1_@GLIBCXX_3.4.11 4.4.0 + _ZNSbIwSt11char_traitsIwESaIwEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS2_EEEET_S8_RKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2IPKwEET_S6_RKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2IPwEET_S5_RKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEaSEOS2_@GLIBCXX_3.4.14 4.5 + _ZNSbIwSt11char_traitsIwESaIwEEaSEPKw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEaSERKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEaSESt16initializer_listIwE@GLIBCXX_3.4.11 4.4.0 + _ZNSbIwSt11char_traitsIwESaIwEEaSEw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEpLEPKw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEpLERKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEpLESt16initializer_listIwE@GLIBCXX_3.4.11 4.4.0 + _ZNSbIwSt11char_traitsIwESaIwEEpLEw@GLIBCXX_3.4 4.1.1 + _ZNSd4swapERSd@GLIBCXX_3.4.21 5 + _ZNSdC1EOSd@GLIBCXX_3.4.21 5 + _ZNSdC1EPSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZNSdC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSdC2EOSd@GLIBCXX_3.4.21 5 + _ZNSdC2EPSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZNSdC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSdD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSdD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSdD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSdaSEOSd@GLIBCXX_3.4.21 5 + _ZNSi10_M_extractIPvEERSiRT_@GLIBCXX_3.4.9 4.2.1 + _ZNSi10_M_extractIbEERSiRT_@GLIBCXX_3.4.9 4.2.1 + _ZNSi10_M_extractIdEERSiRT_@GLIBCXX_3.4.9 4.2.1 + _ZNSi10_M_extractIeEERSiRT_@GLIBCXX_3.4.9 4.2.1 + _ZNSi10_M_extractIfEERSiRT_@GLIBCXX_3.4.9 4.2.1 + _ZNSi10_M_extractIjEERSiRT_@GLIBCXX_3.4.9 4.2.1 + _ZNSi10_M_extractIlEERSiRT_@GLIBCXX_3.4.9 4.2.1 + _ZNSi10_M_extractImEERSiRT_@GLIBCXX_3.4.9 4.2.1 + _ZNSi10_M_extractItEERSiRT_@GLIBCXX_3.4.9 4.2.1 + _ZNSi10_M_extractIxEERSiRT_@GLIBCXX_3.4.9 4.2.1 + _ZNSi10_M_extractIyEERSiRT_@GLIBCXX_3.4.9 4.2.1 + _ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEEc@GLIBCXX_3.4 4.1.1 + _ZNSi3getERc@GLIBCXX_3.4 4.1.1 + _ZNSi3getEv@GLIBCXX_3.4 4.1.1 + _ZNSi4peekEv@GLIBCXX_3.4 4.1.1 + _ZNSi4swapERSi@GLIBCXX_3.4.21 5 + _ZNSi4syncEv@GLIBCXX_3.4 4.1.1 + _ZNSi5seekgESt4fposI11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZNSi5tellgEv@GLIBCXX_3.4 4.1.1 + _ZNSi5ungetEv@GLIBCXX_3.4 4.1.1 + _ZNSi6ignoreEv@GLIBCXX_3.4 4.1.1 + _ZNSi6ignoreEv@GLIBCXX_3.4.5 4.1.1 + _ZNSi6sentryC1ERSib@GLIBCXX_3.4 4.1.1 + _ZNSi6sentryC2ERSib@GLIBCXX_3.4 4.1.1 + _ZNSi7putbackEc@GLIBCXX_3.4 4.1.1 + _ZNSiC1EOSi@GLIBCXX_3.4.21 5 + _ZNSiC1EPSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZNSiC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSiC2EOSi@GLIBCXX_3.4.21 5 + _ZNSiC2EPSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZNSiC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSiD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSiD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSiD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSiaSEOSi@GLIBCXX_3.4.21 5 + _ZNSirsEPFRSiS_E@GLIBCXX_3.4 4.1.1 + _ZNSirsEPFRSt8ios_baseS0_E@GLIBCXX_3.4 4.1.1 + _ZNSirsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@GLIBCXX_3.4 4.1.1 + _ZNSirsEPSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZNSirsERPv@GLIBCXX_3.4 4.1.1 + _ZNSirsERb@GLIBCXX_3.4 4.1.1 + _ZNSirsERd@GLIBCXX_3.4 4.1.1 + _ZNSirsERe@GLIBCXX_3.4 4.1.1 + _ZNSirsERf@GLIBCXX_3.4 4.1.1 + _ZNSirsERi@GLIBCXX_3.4 4.1.1 + _ZNSirsERj@GLIBCXX_3.4 4.1.1 + _ZNSirsERl@GLIBCXX_3.4 4.1.1 + _ZNSirsERm@GLIBCXX_3.4 4.1.1 + _ZNSirsERs@GLIBCXX_3.4 4.1.1 + _ZNSirsERt@GLIBCXX_3.4 4.1.1 + _ZNSirsERx@GLIBCXX_3.4 4.1.1 + _ZNSirsERy@GLIBCXX_3.4 4.1.1 + _ZNSo3putEc@GLIBCXX_3.4 4.1.1 + _ZNSo4swapERSo@GLIBCXX_3.4.21 5 + _ZNSo5flushEv@GLIBCXX_3.4 4.1.1 + _ZNSo5seekpESt4fposI11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZNSo5tellpEv@GLIBCXX_3.4 4.1.1 + _ZNSo6sentryC1ERSo@GLIBCXX_3.4 4.1.1 + _ZNSo6sentryC2ERSo@GLIBCXX_3.4 4.1.1 + _ZNSo6sentryD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSo6sentryD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSo9_M_insertIPKvEERSoT_@GLIBCXX_3.4.9 4.2.1 + _ZNSo9_M_insertIbEERSoT_@GLIBCXX_3.4.9 4.2.1 + _ZNSo9_M_insertIdEERSoT_@GLIBCXX_3.4.9 4.2.1 + _ZNSo9_M_insertIeEERSoT_@GLIBCXX_3.4.9 4.2.1 + _ZNSo9_M_insertIlEERSoT_@GLIBCXX_3.4.9 4.2.1 + _ZNSo9_M_insertImEERSoT_@GLIBCXX_3.4.9 4.2.1 + _ZNSo9_M_insertIxEERSoT_@GLIBCXX_3.4.9 4.2.1 + _ZNSo9_M_insertIyEERSoT_@GLIBCXX_3.4.9 4.2.1 + _ZNSoC1EOSo@GLIBCXX_3.4.21 5 + _ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZNSoC1ERSd@GLIBCXX_3.4.21 5 + _ZNSoC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSoC2EOSo@GLIBCXX_3.4.21 5 + _ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZNSoC2ERSd@GLIBCXX_3.4.21 5 + _ZNSoC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSoD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSoD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSoD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSoaSEOSo@GLIBCXX_3.4.21 5 + _ZNSolsEPFRSoS_E@GLIBCXX_3.4 4.1.1 + _ZNSolsEPFRSt8ios_baseS0_E@GLIBCXX_3.4 4.1.1 + _ZNSolsEPFRSt9basic_iosIcSt11char_traitsIcEES3_E@GLIBCXX_3.4 4.1.1 + _ZNSolsEPKv@GLIBCXX_3.4 4.1.1 + _ZNSolsEPSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZNSolsEb@GLIBCXX_3.4 4.1.1 + _ZNSolsEd@GLIBCXX_3.4 4.1.1 + _ZNSolsEe@GLIBCXX_3.4 4.1.1 + _ZNSolsEf@GLIBCXX_3.4 4.1.1 + _ZNSolsEi@GLIBCXX_3.4 4.1.1 + _ZNSolsEj@GLIBCXX_3.4 4.1.1 + _ZNSolsEl@GLIBCXX_3.4 4.1.1 + _ZNSolsEm@GLIBCXX_3.4 4.1.1 + _ZNSolsEs@GLIBCXX_3.4 4.1.1 + _ZNSolsEt@GLIBCXX_3.4 4.1.1 + _ZNSolsEx@GLIBCXX_3.4 4.1.1 + _ZNSolsEy@GLIBCXX_3.4 4.1.1 + _ZNSs12_Alloc_hiderC1EPcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSs12_Alloc_hiderC2EPcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSs12_M_leak_hardEv@GLIBCXX_3.4 4.1.1 + _ZNSs12_S_constructIN9__gnu_cxx17__normal_iteratorIPcSsEEEES2_T_S4_RKSaIcESt20forward_iterator_tag@GLIBCXX_3.4.14 4.5 + _ZNSs12_S_constructIPKcEEPcT_S3_RKSaIcESt20forward_iterator_tag@GLIBCXX_3.4.14 4.5 + _ZNSs12_S_constructIPcEES0_T_S1_RKSaIcESt20forward_iterator_tag@GLIBCXX_3.4.14 4.5 + _ZNSs12_S_empty_repEv@GLIBCXX_3.4 4.1.1 + _ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcSsEES4_@GLIBCXX_3.4 4.1.1 + _ZNSs13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS_SsEES2_@GLIBCXX_3.4 4.1.1 + _ZNSs13_S_copy_charsEPcPKcS1_@GLIBCXX_3.4 4.1.1 + _ZNSs13_S_copy_charsEPcS_S_@GLIBCXX_3.4 4.1.1 + _ZNSs13shrink_to_fitEv@GLIBCXX_3.4.14 4.5 + _ZNSs3endEv@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep10_M_destroyERKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep10_M_disposeERKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep10_M_refcopyEv@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep10_M_refdataEv@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep11_S_max_sizeE@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep11_S_terminalE@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep12_S_empty_repEv@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep13_M_set_leakedEv@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep15_M_set_sharableEv@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep20_S_empty_rep_storageE@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep7_M_grabERKSaIcES2_@GLIBCXX_3.4 4.1.1 + _ZNSs4backEv@GLIBCXX_3.4.15 4.6 + _ZNSs4nposE@GLIBCXX_3.4 4.1.1 + _ZNSs4rendEv@GLIBCXX_3.4 4.1.1 + _ZNSs4swapERSs@GLIBCXX_3.4 4.1.1 + _ZNSs5beginEv@GLIBCXX_3.4 4.1.1 + _ZNSs5clearEv@GLIBCXX_3.4 4.1.1 + _ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEE@GLIBCXX_3.4 4.1.1 + _ZNSs5eraseEN9__gnu_cxx17__normal_iteratorIPcSsEES2_@GLIBCXX_3.4 4.1.1 + _ZNSs5frontEv@GLIBCXX_3.4.15 4.6 + _ZNSs6appendEPKc@GLIBCXX_3.4 4.1.1 + _ZNSs6appendERKSs@GLIBCXX_3.4 4.1.1 + _ZNSs6appendESt16initializer_listIcE@GLIBCXX_3.4.11 4.4.0 + _ZNSs6assignEOSs@GLIBCXX_3.4.14 4.5 + _ZNSs6assignEPKc@GLIBCXX_3.4 4.1.1 + _ZNSs6assignERKSs@GLIBCXX_3.4 4.1.1 + _ZNSs6assignESt16initializer_listIcE@GLIBCXX_3.4.11 4.4.0 + _ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEESt16initializer_listIcE@GLIBCXX_3.4.11 4.4.0 + _ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEc@GLIBCXX_3.4 4.1.1 + _ZNSs6rbeginEv@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_dataEPc@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_leakEv@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_NS0_IPKcSsEES5_@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKc@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcS4_@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_RKSs@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S1_S1_@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_S2_S2_@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_St16initializer_listIcE@GLIBCXX_3.4.11 4.4.0 + _ZNSs8pop_backEv@GLIBCXX_3.4.17 4.7 + _ZNSs9push_backEc@GLIBCXX_3.4 4.1.1 + _ZNSsC1EOSs@GLIBCXX_3.4.14 4.5 + _ZNSsC1EPKcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC1ERKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC1ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSsC1ESt16initializer_listIcERKSaIcE@GLIBCXX_3.4.11 4.4.0 + _ZNSsC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSsC1IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC1IPKcEET_S2_RKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC1IPcEET_S1_RKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2EOSs@GLIBCXX_3.4.15 4.6 + _ZNSsC2EPKcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2ERKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSsC2ESt16initializer_listIcERKSaIcE@GLIBCXX_3.4.11 4.4.0 + _ZNSsC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSsC2IN9__gnu_cxx17__normal_iteratorIPcSsEEEET_S4_RKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2IPKcEET_S2_RKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2IPcEET_S1_RKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSsD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSsaSEOSs@GLIBCXX_3.4.14 4.5 + _ZNSsaSEPKc@GLIBCXX_3.4 4.1.1 + _ZNSsaSERKSs@GLIBCXX_3.4 4.1.1 + _ZNSsaSESt16initializer_listIcE@GLIBCXX_3.4.11 4.4.0 + _ZNSsaSEc@GLIBCXX_3.4 4.1.1 + _ZNSspLEPKc@GLIBCXX_3.4 4.1.1 + _ZNSspLERKSs@GLIBCXX_3.4 4.1.1 + _ZNSspLESt16initializer_listIcE@GLIBCXX_3.4.11 4.4.0 + _ZNSspLEc@GLIBCXX_3.4 4.1.1 + _ZNSt10_Sp_lockerC1EPKv@GLIBCXX_3.4.21 5 + _ZNSt10_Sp_lockerC1EPKvS1_@GLIBCXX_3.4.21 5 + _ZNSt10_Sp_lockerC2EPKv@GLIBCXX_3.4.21 5 + _ZNSt10_Sp_lockerC2EPKvS1_@GLIBCXX_3.4.21 5 + _ZNSt10_Sp_lockerD1Ev@GLIBCXX_3.4.21 5 + _ZNSt10_Sp_lockerD2Ev@GLIBCXX_3.4.21 5 + _ZNSt10__num_base11_S_atoms_inE@GLIBCXX_3.4 4.1.1 + _ZNSt10__num_base12_S_atoms_outE@GLIBCXX_3.4 4.1.1 + _ZNSt10__num_base15_S_format_floatERKSt8ios_basePcc@GLIBCXX_3.4 4.1.1 + _ZNSt10bad_typeidD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10bad_typeidD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10bad_typeidD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10ctype_base5alnumE@GLIBCXX_3.4 4.1.1 + _ZNSt10ctype_base5alphaE@GLIBCXX_3.4 4.1.1 + _ZNSt10ctype_base5blankE@GLIBCXX_3.4.21 5 + _ZNSt10ctype_base5cntrlE@GLIBCXX_3.4 4.1.1 + _ZNSt10ctype_base5digitE@GLIBCXX_3.4 4.1.1 + _ZNSt10ctype_base5graphE@GLIBCXX_3.4 4.1.1 + _ZNSt10ctype_base5lowerE@GLIBCXX_3.4 4.1.1 + _ZNSt10ctype_base5printE@GLIBCXX_3.4 4.1.1 + _ZNSt10ctype_base5punctE@GLIBCXX_3.4 4.1.1 + _ZNSt10ctype_base5spaceE@GLIBCXX_3.4 4.1.1 + _ZNSt10ctype_base5upperE@GLIBCXX_3.4 4.1.1 + _ZNSt10ctype_base6xdigitE@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstream3strEv@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC1EPKc@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC1EPc@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC2EPKc@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC2EPc@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10money_base18_S_default_patternE@GLIBCXX_3.4 4.1.1 + _ZNSt10money_base20_S_construct_patternEccc@GLIBCXX_3.4 4.1.1 + _ZNSt10money_base8_S_atomsE@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EE4intlE@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EE4intlE@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EE4intlE@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EE4intlE@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10ostrstream3strEv@GLIBCXX_3.4 4.1.1 + _ZNSt10ostrstream6freezeEb@GLIBCXX_3.4 4.1.1 + _ZNSt10ostrstreamC1EPciSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt10ostrstreamC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10ostrstreamC2EPciSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt10ostrstreamC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10ostrstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10ostrstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt10ostrstreamD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcE23_M_initialize_timepunctEP15__locale_struct@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwE23_M_initialize_timepunctEP15__locale_struct@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt11char_traitsIcE2eqERKcS2_@GLIBCXX_3.4 4.1.1 + _ZNSt11char_traitsIcE2eqERKcS2_@GLIBCXX_3.4.5 4.1.1 + _ZNSt11char_traitsIwE2eqERKwS2_@GLIBCXX_3.4 4.1.1 + _ZNSt11char_traitsIwE2eqERKwS2_@GLIBCXX_3.4.5 4.1.1 + _ZNSt11logic_errorC1EPKc@GLIBCXX_3.4.21 5 + _ZNSt11logic_errorC1ERKS_@GLIBCXX_3.4.21 5 + _ZNSt11logic_errorC1ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt11logic_errorC2EPKc@GLIBCXX_3.4.21 5 + _ZNSt11logic_errorC2ERKS_@GLIBCXX_3.4.21 5 + _ZNSt11logic_errorC2ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt11logic_errorD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt11logic_errorD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt11logic_errorD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt11logic_erroraSERKS_@GLIBCXX_3.4.21 5 + _ZNSt11range_errorC1EPKc@GLIBCXX_3.4.21 5 + _ZNSt11range_errorC1ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt11range_errorC2EPKc@GLIBCXX_3.4.21 5 + _ZNSt11range_errorC2ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt11range_errorD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt11range_errorD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt11range_errorD2Ev@GLIBCXX_3.4.15 4.6 + _ZNSt11regex_errorC1ENSt15regex_constants10error_typeE@GLIBCXX_3.4.20 4.9 + _ZNSt11regex_errorC2ENSt15regex_constants10error_typeE@GLIBCXX_3.4.21 5 + _ZNSt11regex_errorD0Ev@GLIBCXX_3.4.15 4.6 + _ZNSt11regex_errorD1Ev@GLIBCXX_3.4.15 4.6 + _ZNSt11regex_errorD2Ev@GLIBCXX_3.4.15 4.6 + _ZNSt12__basic_fileIcE2fdEv@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE4fileEv@GLIBCXX_3.4.1 4.1.1 + _ZNSt12__basic_fileIcE4openEPKcSt13_Ios_Openmodei@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE4syncEv@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE5closeEv@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE8sys_openEP8_IO_FILESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE8sys_openEiSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE9showmanycEv@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12bad_weak_ptrD0Ev@GLIBCXX_3.4.15 4.6 + _ZNSt12bad_weak_ptrD1Ev@GLIBCXX_3.4.15 4.6 + _ZNSt12bad_weak_ptrD2Ev@GLIBCXX_3.4.15 4.6 + _ZNSt12ctype_bynameIcED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIcED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIcED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIwED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIwED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIwED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12domain_errorC1EPKc@GLIBCXX_3.4.21 5 + _ZNSt12domain_errorC1ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt12domain_errorC2EPKc@GLIBCXX_3.4.21 5 + _ZNSt12domain_errorC2ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt12domain_errorD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12domain_errorD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12domain_errorD2Ev@GLIBCXX_3.4.15 4.6 + _ZNSt12future_errorD0Ev@GLIBCXX_3.4.14 4.5 + _ZNSt12future_errorD1Ev@GLIBCXX_3.4.14 4.5 + _ZNSt12future_errorD2Ev@GLIBCXX_3.4.14 4.5 + _ZNSt12length_errorC1EPKc@GLIBCXX_3.4.21 5 + _ZNSt12length_errorC1ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt12length_errorC2EPKc@GLIBCXX_3.4.21 5 + _ZNSt12length_errorC2ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt12length_errorD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12length_errorD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12length_errorD2Ev@GLIBCXX_3.4.15 4.6 + _ZNSt12out_of_rangeC1EPKc@GLIBCXX_3.4.21 5 + _ZNSt12out_of_rangeC1ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt12out_of_rangeC2EPKc@GLIBCXX_3.4.21 5 + _ZNSt12out_of_rangeC2ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt12out_of_rangeD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12out_of_rangeD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12out_of_rangeD2Ev@GLIBCXX_3.4.15 4.6 + _ZNSt12placeholders2_1E@GLIBCXX_3.4.15 4.6 + _ZNSt12placeholders2_2E@GLIBCXX_3.4.15 4.6 + _ZNSt12placeholders2_3E@GLIBCXX_3.4.15 4.6 + _ZNSt12placeholders2_4E@GLIBCXX_3.4.15 4.6 + _ZNSt12placeholders2_5E@GLIBCXX_3.4.15 4.6 + _ZNSt12placeholders2_6E@GLIBCXX_3.4.15 4.6 + _ZNSt12placeholders2_7E@GLIBCXX_3.4.15 4.6 + _ZNSt12placeholders2_8E@GLIBCXX_3.4.15 4.6 + _ZNSt12placeholders2_9E@GLIBCXX_3.4.15 4.6 + _ZNSt12placeholders3_10E@GLIBCXX_3.4.15 4.6 + _ZNSt12placeholders3_11E@GLIBCXX_3.4.15 4.6 + _ZNSt12placeholders3_12E@GLIBCXX_3.4.15 4.6 + _ZNSt12placeholders3_13E@GLIBCXX_3.4.15 4.6 + _ZNSt12placeholders3_14E@GLIBCXX_3.4.15 4.6 + _ZNSt12placeholders3_15E@GLIBCXX_3.4.15 4.6 + _ZNSt12placeholders3_16E@GLIBCXX_3.4.15 4.6 + _ZNSt12placeholders3_17E@GLIBCXX_3.4.15 4.6 + _ZNSt12placeholders3_18E@GLIBCXX_3.4.15 4.6 + _ZNSt12placeholders3_19E@GLIBCXX_3.4.15 4.6 + _ZNSt12placeholders3_20E@GLIBCXX_3.4.15 4.6 + _ZNSt12placeholders3_21E@GLIBCXX_3.4.15 4.6 + _ZNSt12placeholders3_22E@GLIBCXX_3.4.15 4.6 + _ZNSt12placeholders3_23E@GLIBCXX_3.4.15 4.6 + _ZNSt12placeholders3_24E@GLIBCXX_3.4.15 4.6 + _ZNSt12placeholders3_25E@GLIBCXX_3.4.15 4.6 + _ZNSt12placeholders3_26E@GLIBCXX_3.4.15 4.6 + _ZNSt12placeholders3_27E@GLIBCXX_3.4.15 4.6 + _ZNSt12placeholders3_28E@GLIBCXX_3.4.15 4.6 + _ZNSt12placeholders3_29E@GLIBCXX_3.4.15 4.6 + _ZNSt12strstreambuf3strEv@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf6freezeEb@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf7_M_freeEPc@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf8overflowEi@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf9pbackfailEi@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf9underflowEv@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt12system_errorD0Ev@GLIBCXX_3.4.11 4.4.0 + _ZNSt12system_errorD1Ev@GLIBCXX_3.4.11 4.4.0 + _ZNSt12system_errorD2Ev@GLIBCXX_3.4.11 4.4.0 + _ZNSt13bad_exceptionD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13bad_exceptionD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13bad_exceptionD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE14_M_get_ext_posER11__mbstate_t@GLIBCXX_3.4.15 4.6 + _ZNSt13basic_filebufIcSt11char_traitsIcEE15_M_create_pbackEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE16_M_destroy_pbackEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE19_M_terminate_outputEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE26_M_destroy_internal_bufferEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE27_M_allocate_internal_bufferEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2 + _ZNSt13basic_filebufIcSt11char_traitsIcEE4swapERS2_@GLIBCXX_3.4.21 5 + _ZNSt13basic_filebufIcSt11char_traitsIcEE4syncEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE5imbueERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE8overflowEi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE9pbackfailEi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE9showmanycEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE9underflowEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEEC1EOS2_@GLIBCXX_3.4.21 5 + _ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEEC2EOS2_@GLIBCXX_3.4.21 5 + _ZNSt13basic_filebufIcSt11char_traitsIcEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEEaSEOS2_@GLIBCXX_3.4.21 5 + _ZNSt13basic_filebufIwSt11char_traitsIwEE14_M_get_ext_posER11__mbstate_t@GLIBCXX_3.4.15 4.6 + _ZNSt13basic_filebufIwSt11char_traitsIwEE15_M_create_pbackEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE16_M_destroy_pbackEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE19_M_terminate_outputEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE26_M_destroy_internal_bufferEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE27_M_allocate_internal_bufferEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2 + _ZNSt13basic_filebufIwSt11char_traitsIwEE4swapERS2_@GLIBCXX_3.4.21 5 + _ZNSt13basic_filebufIwSt11char_traitsIwEE4syncEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE5closeEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE5imbueERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE8overflowEj@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE9pbackfailEj@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE9showmanycEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE9underflowEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEEC1EOS2_@GLIBCXX_3.4.21 5 + _ZNSt13basic_filebufIwSt11char_traitsIwEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEEC2EOS2_@GLIBCXX_3.4.21 5 + _ZNSt13basic_filebufIwSt11char_traitsIwEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEEaSEOS2_@GLIBCXX_3.4.21 5 + _ZNSt13basic_fstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2 + _ZNSt13basic_fstreamIcSt11char_traitsIcEE4swapERS2_@GLIBCXX_3.4.21 5 + _ZNSt13basic_fstreamIcSt11char_traitsIcEE5closeEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EOS2_@GLIBCXX_3.4.21 5 + _ZNSt13basic_fstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIcSt11char_traitsIcEEC1ERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2 + _ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EOS2_@GLIBCXX_3.4.21 5 + _ZNSt13basic_fstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIcSt11char_traitsIcEEC2ERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2 + _ZNSt13basic_fstreamIcSt11char_traitsIcEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIcSt11char_traitsIcEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIcSt11char_traitsIcEEaSEOS2_@GLIBCXX_3.4.21 5 + _ZNSt13basic_fstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2 + _ZNSt13basic_fstreamIwSt11char_traitsIwEE4swapERS2_@GLIBCXX_3.4.21 5 + _ZNSt13basic_fstreamIwSt11char_traitsIwEE5closeEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EOS2_@GLIBCXX_3.4.21 5 + _ZNSt13basic_fstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIwSt11char_traitsIwEEC1ERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2 + _ZNSt13basic_fstreamIwSt11char_traitsIwEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EOS2_@GLIBCXX_3.4.21 5 + _ZNSt13basic_fstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIwSt11char_traitsIwEEC2ERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2 + _ZNSt13basic_fstreamIwSt11char_traitsIwEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_fstreamIwSt11char_traitsIwEEaSEOS2_@GLIBCXX_3.4.21 5 + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIPvEERS2_RT_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIbEERS2_RT_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIdEERS2_RT_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIeEERS2_RT_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIfEERS2_RT_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIjEERS2_RT_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIlEERS2_RT_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractImEERS2_RT_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractItEERS2_RT_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIxEERS2_RT_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIyEERS2_RT_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_Ew@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE3getERw@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE4peekEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE4swapERS2_@GLIBCXX_3.4.21 5 + _ZNSt13basic_istreamIwSt11char_traitsIwEE4syncEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgESt4fposI11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE5tellgEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE5ungetEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEv@GLIBCXX_3.4.5 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC1ERS2_b@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6sentryC2ERS2_b@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE7putbackEw@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEEC1EOS2_@GLIBCXX_3.4.21 5 + _ZNSt13basic_istreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEEC2EOS2_@GLIBCXX_3.4.21 5 + _ZNSt13basic_istreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEEaSEOS2_@GLIBCXX_3.4.21 5 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRS2_S3_E@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt8ios_baseS4_E@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsEPFRSt9basic_iosIwS1_ES5_E@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsEPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERPv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERb@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE4swapERS2_@GLIBCXX_3.4.21 5 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE5flushEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpESt4fposI11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE5tellpEv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC1ERS2_@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryC2ERS2_@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIPKvEERS2_T_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIbEERS2_T_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIdEERS2_T_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIeEERS2_T_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIlEERS2_T_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertImEERS2_T_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIxEERS2_T_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIyEERS2_T_@GLIBCXX_3.4.9 4.2.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EOS2_@GLIBCXX_3.4.21 5 + _ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEEC1ERSt14basic_iostreamIwS1_E@GLIBCXX_3.4.21 5 + _ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EOS2_@GLIBCXX_3.4.21 5 + _ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEEC2ERSt14basic_iostreamIwS1_E@GLIBCXX_3.4.21 5 + _ZNSt13basic_ostreamIwSt11char_traitsIwEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEEaSEOS2_@GLIBCXX_3.4.21 5 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRS2_S3_E@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt8ios_baseS4_E@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPFRSt9basic_iosIwS1_ES5_E@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPKv@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEb@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@GLIBCXX_3.4 4.1.1 + _ZNSt13random_device14_M_init_pretr1ERKSs@GLIBCXX_3.4.18 4.8 + _ZNSt13random_device16_M_getval_pretr1Ev@GLIBCXX_3.4.18 4.8 + _ZNSt13random_device7_M_finiEv@GLIBCXX_3.4.18 4.8 + _ZNSt13random_device7_M_initERKSs@GLIBCXX_3.4.18 4.8 + _ZNSt13random_device9_M_getvalEv@GLIBCXX_3.4.18 4.8 + _ZNSt13runtime_errorC1ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt13runtime_errorC2ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt13runtime_errorD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13runtime_errorD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt13runtime_errorD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2 + _ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2 + _ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2ERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2 + _ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2 + _ZNSt14basic_ifstreamIwSt11char_traitsIwEE5closeEv@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1ERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2 + _ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2ERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2 + _ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ifstreamIwSt11char_traitsIwEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_iostreamIwSt11char_traitsIwEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_iostreamIwSt11char_traitsIwEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_iostreamIwSt11char_traitsIwEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2 + _ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIcSt11char_traitsIcEE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1ERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2 + _ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2ERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2 + _ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIcSt11char_traitsIcEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openEPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2 + _ZNSt14basic_ofstreamIwSt11char_traitsIwEE5closeEv@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIwSt11char_traitsIwEE7is_openEv@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1ERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2 + _ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EPKcSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2ERKSsSt13_Ios_Openmode@GLIBCXX_3.4.13 4.4.2 + _ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14basic_ofstreamIwSt11char_traitsIwEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIcc11__mbstate_tED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIcc11__mbstate_tED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIcc11__mbstate_tED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIwc11__mbstate_tED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIwc11__mbstate_tED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIwc11__mbstate_tED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIcED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIcED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIcED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIwED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIwED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIwED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14error_categoryC1Ev@GLIBCXX_3.4.15 4.6 + _ZNSt14error_categoryC2Ev@GLIBCXX_3.4.15 4.6 + _ZNSt14error_categoryD0Ev@GLIBCXX_3.4.15 4.6 + _ZNSt14error_categoryD1Ev@GLIBCXX_3.4.15 4.6 + _ZNSt14error_categoryD2Ev@GLIBCXX_3.4.15 4.6 + _ZNSt14numeric_limitsIDiE10has_denormE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDiE10is_boundedE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDiE10is_integerE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDiE11round_styleE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDiE12has_infinityE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDiE12max_digits10E@GLIBCXX_3.4.14 4.5.0 + _ZNSt14numeric_limitsIDiE12max_exponentE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDiE12min_exponentE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDiE13has_quiet_NaNE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDiE14is_specializedE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDiE14max_exponent10E@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDiE14min_exponent10E@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDiE15has_denorm_lossE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDiE15tinyness_beforeE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDiE17has_signaling_NaNE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDiE5radixE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDiE5trapsE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDiE6digitsE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDiE8digits10E@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDiE8is_exactE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDiE9is_iec559E@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDiE9is_moduloE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDiE9is_signedE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDsE10has_denormE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDsE10is_boundedE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDsE10is_integerE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDsE11round_styleE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDsE12has_infinityE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDsE12max_digits10E@GLIBCXX_3.4.14 4.5.0 + _ZNSt14numeric_limitsIDsE12max_exponentE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDsE12min_exponentE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDsE13has_quiet_NaNE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDsE14is_specializedE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDsE14max_exponent10E@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDsE14min_exponent10E@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDsE15has_denorm_lossE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDsE15tinyness_beforeE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDsE17has_signaling_NaNE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDsE5radixE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDsE5trapsE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDsE6digitsE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDsE8digits10E@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDsE8is_exactE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDsE9is_iec559E@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDsE9is_moduloE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIDsE9is_signedE@GLIBCXX_3.4.11 4.4.0 + _ZNSt14numeric_limitsIaE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE12max_digits10E@GLIBCXX_3.4.14 4.5.0 + _ZNSt14numeric_limitsIaE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIaE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE12max_digits10E@GLIBCXX_3.4.14 4.5.0 + _ZNSt14numeric_limitsIbE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIbE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE12max_digits10E@GLIBCXX_3.4.14 4.5.0 + _ZNSt14numeric_limitsIcE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIcE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE12max_digits10E@GLIBCXX_3.4.14 4.5.0 + _ZNSt14numeric_limitsIdE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIdE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIeE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE12max_digits10E@GLIBCXX_3.4.14 4.5.0 + _ZNSt14numeric_limitsIfE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIfE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE12max_digits10E@GLIBCXX_3.4.14 4.5.0 + _ZNSt14numeric_limitsIhE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIhE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE12max_digits10E@GLIBCXX_3.4.14 4.5.0 + _ZNSt14numeric_limitsIiE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIiE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE12max_digits10E@GLIBCXX_3.4.14 4.5.0 + _ZNSt14numeric_limitsIjE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIjE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE12max_digits10E@GLIBCXX_3.4.14 4.5.0 + _ZNSt14numeric_limitsIlE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIlE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE12max_digits10E@GLIBCXX_3.4.14 4.5.0 + _ZNSt14numeric_limitsImE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsImE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE12max_digits10E@GLIBCXX_3.4.14 4.5.0 + _ZNSt14numeric_limitsIsE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIsE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE12max_digits10E@GLIBCXX_3.4.14 4.5.0 + _ZNSt14numeric_limitsItE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsItE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE12max_digits10E@GLIBCXX_3.4.14 4.5.0 + _ZNSt14numeric_limitsIwE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIwE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE12max_digits10E@GLIBCXX_3.4.14 4.5.0 + _ZNSt14numeric_limitsIxE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIxE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE12max_digits10E@GLIBCXX_3.4.14 4.5.0 + _ZNSt14numeric_limitsIyE12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt14numeric_limitsIyE9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt14overflow_errorC1EPKc@GLIBCXX_3.4.21 5 + _ZNSt14overflow_errorC1ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt14overflow_errorC2EPKc@GLIBCXX_3.4.21 5 + _ZNSt14overflow_errorC2ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt14overflow_errorD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14overflow_errorD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt14overflow_errorD2Ev@GLIBCXX_3.4.15 4.6 + _ZNSt15_List_node_base10_M_reverseEv@GLIBCXX_3.4.14 4.5 + _ZNSt15_List_node_base11_M_transferEPS_S0_@GLIBCXX_3.4.14 4.5 + _ZNSt15_List_node_base4hookEPS_@GLIBCXX_3.4 4.1.1 + _ZNSt15_List_node_base4swapERS_S0_@GLIBCXX_3.4 4.1.1 + _ZNSt15_List_node_base6unhookEv@GLIBCXX_3.4 4.1.1 + _ZNSt15_List_node_base7_M_hookEPS_@GLIBCXX_3.4.14 4.5 + _ZNSt15_List_node_base7reverseEv@GLIBCXX_3.4 4.1.1 + _ZNSt15_List_node_base8transferEPS_S0_@GLIBCXX_3.4 4.1.1 + _ZNSt15_List_node_base9_M_unhookEv@GLIBCXX_3.4.14 4.5 + _ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE4setgEPcS3_S3_@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE4setpEPcS3_@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE4swapERS2_@GLIBCXX_3.4.21 5 + _ZNSt15basic_streambufIcSt11char_traitsIcEE4syncEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5gbumpEi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5pbumpEi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetcEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5sputcEc@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6stosscEv@GLIBCXX_3.4.10 4.3 + _ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE7sungetcEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE8in_availEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE8overflowEi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE8pubimbueERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE9sputbackcEc@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEEC1ERKS2_@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEEC2ERKS2_@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEEaSERKS2_@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE4setgEPwS3_S3_@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE4setpEPwS3_@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE4swapERS2_@GLIBCXX_3.4.21 5 + _ZNSt15basic_streambufIwSt11char_traitsIwEE4syncEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5gbumpEi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5imbueERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5pbumpEi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetcEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5sputcEw@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5uflowEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6stosscEv@GLIBCXX_3.4.10 4.3 + _ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE7sungetcEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE8in_availEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE8overflowEj@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE8pubimbueERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE9pbackfailEj@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE9showmanycEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE9sputbackcEw@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE9underflowEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEEC1ERKS2_@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEEC2ERKS2_@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEEaSERKS2_@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@GLIBCXX_3.4.6 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv@GLIBCXX_3.4.6 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIcED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIcED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIcED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIwED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIwED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIwED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIcED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIcED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIcED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIwED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIwED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIwED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15underflow_errorC1EPKc@GLIBCXX_3.4.21 5 + _ZNSt15underflow_errorC1ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt15underflow_errorC2EPKc@GLIBCXX_3.4.21 5 + _ZNSt15underflow_errorC2ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt15underflow_errorD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15underflow_errorD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt15underflow_errorD2Ev@GLIBCXX_3.4.15 4.6 + _ZNSt16__numpunct_cacheIcE8_M_cacheERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIcED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIcED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIcED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIwE8_M_cacheERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIwED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIwED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIwED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt16bad_array_lengthD0Ev@CXXABI_1.3.8 4.9 + _ZNSt16bad_array_lengthD1Ev@CXXABI_1.3.8 4.9 + _ZNSt16bad_array_lengthD2Ev@CXXABI_1.3.8 4.9 + _ZNSt16invalid_argumentC1EPKc@GLIBCXX_3.4.21 5 + _ZNSt16invalid_argumentC1ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt16invalid_argumentC2EPKc@GLIBCXX_3.4.21 5 + _ZNSt16invalid_argumentC2ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt16invalid_argumentD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt16invalid_argumentD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt16invalid_argumentD2Ev@GLIBCXX_3.4.15 4.6 + _ZNSt17__timepunct_cacheIcE12_S_timezonesE@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIcED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIcED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIcED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIwE12_S_timezonesE@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIwED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIwED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIwED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17bad_function_callD0Ev@GLIBCXX_3.4.15 4.6 + _ZNSt17bad_function_callD1Ev@GLIBCXX_3.4.15 4.6 + _ZNSt17bad_function_callD2Ev@GLIBCXX_3.4.15 4.6 + _ZNSt17moneypunct_bynameIcLb0EE4intlE@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb0EED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb0EED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb0EED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb1EE4intlE@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb1EED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb1EED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb1EED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb0EE4intlE@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb0EED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb0EED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb0EED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb1EE4intlE@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb1EED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb1EED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb1EED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb0EE8_M_cacheERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb0EED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb0EED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb0EED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb1EE8_M_cacheERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb1EED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb1EED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb1EED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb0EE8_M_cacheERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb0EED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb0EED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb0EED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb1EE8_M_cacheERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb1EED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb1EED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb1EED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEE4swapERS3_@GLIBCXX_3.4.21 5 + _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1EOS3_@GLIBCXX_3.4.21 5 + _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2EOS3_@GLIBCXX_3.4.21 5 + _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIcSt11char_traitsIcESaIcEEaSEOS3_@GLIBCXX_3.4.21 5 + _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEE4swapERS3_@GLIBCXX_3.4.21 5 + _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1EOS3_@GLIBCXX_3.4.21 5 + _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2EOS3_@GLIBCXX_3.4.21 5 + _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt18basic_stringstreamIwSt11char_traitsIwESaIwEEaSEOS3_@GLIBCXX_3.4.21 5 + _ZNSt18condition_variable10notify_allEv@GLIBCXX_3.4.11 4.4.0 + _ZNSt18condition_variable10notify_oneEv@GLIBCXX_3.4.11 4.4.0 + _ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE@GLIBCXX_3.4.11 4.4.0 + _ZNSt18condition_variableC1Ev@GLIBCXX_3.4.11 4.4.0 + _ZNSt18condition_variableC2Ev@GLIBCXX_3.4.11 4.4.0 + _ZNSt18condition_variableD1Ev@GLIBCXX_3.4.11 4.4.0 + _ZNSt18condition_variableD2Ev@GLIBCXX_3.4.11 4.4.0 + _ZNSt19__codecvt_utf8_baseIDiED0Ev@GLIBCXX_3.4.21 5 + _ZNSt19__codecvt_utf8_baseIDiED1Ev@GLIBCXX_3.4.21 5 + _ZNSt19__codecvt_utf8_baseIDiED2Ev@GLIBCXX_3.4.21 5 + _ZNSt19__codecvt_utf8_baseIDsED0Ev@GLIBCXX_3.4.21 5 + _ZNSt19__codecvt_utf8_baseIDsED1Ev@GLIBCXX_3.4.21 5 + _ZNSt19__codecvt_utf8_baseIDsED2Ev@GLIBCXX_3.4.21 5 + _ZNSt19__codecvt_utf8_baseIwED0Ev@GLIBCXX_3.4.21 5 + _ZNSt19__codecvt_utf8_baseIwED1Ev@GLIBCXX_3.4.21 5 + _ZNSt19__codecvt_utf8_baseIwED2Ev@GLIBCXX_3.4.21 5 + _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEE4swapERS3_@GLIBCXX_3.4.21 5 + _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1EOS3_@GLIBCXX_3.4.21 5 + _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2EOS3_@GLIBCXX_3.4.21 5 + _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEaSEOS3_@GLIBCXX_3.4.21 5 + _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEE4swapERS3_@GLIBCXX_3.4.21 5 + _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1EOS3_@GLIBCXX_3.4.21 5 + _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2EOS3_@GLIBCXX_3.4.21 5 + _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_istringstreamIwSt11char_traitsIwESaIwEEaSEOS3_@GLIBCXX_3.4.21 5 + _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE4swapERS3_@GLIBCXX_3.4.21 5 + _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1EOS3_@GLIBCXX_3.4.21 5 + _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2EOS3_@GLIBCXX_3.4.21 5 + _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKSsSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEaSEOS3_@GLIBCXX_3.4.21 5 + _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKSbIwS1_S2_E@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE4swapERS3_@GLIBCXX_3.4.21 5 + _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1EOS3_@GLIBCXX_3.4.21 5 + _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2EOS3_@GLIBCXX_3.4.21 5 + _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKSbIwS1_S2_ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt19basic_ostringstreamIwSt11char_traitsIwESaIwEEaSEOS3_@GLIBCXX_3.4.21 5 + _ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@GLIBCXX_3.4 4.1.1 + _ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEppEv@GLIBCXX_3.4.5 4.1.1 + _ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@GLIBCXX_3.4 4.1.1 + _ZNSt19istreambuf_iteratorIwSt11char_traitsIwEEppEv@GLIBCXX_3.4.5 4.1.1 + _ZNSt20__codecvt_utf16_baseIDiED0Ev@GLIBCXX_3.4.21 5 + _ZNSt20__codecvt_utf16_baseIDiED1Ev@GLIBCXX_3.4.21 5 + _ZNSt20__codecvt_utf16_baseIDiED2Ev@GLIBCXX_3.4.21 5 + _ZNSt20__codecvt_utf16_baseIDsED0Ev@GLIBCXX_3.4.21 5 + _ZNSt20__codecvt_utf16_baseIDsED1Ev@GLIBCXX_3.4.21 5 + _ZNSt20__codecvt_utf16_baseIDsED2Ev@GLIBCXX_3.4.21 5 + _ZNSt20__codecvt_utf16_baseIwED0Ev@GLIBCXX_3.4.21 5 + _ZNSt20__codecvt_utf16_baseIwED1Ev@GLIBCXX_3.4.21 5 + _ZNSt20__codecvt_utf16_baseIwED2Ev@GLIBCXX_3.4.21 5 + _ZNSt20bad_array_new_lengthD0Ev@CXXABI_1.3.8 4.9 + _ZNSt20bad_array_new_lengthD1Ev@CXXABI_1.3.8 4.9 + _ZNSt20bad_array_new_lengthD2Ev@CXXABI_1.3.8 4.9 + _ZNSt21__numeric_limits_base10has_denormE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base10is_boundedE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base10is_integerE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base11round_styleE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base12has_infinityE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base12max_digits10E@GLIBCXX_3.4.14 4.5.0 + _ZNSt21__numeric_limits_base12max_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base12min_exponentE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base13has_quiet_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base14is_specializedE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base14max_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base14min_exponent10E@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base15has_denorm_lossE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base15tinyness_beforeE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base17has_signaling_NaNE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base5radixE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base5trapsE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base6digitsE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base8digits10E@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base8is_exactE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base9is_iec559E@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base9is_moduloE@GLIBCXX_3.4 4.1.1 + _ZNSt21__numeric_limits_base9is_signedE@GLIBCXX_3.4 4.1.1 + _ZNSt22condition_variable_anyC1Ev@GLIBCXX_3.4.11 4.4.0 + _ZNSt22condition_variable_anyC2Ev@GLIBCXX_3.4.11 4.4.0 + _ZNSt22condition_variable_anyD1Ev@GLIBCXX_3.4.11 4.4.0 + _ZNSt22condition_variable_anyD2Ev@GLIBCXX_3.4.11 4.4.0 + _ZNSt25__codecvt_utf8_utf16_baseIDiED0Ev@GLIBCXX_3.4.21 5 + _ZNSt25__codecvt_utf8_utf16_baseIDiED1Ev@GLIBCXX_3.4.21 5 + _ZNSt25__codecvt_utf8_utf16_baseIDiED2Ev@GLIBCXX_3.4.21 5 + _ZNSt25__codecvt_utf8_utf16_baseIDsED0Ev@GLIBCXX_3.4.21 5 + _ZNSt25__codecvt_utf8_utf16_baseIDsED1Ev@GLIBCXX_3.4.21 5 + _ZNSt25__codecvt_utf8_utf16_baseIDsED2Ev@GLIBCXX_3.4.21 5 + _ZNSt25__codecvt_utf8_utf16_baseIwED0Ev@GLIBCXX_3.4.21 5 + _ZNSt25__codecvt_utf8_utf16_baseIwED1Ev@GLIBCXX_3.4.21 5 + _ZNSt25__codecvt_utf8_utf16_baseIwED2Ev@GLIBCXX_3.4.21 5 + _ZNSt3_V214error_categoryD0Ev@GLIBCXX_3.4.21 5 + _ZNSt3_V214error_categoryD1Ev@GLIBCXX_3.4.21 5 + _ZNSt3_V214error_categoryD2Ev@GLIBCXX_3.4.21 5 + _ZNSt3_V215system_categoryEv@GLIBCXX_3.4.21 5 + _ZNSt3_V216generic_categoryEv@GLIBCXX_3.4.21 5 + _ZNSt3tr18__detail12__prime_listE@GLIBCXX_3.4.10 4.3 + _ZNSt5ctypeIcE10table_sizeE@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcE13classic_tableEv@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwE19_M_initialize_ctypeEv@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt6__norm15_List_node_base10_M_reverseEv@GLIBCXX_3.4.14 4.5 + _ZNSt6__norm15_List_node_base11_M_transferEPS0_S1_@GLIBCXX_3.4.14 4.5 + _ZNSt6__norm15_List_node_base4hookEPS0_@GLIBCXX_3.4.9 4.2.1 + _ZNSt6__norm15_List_node_base4swapERS0_S1_@GLIBCXX_3.4.9 4.2.1 + _ZNSt6__norm15_List_node_base6unhookEv@GLIBCXX_3.4.9 4.2.1 + _ZNSt6__norm15_List_node_base7_M_hookEPS0_@GLIBCXX_3.4.14 4.5 + _ZNSt6__norm15_List_node_base7reverseEv@GLIBCXX_3.4.9 4.2.1 + _ZNSt6__norm15_List_node_base8transferEPS0_S1_@GLIBCXX_3.4.9 4.2.1 + _ZNSt6__norm15_List_node_base9_M_unhookEv@GLIBCXX_3.4.14 4.5 + _ZNSt6chrono3_V212steady_clock3nowEv@GLIBCXX_3.4.19 4.8.1 + _ZNSt6chrono3_V212steady_clock9is_steadyE@GLIBCXX_3.4.19 4.8.1 + _ZNSt6chrono3_V212system_clock3nowEv@GLIBCXX_3.4.19 4.8.1 + _ZNSt6chrono3_V212system_clock9is_steadyE@GLIBCXX_3.4.19 4.8.1 + _ZNSt6chrono12system_clock12is_monotonicE@GLIBCXX_3.4.11 4.4.0 + _ZNSt6chrono12system_clock3nowEv@GLIBCXX_3.4.11 4.4.0 + _ZNSt6locale11_M_coalesceERKS_S1_i@GLIBCXX_3.4 4.1.1 + _ZNSt6locale21_S_normalize_categoryEi@GLIBCXX_3.4 4.1.1 + _ZNSt6locale3allE@GLIBCXX_3.4 4.1.1 + _ZNSt6locale4noneE@GLIBCXX_3.4 4.1.1 + _ZNSt6locale4timeE@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_Impl21_M_replace_categoriesEPKS0_i@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5ctypeE@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5facet13_S_get_c_nameEv@GLIBCXX_3.4.6 4.1.1 + _ZNSt6locale5facet15_S_get_c_localeEv@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5facet19_S_destroy_c_localeERP15__locale_struct@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5facetD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5facetD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5facetD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt6locale6globalERKS_@GLIBCXX_3.4 4.1.1 + _ZNSt6locale7classicEv@GLIBCXX_3.4 4.1.1 + _ZNSt6locale7collateE@GLIBCXX_3.4 4.1.1 + _ZNSt6locale7numericE@GLIBCXX_3.4 4.1.1 + _ZNSt6locale8messagesE@GLIBCXX_3.4 4.1.1 + _ZNSt6locale8monetaryE@GLIBCXX_3.4 4.1.1 + _ZNSt6localeC1EPKc@GLIBCXX_3.4 4.1.1 + _ZNSt6localeC1EPNS_5_ImplE@GLIBCXX_3.4 4.1.1 + _ZNSt6localeC1ERKS_@GLIBCXX_3.4 4.1.1 + _ZNSt6localeC1ERKS_PKci@GLIBCXX_3.4 4.1.1 + _ZNSt6localeC1ERKS_S1_i@GLIBCXX_3.4 4.1.1 + _ZNSt6localeC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt6localeC2EPKc@GLIBCXX_3.4 4.1.1 + _ZNSt6localeC2EPNS_5_ImplE@GLIBCXX_3.4 4.1.1 + _ZNSt6localeC2ERKS_@GLIBCXX_3.4 4.1.1 + _ZNSt6localeC2ERKS_PKci@GLIBCXX_3.4 4.1.1 + _ZNSt6localeC2ERKS_S1_i@GLIBCXX_3.4 4.1.1 + _ZNSt6localeC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt6localeD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt6localeD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt6localeaSERKS_@GLIBCXX_3.4 4.1.1 + _ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEE@GLIBCXX_3.4.11 4.4.0 + _ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEEPFvvE@GLIBCXX_3.4.21 5 + _ZNSt6thread15_M_start_threadESt10unique_ptrINS_6_StateESt14default_deleteIS1_EEPFvvE@GLIBCXX_3.4.22 6 + _ZNSt6thread20hardware_concurrencyEv@GLIBCXX_3.4.17 4.7 + _ZNSt6thread4joinEv@GLIBCXX_3.4.11 4.4.0 + _ZNSt6thread6_StateD0Ev@GLIBCXX_3.4.22 6 + _ZNSt6thread6_StateD1Ev@GLIBCXX_3.4.22 6 + _ZNSt6thread6_StateD2Ev@GLIBCXX_3.4.22 6 + _ZNSt6thread6detachEv@GLIBCXX_3.4.11 4.4.0 + _ZNSt7codecvtIDic11__mbstate_tE2idE@GLIBCXX_3.4.21 5 + _ZNSt7codecvtIDic11__mbstate_tED0Ev@GLIBCXX_3.4.21 5 + _ZNSt7codecvtIDic11__mbstate_tED1Ev@GLIBCXX_3.4.21 5 + _ZNSt7codecvtIDic11__mbstate_tED2Ev@GLIBCXX_3.4.21 5 + _ZNSt7codecvtIDsc11__mbstate_tE2idE@GLIBCXX_3.4.21 5 + _ZNSt7codecvtIDsc11__mbstate_tED0Ev@GLIBCXX_3.4.21 5 + _ZNSt7codecvtIDsc11__mbstate_tED1Ev@GLIBCXX_3.4.21 5 + _ZNSt7codecvtIDsc11__mbstate_tED2Ev@GLIBCXX_3.4.21 5 + _ZNSt7codecvtIcc11__mbstate_tE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8__detail12__prime_listE@GLIBCXX_3.4.10 4.3 + _ZNSt8__detail15_List_node_base10_M_reverseEv@GLIBCXX_3.4.15 4.6 + _ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_@GLIBCXX_3.4.15 4.6 + _ZNSt8__detail15_List_node_base4swapERS0_S1_@GLIBCXX_3.4.15 4.6 + _ZNSt8__detail15_List_node_base7_M_hookEPS0_@GLIBCXX_3.4.15 4.6 + _ZNSt8__detail15_List_node_base9_M_unhookEv@GLIBCXX_3.4.15 4.6 + _ZNSt8bad_castD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8bad_castD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8bad_castD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base10floatfieldE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base10scientificE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base11adjustfieldE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base13_M_grow_wordsEib@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base15sync_with_stdioEb@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base17_M_call_callbacksENS_5eventE@GLIBCXX_3.4.6 4.1.1 + _ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base20_M_dispose_callbacksEv@GLIBCXX_3.4.6 4.1.1 + _ZNSt8ios_base2inE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base3appE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base3ateE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base3begE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base3curE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base3decE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base3endE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base3hexE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base3octE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base3outE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base4InitC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base4InitC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base4InitD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base4InitD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base4leftE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base5fixedE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base5imbueERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base5rightE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base5truncE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base6badbitE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base6binaryE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base6eofbitE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base6skipwsE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base6xallocEv@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base7_M_initEv@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base7_M_moveERS_@GLIBCXX_3.4.21 5 + _ZNSt8ios_base7_M_swapERS_@GLIBCXX_3.4.21 5 + _ZNSt8ios_base7failbitE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base7failureC1ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base7failureC2ERKSs@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base7failureD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base7failureD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base7failureD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base7goodbitE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base7showposE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base7unitbufE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base8internalE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base8showbaseE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base9basefieldE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base9boolalphaE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base9showpointE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_base9uppercaseE@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_baseC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_baseC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_baseD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_baseD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8ios_baseD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcE22_M_initialize_numpunctEP15__locale_struct@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwE22_M_initialize_numpunctEP15__locale_struct@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9__atomic011atomic_flag12test_and_setESt12memory_order@GLIBCXX_3.4.14 4.5 + _ZNSt9__atomic011atomic_flag5clearESt12memory_order@GLIBCXX_3.4.14 4.5 + _ZNSt9__cxx199815_List_node_base10_M_reverseEv@GLIBCXX_3.4.14 4.5 + _ZNSt9__cxx199815_List_node_base11_M_transferEPS0_S1_@GLIBCXX_3.4.14 4.5 + _ZNSt9__cxx199815_List_node_base4hookEPS0_@GLIBCXX_3.4.10 4.3 + _ZNSt9__cxx199815_List_node_base4swapERS0_S1_@GLIBCXX_3.4.10 4.3 + _ZNSt9__cxx199815_List_node_base7_M_hookEPS0_@GLIBCXX_3.4.14 4.5 + _ZNSt9__cxx199815_List_node_base6unhookEv@GLIBCXX_3.4.10 4.3 + _ZNSt9__cxx199815_List_node_base7reverseEv@GLIBCXX_3.4.10 4.3 + _ZNSt9__cxx199815_List_node_base8transferEPS0_S1_@GLIBCXX_3.4.10 4.3 + _ZNSt9__cxx199815_List_node_base9_M_unhookEv@GLIBCXX_3.4.14 4.5 + _ZNSt9bad_allocD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9bad_allocD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9bad_allocD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEE10exceptionsESt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEE11_M_setstateESt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEE15_M_cache_localeERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEE3tieEPSo@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEE4fillEc@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEE4moveEOS2_@GLIBCXX_3.4.21 5 + _ZNSt9basic_iosIcSt11char_traitsIcEE4moveERS2_@GLIBCXX_3.4.21 5 + _ZNSt9basic_iosIcSt11char_traitsIcEE4swapERS2_@GLIBCXX_3.4.21 5 + _ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEE8setstateESt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEE9set_rdbufEPSt15basic_streambufIcS1_E@GLIBCXX_3.4.21 5 + _ZNSt9basic_iosIcSt11char_traitsIcEEC1EPSt15basic_streambufIcS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEEC2EPSt15basic_streambufIcS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIcSt11char_traitsIcEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEE10exceptionsESt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEE11_M_setstateESt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEE15_M_cache_localeERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEE3tieEPSt13basic_ostreamIwS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEE4fillEw@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEE4initEPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEE4moveEOS2_@GLIBCXX_3.4.21 5 + _ZNSt9basic_iosIwSt11char_traitsIwEE4moveERS2_@GLIBCXX_3.4.21 5 + _ZNSt9basic_iosIwSt11char_traitsIwEE4swapERS2_@GLIBCXX_3.4.21 5 + _ZNSt9basic_iosIwSt11char_traitsIwEE5clearESt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEE5imbueERKSt6locale@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEE5rdbufEPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEE7copyfmtERKS2_@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEE8setstateESt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEE9set_rdbufEPSt15basic_streambufIwS1_E@GLIBCXX_3.4.21 5 + _ZNSt9basic_iosIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEEC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEEC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9basic_iosIwSt11char_traitsIwEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9exceptionD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9exceptionD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9exceptionD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9strstream3strEv@GLIBCXX_3.4 4.1.1 + _ZNSt9strstream6freezeEb@GLIBCXX_3.4 4.1.1 + _ZNSt9strstreamC1EPciSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt9strstreamC1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9strstreamC2EPciSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt9strstreamC2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9strstreamD2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9type_infoD0Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9type_infoD1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt9type_infoD2Ev@GLIBCXX_3.4 4.1.1 + _ZNVSt9__atomic011atomic_flag12test_and_setESt12memory_order@GLIBCXX_3.4.11 4.4.0 + _ZNVSt9__atomic011atomic_flag5clearESt12memory_order@GLIBCXX_3.4.11 4.4.0 + _ZSt10adopt_lock@GLIBCXX_3.4.11 4.4.0 + _ZSt10defer_lock@GLIBCXX_3.4.11 4.4.0 + _ZSt10unexpectedv@GLIBCXX_3.4 4.1.1 + _ZSt11__once_call@GLIBCXX_3.4.11 4.4.0 + _ZSt11try_to_lock@GLIBCXX_3.4.11 4.4.0 + _ZSt13get_terminatev@GLIBCXX_3.4.20 4.9 + _ZSt13set_terminatePFvvE@GLIBCXX_3.4 4.1.1 + _ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@GLIBCXX_3.4 4.1.1 + _ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@GLIBCXX_3.4 4.1.1 + _ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@GLIBCXX_3.4 4.1.1 + _ZSt14get_unexpectedv@GLIBCXX_3.4.20 4.9 + _ZSt14set_unexpectedPFvvE@GLIBCXX_3.4 4.1.1 + _ZSt15__once_callable@GLIBCXX_3.4.11 4.4.0 + _ZSt15future_category@GLIBCXX_3.4.14 4.5 + _ZSt15future_categoryv@GLIBCXX_3.4.15 4.6 + _ZSt15get_new_handlerv@GLIBCXX_3.4.20 4.9 + _ZSt15set_new_handlerPFvvE@GLIBCXX_3.4 4.1.1 + _ZSt15system_categoryv@GLIBCXX_3.4.11 4.4.0 + _ZNSt13runtime_errorC1EPKc@GLIBCXX_3.4.21 5 + _ZNSt13runtime_errorC1ERKS_@GLIBCXX_3.4.21 5 + _ZNSt13runtime_errorC2EPKc@GLIBCXX_3.4.21 5 + _ZNSt13runtime_errorC2ERKS_@GLIBCXX_3.4.21 5 + _ZNSt13runtime_erroraSERKS_@GLIBCXX_3.4.21 5 + _ZNSt14basic_ifstreamIcSt11char_traitsIcEE4swapERS2_@GLIBCXX_3.4.21 5 + _ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EOS2_@GLIBCXX_3.4.21 5 + _ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2EOS2_@GLIBCXX_3.4.21 5 + _ZNSt14basic_ifstreamIcSt11char_traitsIcEEaSEOS2_@GLIBCXX_3.4.21 5 + _ZNSt14basic_ifstreamIwSt11char_traitsIwEE4swapERS2_@GLIBCXX_3.4.21 5 + _ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1EOS2_@GLIBCXX_3.4.21 5 + _ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2EOS2_@GLIBCXX_3.4.21 5 + _ZNSt14basic_ifstreamIwSt11char_traitsIwEEaSEOS2_@GLIBCXX_3.4.21 5 + _ZNSt14basic_iostreamIwSt11char_traitsIwEE4swapERS2_@GLIBCXX_3.4.21 5 + _ZNSt14basic_iostreamIwSt11char_traitsIwEEC1EOS2_@GLIBCXX_3.4.21 5 + _ZNSt14basic_iostreamIwSt11char_traitsIwEEC2EOS2_@GLIBCXX_3.4.21 5 + _ZNSt14basic_iostreamIwSt11char_traitsIwEEaSEOS2_@GLIBCXX_3.4.21 5 + _ZNSt14basic_ofstreamIcSt11char_traitsIcEE4swapERS2_@GLIBCXX_3.4.21 5 + _ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EOS2_@GLIBCXX_3.4.21 5 + _ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2EOS2_@GLIBCXX_3.4.21 5 + _ZNSt14basic_ofstreamIcSt11char_traitsIcEEaSEOS2_@GLIBCXX_3.4.21 5 + _ZNSt14basic_ofstreamIwSt11char_traitsIwEE4swapERS2_@GLIBCXX_3.4.21 5 + _ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1EOS2_@GLIBCXX_3.4.21 5 + _ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2EOS2_@GLIBCXX_3.4.21 5 + _ZNSt14basic_ofstreamIwSt11char_traitsIwEEaSEOS2_@GLIBCXX_3.4.21 5 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE4swapERS3_@GLIBCXX_3.4.21 5 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS3_@GLIBCXX_3.4.21 5 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS3_@GLIBCXX_3.4.21 5 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEaSEOS3_@GLIBCXX_3.4.21 5 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE4swapERS3_@GLIBCXX_3.4.21 5 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS3_@GLIBCXX_3.4.21 5 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS3_@GLIBCXX_3.4.21 5 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEaSEOS3_@GLIBCXX_3.4.21 5 + _ZSt16__throw_bad_castv@GLIBCXX_3.4 4.1.1 + _ZSt16generic_categoryv@GLIBCXX_3.4.11 4.4.0 + _ZSt17__throw_bad_allocv@GLIBCXX_3.4 4.1.1 + _ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base@GLIBCXX_3.4 4.1.1 + _ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@GLIBCXX_3.4 4.1.1 + _ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@GLIBCXX_3.4 4.1.1 + _ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base@GLIBCXX_3.4 4.1.1 + _ZSt18__throw_bad_typeidv@GLIBCXX_3.4 4.1.1 + _ZSt18uncaught_exceptionv@GLIBCXX_3.4 4.1.1 + _ZSt19__throw_ios_failurePKc@GLIBCXX_3.4 4.1.1 + _ZSt19__throw_logic_errorPKc@GLIBCXX_3.4 4.1.1 + _ZSt19__throw_range_errorPKc@GLIBCXX_3.4 4.1.1 + _ZSt19__throw_regex_errorNSt15regex_constants10error_typeE@GLIBCXX_3.4.15 4.6 + _ZSt19uncaught_exceptionsv@GLIBCXX_3.4.22 6 + _ZSt20_Rb_tree_black_countPKSt18_Rb_tree_node_baseS1_@GLIBCXX_3.4 4.1.1 + _ZSt20_Rb_tree_rotate_leftPSt18_Rb_tree_node_baseRS0_@GLIBCXX_3.4 4.1.1 + _ZSt20__throw_domain_errorPKc@GLIBCXX_3.4 4.1.1 + _ZSt20__throw_future_errori@GLIBCXX_3.4.14 4.5 + _ZSt20__throw_length_errorPKc@GLIBCXX_3.4 4.1.1 + _ZSt20__throw_out_of_rangePKc@GLIBCXX_3.4 4.1.1 + _ZSt20__throw_system_errori@GLIBCXX_3.4.11 4.4.0 + _ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@GLIBCXX_3.4 4.1.1 + _ZSt21__throw_bad_exceptionv@GLIBCXX_3.4 4.1.1 + _ZSt21__throw_runtime_errorPKc@GLIBCXX_3.4 4.1.1 + _ZSt22__throw_overflow_errorPKc@GLIBCXX_3.4 4.1.1 + _ZSt23__throw_underflow_errorPKc@GLIBCXX_3.4 4.1.1 + _ZSt24__throw_invalid_argumentPKc@GLIBCXX_3.4 4.1.1 + _ZSt24__throw_out_of_range_fmtPKcz@GLIBCXX_3.4.20 4.9 + _ZSt25__throw_bad_function_callv@GLIBCXX_3.4.14 4.5 + _ZSt25notify_all_at_thread_exitRSt18condition_variableSt11unique_lockISt5mutexE@GLIBCXX_3.4.21 5 + _ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_@GLIBCXX_3.4 4.1.1 + _ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_@GLIBCXX_3.4 4.1.1 + _ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_@GLIBCXX_3.4 4.1.1 + _ZSt2wsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_@GLIBCXX_3.4 4.1.1 + _ZSt3cin@GLIBCXX_3.4 4.1.1 + _ZSt4cerr@GLIBCXX_3.4 4.1.1 + _ZSt4clog@GLIBCXX_3.4 4.1.1 + _ZSt4cout@GLIBCXX_3.4 4.1.1 + _ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@GLIBCXX_3.4 4.1.1 + _ZSt4endlIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@GLIBCXX_3.4 4.1.1 + _ZSt4endsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@GLIBCXX_3.4 4.1.1 + _ZSt4endsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@GLIBCXX_3.4 4.1.1 + _ZSt4wcin@GLIBCXX_3.4 4.1.1 + _ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@GLIBCXX_3.4 4.1.1 + _ZSt5flushIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_@GLIBCXX_3.4 4.1.1 + _ZSt5wcerr@GLIBCXX_3.4 4.1.1 + _ZSt5wclog@GLIBCXX_3.4 4.1.1 + _ZSt5wcout@GLIBCXX_3.4 4.1.1 + _ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@GLIBCXX_3.4 4.1.1 + _ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@GLIBCXX_3.4 4.1.1 + _ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@GLIBCXX_3.4 4.1.1 + _ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@GLIBCXX_3.4 4.1.1 + _ZSt7nothrow@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt11__timepunctIwEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt5ctypeIcEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt5ctypeIwEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt7codecvtIcc11__mbstate_tEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt7codecvtIwc11__mbstate_tEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt7collateIcEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt7collateIwEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt8messagesIcEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt8messagesIwEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt8numpunctIcEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt8numpunctIwEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9terminatev@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt10moneypunctIwLb1EEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt11__timepunctIcEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt11__timepunctIwEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt5ctypeIwEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt7codecvtIcc11__mbstate_tEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt7codecvtIwc11__mbstate_tEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt7collateIcEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt7collateIwEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt8messagesIcEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt8messagesIwEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt8numpunctIcEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt8numpunctIwEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZSt9use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEERKT_RKSt6locale@GLIBCXX_3.4 4.1.1 + _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKa@GLIBCXX_3.4 4.1.1 + _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@GLIBCXX_3.4 4.1.1 + _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKh@GLIBCXX_3.4 4.1.1 + _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_a@GLIBCXX_3.4 4.1.1 + _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c@GLIBCXX_3.4 4.1.1 + _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_h@GLIBCXX_3.4 4.1.1 + _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@GLIBCXX_3.4 4.1.1 + _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@GLIBCXX_3.4 4.1.1 + _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@GLIBCXX_3.4 4.1.1 + _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St5_Setw@GLIBCXX_3.4 4.1.1 + _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@GLIBCXX_3.4 4.1.1 + _ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@GLIBCXX_3.4 4.1.1 + _ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@GLIBCXX_3.4 4.1.1 + _ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_3.4 4.1.1 + _ZStlsIdwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_3.4 4.1.1 + _ZStlsIecSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_3.4 4.1.1 + _ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_3.4 4.1.1 + _ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_3.4 4.1.1 + _ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_3.4 4.1.1 + _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@GLIBCXX_3.4 4.1.1 + _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@GLIBCXX_3.4 4.1.1 + _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@GLIBCXX_3.4 4.1.1 + _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St12_Setiosflags@GLIBCXX_3.4 4.1.1 + _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St13_Setprecision@GLIBCXX_3.4 4.1.1 + _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St14_Resetiosflags@GLIBCXX_3.4 4.1.1 + _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St5_Setw@GLIBCXX_3.4 4.1.1 + _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_Setbase@GLIBCXX_3.4 4.1.1 + _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_St8_SetfillIS3_E@GLIBCXX_3.4 4.1.1 + _ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_c@GLIBCXX_3.4 4.1.1 + _ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E@GLIBCXX_3.4 4.1.1 + _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_EPKS3_RKS6_@GLIBCXX_3.4 4.1.1 + _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_S8_@GLIBCXX_3.4 4.1.1 + _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ES3_RKS6_@GLIBCXX_3.4 4.1.1 + _ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_EPKS3_RKS6_@GLIBCXX_3.4 4.1.1 + _ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ERKS6_S8_@GLIBCXX_3.4 4.1.1 + _ZStplIwSt11char_traitsIwESaIwEESbIT_T0_T1_ES3_RKS6_@GLIBCXX_3.4 4.1.1 + _ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Pa@GLIBCXX_3.4 4.1.1 + _ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ph@GLIBCXX_3.4 4.1.1 + _ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Ra@GLIBCXX_3.4 4.1.1 + _ZStrsISt11char_traitsIcEERSt13basic_istreamIcT_ES5_Rh@GLIBCXX_3.4 4.1.1 + _ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_PS3_@GLIBCXX_3.4 4.1.1 + _ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_@GLIBCXX_3.4 4.1.1 + _ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@GLIBCXX_3.4 4.1.1 + _ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@GLIBCXX_3.4 4.1.1 + _ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@GLIBCXX_3.4 4.1.1 + _ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St5_Setw@GLIBCXX_3.4 4.1.1 + _ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_Setbase@GLIBCXX_3.4 4.1.1 + _ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@GLIBCXX_3.4 4.1.1 + _ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@GLIBCXX_3.4 4.1.1 + _ZStrsIdcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_3.4 4.1.1 + _ZStrsIdwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_3.4 4.1.1 + _ZStrsIecSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_3.4 4.1.1 + _ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_3.4 4.1.1 + _ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_3.4 4.1.1 + _ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_3.4 4.1.1 + _ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@GLIBCXX_3.4 4.1.1 + _ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@GLIBCXX_3.4 4.1.1 + _ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@GLIBCXX_3.4 4.1.1 + _ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St13_Setprecision@GLIBCXX_3.4 4.1.1 + _ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St14_Resetiosflags@GLIBCXX_3.4 4.1.1 + _ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St5_Setw@GLIBCXX_3.4 4.1.1 + _ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_Setbase@GLIBCXX_3.4 4.1.1 + _ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St8_SetfillIS3_E@GLIBCXX_3.4 4.1.1 + _ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@GLIBCXX_3.4 4.1.1 + _ZTIDd@CXXABI_1.3.4 4.5 + _ZTIDe@CXXABI_1.3.4 4.5 + _ZTIDf@CXXABI_1.3.4 4.5 + _ZTIDi@CXXABI_1.3.3 4.4.0 + _ZTIDn@CXXABI_1.3.5 4.6 + _ZTIDs@CXXABI_1.3.3 4.4.0 + _ZTIN10__cxxabiv115__forced_unwindE@CXXABI_1.3.2 4.3 + _ZTIN10__cxxabiv116__enum_type_infoE@CXXABI_1.3 4.1.1 + _ZTIN10__cxxabiv117__array_type_infoE@CXXABI_1.3 4.1.1 + _ZTIN10__cxxabiv117__class_type_infoE@CXXABI_1.3 4.1.1 + _ZTIN10__cxxabiv117__pbase_type_infoE@CXXABI_1.3 4.1.1 + _ZTIN10__cxxabiv119__foreign_exceptionE@CXXABI_1.3.2 4.3 + _ZTIN10__cxxabiv119__pointer_type_infoE@CXXABI_1.3 4.1.1 + _ZTIN10__cxxabiv120__function_type_infoE@CXXABI_1.3 4.1.1 + _ZTIN10__cxxabiv120__si_class_type_infoE@CXXABI_1.3 4.1.1 + _ZTIN10__cxxabiv121__vmi_class_type_infoE@CXXABI_1.3 4.1.1 + _ZTIN10__cxxabiv123__fundamental_type_infoE@CXXABI_1.3 4.1.1 + _ZTIN10__cxxabiv129__pointer_to_member_type_infoE@CXXABI_1.3 4.1.1 + _ZTIN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTIN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTIN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTINSt3_V214error_categoryE@GLIBCXX_3.4.21 5 + _ZTINSt6locale5facetE@GLIBCXX_3.4 4.1.1 + _ZTINSt6thread6_StateE@GLIBCXX_3.4.22 6 + _ZTINSt8ios_base7failureE@GLIBCXX_3.4 4.1.1 + _ZTIPDd@CXXABI_1.3.4 4.5 + _ZTIPDe@CXXABI_1.3.4 4.5 + _ZTIPDf@CXXABI_1.3.4 4.5 + _ZTIPDi@CXXABI_1.3.3 4.4.0 + _ZTIPDn@CXXABI_1.3.5 4.6 + _ZTIPDs@CXXABI_1.3.3 4.4.0 + _ZTIPKDd@CXXABI_1.3.4 4.5 + _ZTIPKDe@CXXABI_1.3.4 4.5 + _ZTIPKDf@CXXABI_1.3.4 4.5 + _ZTIPKDi@CXXABI_1.3.3 4.4.0 + _ZTIPKDn@CXXABI_1.3.5 4.6 + _ZTIPKDs@CXXABI_1.3.3 4.4.0 + _ZTIPKa@CXXABI_1.3 4.1.1 + _ZTIPKb@CXXABI_1.3 4.1.1 + _ZTIPKc@CXXABI_1.3 4.1.1 + _ZTIPKd@CXXABI_1.3 4.1.1 + _ZTIPKe@CXXABI_1.3 4.1.1 + _ZTIPKf@CXXABI_1.3 4.1.1 + _ZTIPKh@CXXABI_1.3 4.1.1 + _ZTIPKi@CXXABI_1.3 4.1.1 + _ZTIPKj@CXXABI_1.3 4.1.1 + _ZTIPKl@CXXABI_1.3 4.1.1 + _ZTIPKm@CXXABI_1.3 4.1.1 + _ZTIPKs@CXXABI_1.3 4.1.1 + _ZTIPKt@CXXABI_1.3 4.1.1 + _ZTIPKv@CXXABI_1.3 4.1.1 + _ZTIPKw@CXXABI_1.3 4.1.1 + _ZTIPKx@CXXABI_1.3 4.1.1 + _ZTIPKy@CXXABI_1.3 4.1.1 + _ZTIPa@CXXABI_1.3 4.1.1 + _ZTIPb@CXXABI_1.3 4.1.1 + _ZTIPc@CXXABI_1.3 4.1.1 + _ZTIPd@CXXABI_1.3 4.1.1 + _ZTIPe@CXXABI_1.3 4.1.1 + _ZTIPf@CXXABI_1.3 4.1.1 + _ZTIPh@CXXABI_1.3 4.1.1 + _ZTIPi@CXXABI_1.3 4.1.1 + _ZTIPj@CXXABI_1.3 4.1.1 + _ZTIPl@CXXABI_1.3 4.1.1 + _ZTIPm@CXXABI_1.3 4.1.1 + _ZTIPs@CXXABI_1.3 4.1.1 + _ZTIPt@CXXABI_1.3 4.1.1 + _ZTIPv@CXXABI_1.3 4.1.1 + _ZTIPw@CXXABI_1.3 4.1.1 + _ZTIPx@CXXABI_1.3 4.1.1 + _ZTIPy@CXXABI_1.3 4.1.1 + _ZTISd@GLIBCXX_3.4 4.1.1 + _ZTISi@GLIBCXX_3.4 4.1.1 + _ZTISo@GLIBCXX_3.4 4.1.1 + _ZTISt10bad_typeid@GLIBCXX_3.4 4.1.1 + _ZTISt10ctype_base@GLIBCXX_3.4 4.1.1 + _ZTISt10istrstream@GLIBCXX_3.4 4.1.1 + _ZTISt10lock_error@GLIBCXX_3.4.11 4.4.0 + _ZTISt10money_base@GLIBCXX_3.4 4.1.1 + _ZTISt10moneypunctIcLb0EE@GLIBCXX_3.4 4.1.1 + _ZTISt10moneypunctIcLb1EE@GLIBCXX_3.4 4.1.1 + _ZTISt10moneypunctIwLb0EE@GLIBCXX_3.4 4.1.1 + _ZTISt10moneypunctIwLb1EE@GLIBCXX_3.4 4.1.1 + _ZTISt10ostrstream@GLIBCXX_3.4 4.1.1 + _ZTISt11__timepunctIcE@GLIBCXX_3.4 4.1.1 + _ZTISt11__timepunctIwE@GLIBCXX_3.4 4.1.1 + _ZTISt11logic_error@GLIBCXX_3.4 4.1.1 + _ZTISt11range_error@GLIBCXX_3.4 4.1.1 + _ZTISt11regex_error@GLIBCXX_3.4.15 4.6 + _ZTISt12bad_weak_ptr@GLIBCXX_3.4.15 4.6 + _ZTISt12codecvt_base@GLIBCXX_3.4 4.1.1 + _ZTISt12ctype_bynameIcE@GLIBCXX_3.4 4.1.1 + _ZTISt12ctype_bynameIwE@GLIBCXX_3.4 4.1.1 + _ZTISt12domain_error@GLIBCXX_3.4 4.1.1 + _ZTISt12future_error@GLIBCXX_3.4.14 4.5 + _ZTISt12length_error@GLIBCXX_3.4 4.1.1 + _ZTISt12out_of_range@GLIBCXX_3.4 4.1.1 + _ZTISt12strstreambuf@GLIBCXX_3.4 4.1.1 + _ZTISt12system_error@GLIBCXX_3.4.11 4.4.0 + _ZTISt13bad_exception@GLIBCXX_3.4 4.1.1 + _ZTISt13basic_filebufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTISt13basic_filebufIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTISt13basic_fstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTISt13basic_fstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTISt13basic_istreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTISt13basic_ostreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTISt13messages_base@GLIBCXX_3.4 4.1.1 + _ZTISt13runtime_error@GLIBCXX_3.4 4.1.1 + _ZTISt14basic_ifstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTISt14basic_ifstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTISt14basic_iostreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTISt14basic_ofstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTISt14basic_ofstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTISt14codecvt_bynameIcc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTISt14codecvt_bynameIwc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTISt14collate_bynameIcE@GLIBCXX_3.4 4.1.1 + _ZTISt14collate_bynameIwE@GLIBCXX_3.4 4.1.1 + _ZTISt14error_category@GLIBCXX_3.4.11 4.4.0 + _ZTISt14overflow_error@GLIBCXX_3.4 4.1.1 + _ZTISt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTISt15basic_streambufIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTISt15basic_stringbufIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTISt15basic_stringbufIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTISt15messages_bynameIcE@GLIBCXX_3.4 4.1.1 + _ZTISt15messages_bynameIwE@GLIBCXX_3.4 4.1.1 + _ZTISt15numpunct_bynameIcE@GLIBCXX_3.4 4.1.1 + _ZTISt15numpunct_bynameIwE@GLIBCXX_3.4 4.1.1 + _ZTISt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTISt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTISt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTISt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTISt15underflow_error@GLIBCXX_3.4 4.1.1 + _ZTISt16bad_array_length@CXXABI_1.3.8 4.9 + _ZTISt16invalid_argument@GLIBCXX_3.4 4.1.1 + _ZTISt17bad_function_call@GLIBCXX_3.4.15 4.6 + _ZTISt17moneypunct_bynameIcLb0EE@GLIBCXX_3.4 4.1.1 + _ZTISt17moneypunct_bynameIcLb1EE@GLIBCXX_3.4 4.1.1 + _ZTISt17moneypunct_bynameIwLb0EE@GLIBCXX_3.4 4.1.1 + _ZTISt17moneypunct_bynameIwLb1EE@GLIBCXX_3.4 4.1.1 + _ZTISt18basic_stringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTISt18basic_stringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTISt19__codecvt_utf8_baseIDiE@GLIBCXX_3.4.21 5 + _ZTISt19__codecvt_utf8_baseIDsE@GLIBCXX_3.4.21 5 + _ZTISt19__codecvt_utf8_baseIwE@GLIBCXX_3.4.21 5 + _ZTISt19basic_istringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTISt19basic_istringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTISt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTISt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTISt20__codecvt_utf16_baseIDiE@GLIBCXX_3.4.21 5 + _ZTISt20__codecvt_utf16_baseIDsE@GLIBCXX_3.4.21 5 + _ZTISt20__codecvt_utf16_baseIwE@GLIBCXX_3.4.21 5 + _ZTISt20bad_array_new_length@CXXABI_1.3.8 4.9 + _ZTISt21__ctype_abstract_baseIcE@GLIBCXX_3.4 4.1.1 + _ZTISt21__ctype_abstract_baseIwE@GLIBCXX_3.4 4.1.1 + _ZTISt23__codecvt_abstract_baseIcc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTISt23__codecvt_abstract_baseIwc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTISt25__codecvt_utf8_utf16_baseIDiE@GLIBCXX_3.4.21 5 + _ZTISt25__codecvt_utf8_utf16_baseIDsE@GLIBCXX_3.4.21 5 + _ZTISt25__codecvt_utf8_utf16_baseIwE@GLIBCXX_3.4.21 5 + _ZTISt5ctypeIcE@GLIBCXX_3.4 4.1.1 + _ZTISt5ctypeIwE@GLIBCXX_3.4 4.1.1 + _ZTISt7codecvtIDic11__mbstate_tE@GLIBCXX_3.4.21 5 + _ZTISt7codecvtIDsc11__mbstate_tE@GLIBCXX_3.4.21 5 + _ZTISt7codecvtIcc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTISt7codecvtIwc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTISt7collateIcE@GLIBCXX_3.4 4.1.1 + _ZTISt7collateIwE@GLIBCXX_3.4 4.1.1 + _ZTISt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTISt8bad_cast@GLIBCXX_3.4 4.1.1 + _ZTISt8ios_base@GLIBCXX_3.4 4.1.1 + _ZTISt8messagesIcE@GLIBCXX_3.4 4.1.1 + _ZTISt8messagesIwE@GLIBCXX_3.4 4.1.1 + _ZTISt8numpunctIcE@GLIBCXX_3.4 4.1.1 + _ZTISt8numpunctIwE@GLIBCXX_3.4 4.1.1 + _ZTISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTISt9bad_alloc@GLIBCXX_3.4 4.1.1 + _ZTISt9basic_iosIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTISt9basic_iosIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTISt9exception@GLIBCXX_3.4 4.1.1 + _ZTISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTISt9strstream@GLIBCXX_3.4 4.1.1 + _ZTISt9time_base@GLIBCXX_3.4 4.1.1 + _ZTISt9type_info@GLIBCXX_3.4 4.1.1 + _ZTIa@CXXABI_1.3 4.1.1 + _ZTIb@CXXABI_1.3 4.1.1 + _ZTIc@CXXABI_1.3 4.1.1 + _ZTId@CXXABI_1.3 4.1.1 + _ZTIe@CXXABI_1.3 4.1.1 + _ZTIf@CXXABI_1.3 4.1.1 + _ZTIh@CXXABI_1.3 4.1.1 + _ZTIi@CXXABI_1.3 4.1.1 + _ZTIj@CXXABI_1.3 4.1.1 + _ZTIl@CXXABI_1.3 4.1.1 + _ZTIm@CXXABI_1.3 4.1.1 + _ZTIs@CXXABI_1.3 4.1.1 + _ZTIt@CXXABI_1.3 4.1.1 + _ZTIv@CXXABI_1.3 4.1.1 + _ZTIw@CXXABI_1.3 4.1.1 + _ZTIx@CXXABI_1.3 4.1.1 + _ZTIy@CXXABI_1.3 4.1.1 + _ZTSN10__cxxabiv116__enum_type_infoE@CXXABI_1.3 4.1.1 + _ZTSN10__cxxabiv117__array_type_infoE@CXXABI_1.3 4.1.1 + _ZTSN10__cxxabiv117__class_type_infoE@CXXABI_1.3 4.1.1 + _ZTSN10__cxxabiv117__pbase_type_infoE@CXXABI_1.3 4.1.1 + _ZTSN10__cxxabiv119__pointer_type_infoE@CXXABI_1.3 4.1.1 + _ZTSN10__cxxabiv120__function_type_infoE@CXXABI_1.3 4.1.1 + _ZTSN10__cxxabiv120__si_class_type_infoE@CXXABI_1.3 4.1.1 + _ZTSN10__cxxabiv121__vmi_class_type_infoE@CXXABI_1.3 4.1.1 + _ZTSN10__cxxabiv123__fundamental_type_infoE@CXXABI_1.3 4.1.1 + _ZTSN10__cxxabiv129__pointer_to_member_type_infoE@CXXABI_1.3 4.1.1 + _ZTSN9__gnu_cxx13stdio_filebufIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTSN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTSN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTSN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTSNSt6locale5facetE@GLIBCXX_3.4 4.1.1 + _ZTSNSt6thread6_StateE@GLIBCXX_3.4.22 6 + _ZTSNSt8ios_base7failureE@GLIBCXX_3.4 4.1.1 + _ZTSPKa@CXXABI_1.3 4.1.1 + _ZTSPKb@CXXABI_1.3 4.1.1 + _ZTSPKc@CXXABI_1.3 4.1.1 + _ZTSPKd@CXXABI_1.3 4.1.1 + _ZTSPKe@CXXABI_1.3 4.1.1 + _ZTSPKf@CXXABI_1.3 4.1.1 + _ZTSPKh@CXXABI_1.3 4.1.1 + _ZTSPKi@CXXABI_1.3 4.1.1 + _ZTSPKj@CXXABI_1.3 4.1.1 + _ZTSPKl@CXXABI_1.3 4.1.1 + _ZTSPKm@CXXABI_1.3 4.1.1 + _ZTSPKs@CXXABI_1.3 4.1.1 + _ZTSPKt@CXXABI_1.3 4.1.1 + _ZTSPKv@CXXABI_1.3 4.1.1 + _ZTSPKw@CXXABI_1.3 4.1.1 + _ZTSPKx@CXXABI_1.3 4.1.1 + _ZTSPKy@CXXABI_1.3 4.1.1 + _ZTSPa@CXXABI_1.3 4.1.1 + _ZTSPb@CXXABI_1.3 4.1.1 + _ZTSPc@CXXABI_1.3 4.1.1 + _ZTSPd@CXXABI_1.3 4.1.1 + _ZTSPe@CXXABI_1.3 4.1.1 + _ZTSPf@CXXABI_1.3 4.1.1 + _ZTSPh@CXXABI_1.3 4.1.1 + _ZTSPi@CXXABI_1.3 4.1.1 + _ZTSPj@CXXABI_1.3 4.1.1 + _ZTSPl@CXXABI_1.3 4.1.1 + _ZTSPm@CXXABI_1.3 4.1.1 + _ZTSPs@CXXABI_1.3 4.1.1 + _ZTSPt@CXXABI_1.3 4.1.1 + _ZTSPv@CXXABI_1.3 4.1.1 + _ZTSPw@CXXABI_1.3 4.1.1 + _ZTSPx@CXXABI_1.3 4.1.1 + _ZTSPy@CXXABI_1.3 4.1.1 + _ZTSSd@GLIBCXX_3.4 4.1.1 + _ZTSSi@GLIBCXX_3.4 4.1.1 + _ZTSSo@GLIBCXX_3.4 4.1.1 + _ZTSSt10bad_typeid@GLIBCXX_3.4 4.1.1 + _ZTSSt10ctype_base@GLIBCXX_3.4 4.1.1 + _ZTSSt10istrstream@GLIBCXX_3.4 4.1.1 + _ZTSSt10lock_error@GLIBCXX_3.4.11 4.4.0 + _ZTSSt10money_base@GLIBCXX_3.4 4.1.1 + _ZTSSt10moneypunctIcLb0EE@GLIBCXX_3.4 4.1.1 + _ZTSSt10moneypunctIcLb1EE@GLIBCXX_3.4 4.1.1 + _ZTSSt10moneypunctIwLb0EE@GLIBCXX_3.4 4.1.1 + _ZTSSt10moneypunctIwLb1EE@GLIBCXX_3.4 4.1.1 + _ZTSSt10ostrstream@GLIBCXX_3.4 4.1.1 + _ZTSSt11__timepunctIcE@GLIBCXX_3.4 4.1.1 + _ZTSSt11__timepunctIwE@GLIBCXX_3.4 4.1.1 + _ZTSSt11logic_error@GLIBCXX_3.4 4.1.1 + _ZTSSt11range_error@GLIBCXX_3.4 4.1.1 + _ZTSSt12codecvt_base@GLIBCXX_3.4 4.1.1 + _ZTSSt12ctype_bynameIcE@GLIBCXX_3.4 4.1.1 + _ZTSSt12ctype_bynameIwE@GLIBCXX_3.4 4.1.1 + _ZTSSt12domain_error@GLIBCXX_3.4 4.1.1 + _ZTSSt12future_error@GLIBCXX_3.4.14 4.5 + _ZTSSt12length_error@GLIBCXX_3.4 4.1.1 + _ZTSSt12out_of_range@GLIBCXX_3.4 4.1.1 + _ZTSSt12strstreambuf@GLIBCXX_3.4 4.1.1 + _ZTSSt12system_error@GLIBCXX_3.4.11 4.4.0 + _ZTSSt13bad_exception@GLIBCXX_3.4 4.1.1 + _ZTSSt13basic_filebufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTSSt13basic_filebufIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTSSt13basic_fstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTSSt13basic_fstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTSSt13basic_istreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTSSt13basic_ostreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTSSt13messages_base@GLIBCXX_3.4 4.1.1 + _ZTSSt13runtime_error@GLIBCXX_3.4 4.1.1 + _ZTSSt14basic_ifstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTSSt14basic_ifstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTSSt14basic_iostreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTSSt14basic_ofstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTSSt14basic_ofstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTSSt14codecvt_bynameIcc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTSSt14codecvt_bynameIwc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTSSt14collate_bynameIcE@GLIBCXX_3.4 4.1.1 + _ZTSSt14collate_bynameIwE@GLIBCXX_3.4 4.1.1 + _ZTSSt14error_category@GLIBCXX_3.4.11 4.4.0 + _ZTSSt14overflow_error@GLIBCXX_3.4 4.1.1 + _ZTSSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTSSt15basic_streambufIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTSSt15basic_stringbufIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTSSt15basic_stringbufIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTSSt15messages_bynameIcE@GLIBCXX_3.4 4.1.1 + _ZTSSt15messages_bynameIwE@GLIBCXX_3.4 4.1.1 + _ZTSSt15numpunct_bynameIcE@GLIBCXX_3.4 4.1.1 + _ZTSSt15numpunct_bynameIwE@GLIBCXX_3.4 4.1.1 + _ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt15underflow_error@GLIBCXX_3.4 4.1.1 + _ZTSSt16bad_array_length@CXXABI_1.3.8 4.9 + _ZTSSt16invalid_argument@GLIBCXX_3.4 4.1.1 + _ZTSSt17moneypunct_bynameIcLb0EE@GLIBCXX_3.4 4.1.1 + _ZTSSt17moneypunct_bynameIcLb1EE@GLIBCXX_3.4 4.1.1 + _ZTSSt17moneypunct_bynameIwLb0EE@GLIBCXX_3.4 4.1.1 + _ZTSSt17moneypunct_bynameIwLb1EE@GLIBCXX_3.4 4.1.1 + _ZTSSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTSSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTSSt19__codecvt_utf8_baseIDiE@GLIBCXX_3.4.21 5 + _ZTSSt19__codecvt_utf8_baseIDsE@GLIBCXX_3.4.21 5 + _ZTSSt19__codecvt_utf8_baseIwE@GLIBCXX_3.4.21 5 + _ZTSSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTSSt20__codecvt_utf16_baseIDiE@GLIBCXX_3.4.21 5 + _ZTSSt20__codecvt_utf16_baseIDsE@GLIBCXX_3.4.21 5 + _ZTSSt20__codecvt_utf16_baseIwE@GLIBCXX_3.4.21 5 + _ZTSSt20bad_array_new_length@CXXABI_1.3.8 4.9 + _ZTSSt21__ctype_abstract_baseIcE@GLIBCXX_3.4 4.1.1 + _ZTSSt21__ctype_abstract_baseIwE@GLIBCXX_3.4 4.1.1 + _ZTSSt23__codecvt_abstract_baseIcc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTSSt23__codecvt_abstract_baseIwc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTSSt25__codecvt_utf8_utf16_baseIDiE@GLIBCXX_3.4.21 5 + _ZTSSt25__codecvt_utf8_utf16_baseIDsE@GLIBCXX_3.4.21 5 + _ZTSSt25__codecvt_utf8_utf16_baseIwE@GLIBCXX_3.4.21 5 + _ZTSSt5ctypeIcE@GLIBCXX_3.4 4.1.1 + _ZTSSt5ctypeIwE@GLIBCXX_3.4 4.1.1 + _ZTSSt7codecvtIDic11__mbstate_tE@GLIBCXX_3.4.21 5 + _ZTSSt7codecvtIDsc11__mbstate_tE@GLIBCXX_3.4.21 5 + _ZTSSt7codecvtIcc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTSSt7codecvtIwc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTSSt7collateIcE@GLIBCXX_3.4 4.1.1 + _ZTSSt7collateIwE@GLIBCXX_3.4 4.1.1 + _ZTSSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt8bad_cast@GLIBCXX_3.4 4.1.1 + _ZTSSt8ios_base@GLIBCXX_3.4 4.1.1 + _ZTSSt8messagesIcE@GLIBCXX_3.4 4.1.1 + _ZTSSt8messagesIwE@GLIBCXX_3.4 4.1.1 + _ZTSSt8numpunctIcE@GLIBCXX_3.4 4.1.1 + _ZTSSt8numpunctIwE@GLIBCXX_3.4 4.1.1 + _ZTSSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt9bad_alloc@GLIBCXX_3.4 4.1.1 + _ZTSSt9basic_iosIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTSSt9basic_iosIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTSSt9exception@GLIBCXX_3.4 4.1.1 + _ZTSSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTSSt9strstream@GLIBCXX_3.4 4.1.1 + _ZTSSt9time_base@GLIBCXX_3.4 4.1.1 + _ZTSSt9type_info@GLIBCXX_3.4 4.1.1 + _ZTSa@CXXABI_1.3 4.1.1 + _ZTSb@CXXABI_1.3 4.1.1 + _ZTSc@CXXABI_1.3 4.1.1 + _ZTSd@CXXABI_1.3 4.1.1 + _ZTSe@CXXABI_1.3 4.1.1 + _ZTSf@CXXABI_1.3 4.1.1 + _ZTSh@CXXABI_1.3 4.1.1 + _ZTSi@CXXABI_1.3 4.1.1 + _ZTSj@CXXABI_1.3 4.1.1 + _ZTSl@CXXABI_1.3 4.1.1 + _ZTSm@CXXABI_1.3 4.1.1 + _ZTSs@CXXABI_1.3 4.1.1 + _ZTSt@CXXABI_1.3 4.1.1 + _ZTSv@CXXABI_1.3 4.1.1 + _ZTSw@CXXABI_1.3 4.1.1 + _ZTSx@CXXABI_1.3 4.1.1 + _ZTSy@CXXABI_1.3 4.1.1 + _ZTTSd@GLIBCXX_3.4 4.1.1 + _ZTTSi@GLIBCXX_3.4 4.1.1 + _ZTTSo@GLIBCXX_3.4 4.1.1 + _ZTTSt10istrstream@GLIBCXX_3.4 4.1.1 + _ZTTSt10ostrstream@GLIBCXX_3.4 4.1.1 + _ZTTSt13basic_fstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTTSt13basic_fstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTTSt13basic_istreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTTSt13basic_ostreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTTSt14basic_ifstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTTSt14basic_ifstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTTSt14basic_iostreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTTSt14basic_ofstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTTSt14basic_ofstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTTSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTTSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTTSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTTSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTTSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTTSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTTSt9strstream@GLIBCXX_3.4 4.1.1 + _ZTVN10__cxxabiv116__enum_type_infoE@CXXABI_1.3 4.1.1 + _ZTVN10__cxxabiv117__array_type_infoE@CXXABI_1.3 4.1.1 + _ZTVN10__cxxabiv117__class_type_infoE@CXXABI_1.3 4.1.1 + _ZTVN10__cxxabiv117__pbase_type_infoE@CXXABI_1.3 4.1.1 + _ZTVN10__cxxabiv119__pointer_type_infoE@CXXABI_1.3 4.1.1 + _ZTVN10__cxxabiv120__function_type_infoE@CXXABI_1.3 4.1.1 + _ZTVN10__cxxabiv120__si_class_type_infoE@CXXABI_1.3 4.1.1 + _ZTVN10__cxxabiv121__vmi_class_type_infoE@CXXABI_1.3 4.1.1 + _ZTVN10__cxxabiv123__fundamental_type_infoE@CXXABI_1.3 4.1.1 + _ZTVN10__cxxabiv129__pointer_to_member_type_infoE@CXXABI_1.3 4.1.1 + _ZTVN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTVN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTVNSt3_V214error_categoryE@GLIBCXX_3.4.21 5 + _ZTVNSt6locale5facetE@GLIBCXX_3.4 4.1.1 + _ZTVNSt6thread6_StateE@GLIBCXX_3.4.22 6 + _ZTVNSt8ios_base7failureE@GLIBCXX_3.4 4.1.1 + _ZTVSd@GLIBCXX_3.4 4.1.1 + _ZTVSi@GLIBCXX_3.4 4.1.1 + _ZTVSo@GLIBCXX_3.4 4.1.1 + _ZTVSt10bad_typeid@GLIBCXX_3.4 4.1.1 + _ZTVSt10istrstream@GLIBCXX_3.4 4.1.1 + _ZTVSt10lock_error@GLIBCXX_3.4.11 4.4.0 + _ZTVSt10moneypunctIcLb0EE@GLIBCXX_3.4 4.1.1 + _ZTVSt10moneypunctIcLb1EE@GLIBCXX_3.4 4.1.1 + _ZTVSt10moneypunctIwLb0EE@GLIBCXX_3.4 4.1.1 + _ZTVSt10moneypunctIwLb1EE@GLIBCXX_3.4 4.1.1 + _ZTVSt10ostrstream@GLIBCXX_3.4 4.1.1 + _ZTVSt11__timepunctIcE@GLIBCXX_3.4 4.1.1 + _ZTVSt11__timepunctIwE@GLIBCXX_3.4 4.1.1 + _ZTVSt11logic_error@GLIBCXX_3.4 4.1.1 + _ZTVSt11range_error@GLIBCXX_3.4 4.1.1 + _ZTVSt11regex_error@GLIBCXX_3.4.15 4.6 + _ZTVSt12bad_weak_ptr@GLIBCXX_3.4.15 4.6 + _ZTVSt12ctype_bynameIcE@GLIBCXX_3.4 4.1.1 + _ZTVSt12ctype_bynameIwE@GLIBCXX_3.4 4.1.1 + _ZTVSt12domain_error@GLIBCXX_3.4 4.1.1 + _ZTVSt12future_error@GLIBCXX_3.4.14 4.5 + _ZTVSt12length_error@GLIBCXX_3.4 4.1.1 + _ZTVSt12out_of_range@GLIBCXX_3.4 4.1.1 + _ZTVSt12strstreambuf@GLIBCXX_3.4 4.1.1 + _ZTVSt12system_error@GLIBCXX_3.4.11 4.4.0 + _ZTVSt13bad_exception@GLIBCXX_3.4 4.1.1 + _ZTVSt13basic_filebufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTVSt13basic_filebufIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTVSt13basic_fstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTVSt13basic_fstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTVSt13basic_istreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTVSt13basic_ostreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTVSt13runtime_error@GLIBCXX_3.4 4.1.1 + _ZTVSt14basic_ifstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTVSt14basic_ifstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTVSt14basic_iostreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTVSt14basic_ofstreamIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTVSt14basic_ofstreamIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTVSt14codecvt_bynameIcc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTVSt14codecvt_bynameIwc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTVSt14collate_bynameIcE@GLIBCXX_3.4 4.1.1 + _ZTVSt14collate_bynameIwE@GLIBCXX_3.4 4.1.1 + _ZTVSt14error_category@GLIBCXX_3.4.11 4.4.0 + _ZTVSt14overflow_error@GLIBCXX_3.4 4.1.1 + _ZTVSt15basic_streambufIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTVSt15basic_streambufIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTVSt15basic_stringbufIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTVSt15messages_bynameIcE@GLIBCXX_3.4 4.1.1 + _ZTVSt15messages_bynameIwE@GLIBCXX_3.4 4.1.1 + _ZTVSt15numpunct_bynameIcE@GLIBCXX_3.4 4.1.1 + _ZTVSt15numpunct_bynameIwE@GLIBCXX_3.4 4.1.1 + _ZTVSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt15underflow_error@GLIBCXX_3.4 4.1.1 + _ZTVSt16bad_array_length@CXXABI_1.3.8 4.9 + _ZTVSt16invalid_argument@GLIBCXX_3.4 4.1.1 + _ZTVSt17bad_function_call@GLIBCXX_3.4.15 4.6 + _ZTVSt17moneypunct_bynameIcLb0EE@GLIBCXX_3.4 4.1.1 + _ZTVSt17moneypunct_bynameIcLb1EE@GLIBCXX_3.4 4.1.1 + _ZTVSt17moneypunct_bynameIwLb0EE@GLIBCXX_3.4 4.1.1 + _ZTVSt17moneypunct_bynameIwLb1EE@GLIBCXX_3.4 4.1.1 + _ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTVSt19__codecvt_utf8_baseIDiE@GLIBCXX_3.4.21 5 + _ZTVSt19__codecvt_utf8_baseIDsE@GLIBCXX_3.4.21 5 + _ZTVSt19__codecvt_utf8_baseIwE@GLIBCXX_3.4.21 5 + _ZTVSt19basic_istringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTVSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTVSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@GLIBCXX_3.4 4.1.1 + _ZTVSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@GLIBCXX_3.4 4.1.1 + _ZTVSt20__codecvt_utf16_baseIDiE@GLIBCXX_3.4.21 5 + _ZTVSt20__codecvt_utf16_baseIDsE@GLIBCXX_3.4.21 5 + _ZTVSt20__codecvt_utf16_baseIwE@GLIBCXX_3.4.21 5 + _ZTVSt20bad_array_new_length@CXXABI_1.3.8 4.9 + _ZTVSt21__ctype_abstract_baseIcE@GLIBCXX_3.4 4.1.1 + _ZTVSt21__ctype_abstract_baseIwE@GLIBCXX_3.4 4.1.1 + _ZTVSt23__codecvt_abstract_baseIcc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTVSt23__codecvt_abstract_baseIwc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTVSt25__codecvt_utf8_utf16_baseIDiE@GLIBCXX_3.4.21 5 + _ZTVSt25__codecvt_utf8_utf16_baseIDsE@GLIBCXX_3.4.21 5 + _ZTVSt25__codecvt_utf8_utf16_baseIwE@GLIBCXX_3.4.21 5 + _ZTVSt5ctypeIcE@GLIBCXX_3.4 4.1.1 + _ZTVSt5ctypeIwE@GLIBCXX_3.4 4.1.1 + _ZTVSt7codecvtIDic11__mbstate_tE@GLIBCXX_3.4.21 5 + _ZTVSt7codecvtIDsc11__mbstate_tE@GLIBCXX_3.4.21 5 + _ZTVSt7codecvtIcc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTVSt7codecvtIwc11__mbstate_tE@GLIBCXX_3.4 4.1.1 + _ZTVSt7collateIcE@GLIBCXX_3.4 4.1.1 + _ZTVSt7collateIwE@GLIBCXX_3.4 4.1.1 + _ZTVSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt8bad_cast@GLIBCXX_3.4 4.1.1 + _ZTVSt8ios_base@GLIBCXX_3.4 4.1.1 + _ZTVSt8messagesIcE@GLIBCXX_3.4 4.1.1 + _ZTVSt8messagesIwE@GLIBCXX_3.4 4.1.1 + _ZTVSt8numpunctIcE@GLIBCXX_3.4 4.1.1 + _ZTVSt8numpunctIwE@GLIBCXX_3.4 4.1.1 + _ZTVSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt9bad_alloc@GLIBCXX_3.4 4.1.1 + _ZTVSt9basic_iosIcSt11char_traitsIcEE@GLIBCXX_3.4 4.1.1 + _ZTVSt9basic_iosIwSt11char_traitsIwEE@GLIBCXX_3.4 4.1.1 + _ZTVSt9exception@GLIBCXX_3.4 4.1.1 + _ZTVSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@GLIBCXX_3.4 4.1.1 + _ZTVSt9strstream@GLIBCXX_3.4 4.1.1 + _ZTVSt9type_info@GLIBCXX_3.4 4.1.1 + _ZdaPv@GLIBCXX_3.4 4.1.1 + _ZdaPvRKSt9nothrow_t@GLIBCXX_3.4 4.1.1 + _ZdaPvSt11align_val_t@CXXABI_1.3.11 7 + _ZdaPvSt11align_val_tRKSt9nothrow_t@CXXABI_1.3.11 7 + _ZdlPv@GLIBCXX_3.4 4.1.1 + _ZdlPvRKSt9nothrow_t@GLIBCXX_3.4 4.1.1 + _ZdlPvSt11align_val_t@CXXABI_1.3.11 7 + _ZdlPvSt11align_val_tRKSt9nothrow_t@CXXABI_1.3.11 7 + __atomic_flag_for_address@GLIBCXX_3.4.11 4.4.0 + __atomic_flag_wait_explicit@GLIBCXX_3.4.11 4.4.0 + __cxa_allocate_dependent_exception@CXXABI_1.3.6 4.7 + __cxa_allocate_exception@CXXABI_1.3 4.1.1 + __cxa_bad_cast@CXXABI_1.3 4.1.1 + __cxa_bad_typeid@CXXABI_1.3 4.1.1 + __cxa_begin_catch@CXXABI_1.3 4.1.1 + __cxa_call_unexpected@CXXABI_1.3 4.1.1 + __cxa_current_exception_type@CXXABI_1.3 4.1.1 + __cxa_deleted_virtual@CXXABI_1.3.6 4.7 + __cxa_demangle@CXXABI_1.3 4.1.1 + __cxa_end_catch@CXXABI_1.3 4.1.1 + __cxa_free_dependent_exception@CXXABI_1.3.6 4.7 + __cxa_free_exception@CXXABI_1.3 4.1.1 + __cxa_get_exception_ptr@CXXABI_1.3.1 4.1.1 + __cxa_get_globals@CXXABI_1.3 4.1.1 + __cxa_get_globals_fast@CXXABI_1.3 4.1.1 + __cxa_guard_abort@CXXABI_1.3 4.1.1 + __cxa_guard_acquire@CXXABI_1.3 4.1.1 + __cxa_guard_release@CXXABI_1.3 4.1.1 + __cxa_init_primary_exception@CXXABI_1.3.11 7 + __cxa_pure_virtual@CXXABI_1.3 4.1.1 + __cxa_rethrow@CXXABI_1.3 4.1.1 + __cxa_thread_atexit@CXXABI_1.3.7 4.8 + __cxa_throw@CXXABI_1.3 4.1.1 + __cxa_throw_bad_array_length@CXXABI_1.3.8 4.9 + __cxa_throw_bad_array_new_length@CXXABI_1.3.8 4.9 + __cxa_tm_cleanup@CXXABI_TM_1 4.7 + __cxa_vec_cctor@CXXABI_1.3 4.1.1 + __cxa_vec_cleanup@CXXABI_1.3 4.1.1 + __cxa_vec_ctor@CXXABI_1.3 4.1.1 + __cxa_vec_delete2@CXXABI_1.3 4.1.1 + __cxa_vec_delete3@CXXABI_1.3 4.1.1 + __cxa_vec_delete@CXXABI_1.3 4.1.1 + __cxa_vec_dtor@CXXABI_1.3 4.1.1 + __cxa_vec_new2@CXXABI_1.3 4.1.1 + __cxa_vec_new3@CXXABI_1.3 4.1.1 + __cxa_vec_new@CXXABI_1.3 4.1.1 + __dynamic_cast@CXXABI_1.3 4.1.1 + __once_proxy@GLIBCXX_3.4.11 4.4.0 + atomic_flag_clear_explicit@GLIBCXX_3.4.11 4.4.0 + atomic_flag_test_and_set_explicit@GLIBCXX_3.4.11 4.4.0 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.common.cxx11 +++ gcc-8-8.2.0/debian/libstdc++6.symbols.common.cxx11 @@ -0,0 +1,884 @@ + (optional=abi_c++11)_ZGVNSt7__cxx1110moneypunctIcLb0EE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZGVNSt7__cxx1110moneypunctIcLb1EE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZGVNSt7__cxx1110moneypunctIwLb0EE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZGVNSt7__cxx1110moneypunctIwLb1EE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZGVNSt7__cxx117collateIcE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZGVNSt7__cxx117collateIwE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZGVNSt7__cxx118messagesIcE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZGVNSt7__cxx118messagesIwE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZGVNSt7__cxx118numpunctIcE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZGVNSt7__cxx118numpunctIwE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZGVNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZGVNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZGVNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZGVNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZGVNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZGVNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt3_V214error_category10_M_messageB5cxx11Ei@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt3tr14hashINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEclES6_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt3tr14hashINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEclES6_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt6locale4nameB5cxx11Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE10neg_formatEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE10pos_formatEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE11curr_symbolEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE11do_groupingEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE11frac_digitsEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE13decimal_pointEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE13do_neg_formatEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE13do_pos_formatEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE13negative_signEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE13positive_signEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE13thousands_sepEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE14do_curr_symbolEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE14do_frac_digitsEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE16do_decimal_pointEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE16do_negative_signEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE16do_positive_signEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE16do_thousands_sepEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb0EE8groupingEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE10neg_formatEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE10pos_formatEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE11curr_symbolEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE11do_groupingEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE11frac_digitsEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE13decimal_pointEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE13do_neg_formatEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE13do_pos_formatEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE13negative_signEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE13positive_signEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE13thousands_sepEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE14do_curr_symbolEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE14do_frac_digitsEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE16do_decimal_pointEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE16do_negative_signEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE16do_positive_signEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE16do_thousands_sepEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIcLb1EE8groupingEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE10neg_formatEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE10pos_formatEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE11curr_symbolEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE11do_groupingEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE11frac_digitsEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE13decimal_pointEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE13do_neg_formatEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE13do_pos_formatEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE13negative_signEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE13positive_signEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE13thousands_sepEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE14do_curr_symbolEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE14do_frac_digitsEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE16do_decimal_pointEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE16do_negative_signEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE16do_positive_signEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE16do_thousands_sepEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb0EE8groupingEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE10neg_formatEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE10pos_formatEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE11curr_symbolEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE11do_groupingEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE11frac_digitsEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE13decimal_pointEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE13do_neg_formatEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE13do_pos_formatEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE13negative_signEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE13positive_signEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE13thousands_sepEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE14do_curr_symbolEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE14do_frac_digitsEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE16do_decimal_pointEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE16do_negative_signEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE16do_positive_signEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE16do_thousands_sepEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1110moneypunctIwLb1EE8groupingEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_disjunctEPKc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE11_M_is_localEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13get_allocatorEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_get_allocatorEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE3endEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4backEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4cendEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4dataEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4rendEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5beginEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5crendEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5frontEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6cbeginEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6rbeginEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareERKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7crbeginEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8capacityEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8max_sizeEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE11_M_is_localEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_M_local_dataEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13get_allocatorEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16_M_get_allocatorEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE3endEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4backEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4cendEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4dataEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4rendEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4sizeEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5beginEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5c_strEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5crendEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5emptyEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5frontEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6cbeginEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6lengthEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6rbeginEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_M_dataEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareEPKw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7compareERKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7crbeginEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8capacityEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8max_sizeEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx117collateIcE10_M_compareEPKcS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx117collateIcE10do_compareEPKcS3_S3_S3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx117collateIcE12do_transformEPKcS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx117collateIcE4hashEPKcS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx117collateIcE7compareEPKcS3_S3_S3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx117collateIcE7do_hashEPKcS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx117collateIcE9transformEPKcS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx117collateIwE10_M_compareEPKwS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx117collateIwE10do_compareEPKwS3_S3_S3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx117collateIwE12do_transformEPKwS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx117collateIwE4hashEPKwS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx117collateIwE7compareEPKwS3_S3_S3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx117collateIwE7do_hashEPKwS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx117collateIwE9transformEPKwS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118messagesIcE18_M_convert_to_charERKNS_12basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118messagesIcE20_M_convert_from_charEPc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118messagesIcE3getEiiiRKNS_12basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118messagesIcE4openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118messagesIcE4openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6localePKc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118messagesIcE5closeEi@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118messagesIcE6do_getEiiiRKNS_12basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118messagesIcE7do_openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118messagesIcE8do_closeEi@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118messagesIwE18_M_convert_to_charERKNS_12basic_stringIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118messagesIwE20_M_convert_from_charEPc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118messagesIwE3getEiiiRKNS_12basic_stringIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118messagesIwE4openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118messagesIwE4openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6localePKc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118messagesIwE5closeEi@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118messagesIwE6do_getEiiiRKNS_12basic_stringIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118messagesIwE7do_openERKNS_12basic_stringIcSt11char_traitsIcESaIcEEERKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118messagesIwE8do_closeEi@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118numpunctIcE11do_groupingEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118numpunctIcE11do_truenameEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118numpunctIcE12do_falsenameEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118numpunctIcE13decimal_pointEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118numpunctIcE13thousands_sepEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118numpunctIcE16do_decimal_pointEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118numpunctIcE16do_thousands_sepEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118numpunctIcE8groupingEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118numpunctIcE8truenameEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118numpunctIcE9falsenameEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118numpunctIwE11do_groupingEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118numpunctIwE11do_truenameEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118numpunctIwE12do_falsenameEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118numpunctIwE13decimal_pointEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118numpunctIwE13thousands_sepEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118numpunctIwE16do_decimal_pointEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118numpunctIwE16do_thousands_sepEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118numpunctIwE8groupingEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118numpunctIwE8truenameEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118numpunctIwE9falsenameEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10date_orderEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_dateES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_timeES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11do_get_yearES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE11get_weekdayES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13do_date_orderEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE13get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14do_get_weekdayES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16do_get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE21_M_extract_via_formatES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKcSD_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_dateES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_timeES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8get_yearES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10date_orderEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_dateES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_timeES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11do_get_yearES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE11get_weekdayES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13do_date_orderEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE13get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14do_get_weekdayES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16do_get_monthnameES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmPKwSD_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tmcc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_dateES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_timeES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8get_yearES4_S4_RSt8ios_baseRSt12_Ios_IostateP2tm@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS3_SaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS3_SaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS3_SaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS3_SaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS2_IcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIcS2_IcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIwS3_SaIwEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRNS_12basic_stringIwS3_SaIwEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecRKNS_12basic_stringIcS3_SaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecRKNS_12basic_stringIcS3_SaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES4_S4_RSt8ios_basecRKNS_12basic_stringIcS3_SaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES4_S4_RSt8ios_basecRKNS_12basic_stringIcS3_SaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewRKNS_12basic_stringIwS3_SaIwEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewRKNS_12basic_stringIwS3_SaIwEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES4_S4_RSt8ios_basewRKNS_12basic_stringIwS3_SaIwEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES4_S4_RSt8ios_basewRKNS_12basic_stringIwS3_SaIwEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt8ios_base7failureB5cxx114whatEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt11logic_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt11logic_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt11range_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt11range_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt12domain_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt12domain_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt12length_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt12length_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt12out_of_rangeC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt12out_of_rangeC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt13basic_filebufIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt13basic_filebufIwSt11char_traitsIwEE4openERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt13basic_fstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt13basic_fstreamIcSt11char_traitsIcEEC2ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt13basic_fstreamIwSt11char_traitsIwEE4openERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt13basic_fstreamIwSt11char_traitsIwEEC1ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt13basic_fstreamIwSt11char_traitsIwEEC2ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC2ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC2ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC2ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC2ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt14overflow_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt14overflow_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt15underflow_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt15underflow_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt16invalid_argumentC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt16invalid_argumentC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EE4intlE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb0EED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EE4intlE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIcLb1EED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EE24_M_initialize_moneypunctEP15__locale_structPKc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EE4intlE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb0EED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EE24_M_initialize_moneypunctEP15__locale_structPKc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EE4intlE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1110moneypunctIwLb1EED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_disposeEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcOS3_@GLIBCXX_3.4.23 7 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC1EPcRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcOS3_@GLIBCXX_3.4.23 7 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderC2EPcRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKcS4_EEEEvT_SB_St20forward_iterator_tag@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvT_SA_St20forward_iterator_tag@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_M_local_dataEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIPKcS4_EESA_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcN9__gnu_cxx17__normal_iteratorIS5_S4_EES8_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcPKcS7_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13_S_copy_charsEPcS5_S5_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13shrink_to_fitEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_get_allocatorEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE3endEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4backEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4nposE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4rendEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5beginEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5clearEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPKcS4_EE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPcS4_EE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5frontEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendEPKc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendERKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6appendESt16initializer_listIcE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignERKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignESt16initializer_listIcE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPKcS4_EEc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPcS4_EESt16initializer_listIcE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertEN9__gnu_cxx17__normal_iteratorIPcS4_EEc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6insertIN9__gnu_cxx17__normal_iteratorIPcS4_EEEEvS9_T_SA_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6rbeginEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7_M_dataEPc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_NS6_IPcS4_EESB_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_PcSA_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_RKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S8_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S8_S8_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_S9_S9_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_St16initializer_listIcE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_NS6_IPKcS4_EESB_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_PKc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_PKcSA_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_RKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_S7_S7_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7replaceEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_S8_S8_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8pop_backEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9push_backEc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EOS4_RKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ERKS4_RKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1ESt16initializer_listIcERKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IN9__gnu_cxx17__normal_iteratorIPcS4_EEvEET_SA_RKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IPKcvEET_S8_RKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1IPcvEET_S7_RKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EOS4_RKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_RKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ESt16initializer_listIcERKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IN9__gnu_cxx17__normal_iteratorIPcS4_EEvEET_SA_RKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IPKcvEET_S8_RKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IPcvEET_S7_RKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSESt16initializer_listIcE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLESt16initializer_listIcE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_disposeEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwOS3_@GLIBCXX_3.4.23 7 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC1EPwRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwOS3_@GLIBCXX_3.4.23 7 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderC2EPwRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPKwS4_EEEEvT_SB_St20forward_iterator_tag@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvT_SA_St20forward_iterator_tag@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPKwEEvT_S8_St20forward_iterator_tag@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_M_constructIPwEEvT_S7_St20forward_iterator_tag@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_M_local_dataEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIPKwS4_EESA_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwN9__gnu_cxx17__normal_iteratorIS5_S4_EES8_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwPKwS7_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13_S_copy_charsEPwS5_S5_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE13shrink_to_fitEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE16_M_get_allocatorEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE3endEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4backEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4nposE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4rendEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE4swapERS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5beginEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5clearEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPKwS4_EE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS4_EE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5eraseEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5frontEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendEPKw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendERKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6appendESt16initializer_listIwE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignEPKw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignERKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6assignESt16initializer_listIwE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPKwS4_EEw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS4_EESt16initializer_listIwE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS4_EEw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6insertIN9__gnu_cxx17__normal_iteratorIPwS4_EEEEvS9_T_SA_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE6rbeginEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7_M_dataEPw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_NS6_IPwS4_EESB_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_PwSA_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_RKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S8_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S8_S8_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_S9_S9_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPKwS4_EES9_St16initializer_listIwE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_NS6_IPKwS4_EESB_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_PKw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_PKwSA_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_RKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_S7_S7_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS4_EES8_S8_S8_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8pop_backEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_assignERKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9push_backEw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EOS4_RKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1EPKwRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ERKS4_RKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1ESt16initializer_listIwERKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1IN9__gnu_cxx17__normal_iteratorIPwS4_EEvEET_SA_RKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1IPKwvEET_S8_RKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC1IPwvEET_S7_RKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EOS4_RKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2EPKwRKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ERKS4_RKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2ESt16initializer_listIwERKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IN9__gnu_cxx17__normal_iteratorIPwS4_EEvEET_SA_RKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IPKwvEET_S8_RKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IPwvEET_S7_RKS3_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEPKw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSERKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSESt16initializer_listIwE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEpLEPKw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEpLERKS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEpLESt16initializer_listIwE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEpLEw@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIcED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIcED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIcED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIwED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIwED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1114collate_bynameIwED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsC1ERKS4_PS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsC2ERKS4_PS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsD1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE14__xfer_bufptrsD2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE15_M_update_egptrEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE17_M_stringbuf_initESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE4swapERS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS4_ONS4_14__xfer_bufptrsE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS4_ONS4_14__xfer_bufptrsE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEaSEOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsC1ERKS4_PS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsC2ERKS4_PS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsD1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE14__xfer_bufptrsD2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE15_M_update_egptrEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE17_M_stringbuf_initESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE4swapERS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS4_ONS4_14__xfer_bufptrsE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS4_ONS4_14__xfer_bufptrsE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEaSEOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIcED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIcED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIcED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIwED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIwED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115messages_bynameIwED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIcED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIcED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIcED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIwED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIwED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115numpunct_bynameIwED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb0EE4intlE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb0EED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb0EED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb0EED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb1EE4intlE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb1EED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb1EED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIcLb1EED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb0EE4intlE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb0EED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb0EED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb0EED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb1EE4intlE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb1EED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb1EED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1117moneypunct_bynameIwLb1EED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE4swapERS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1EOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2EOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEaSEOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE4swapERS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1EOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2EOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEaSEOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE4swapERS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1EOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2EOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEaSEOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE4swapERS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1EOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2EOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEaSEOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE4swapERS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1EOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2EOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC2ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEaSEOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE3strERKNS_12basic_stringIwS2_S3_EE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE4swapERS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1EOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2EOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ERKNS_12basic_stringIwS2_S3_EESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEC2ESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEaSEOS4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx117collateIcE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx117collateIcED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx117collateIcED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx117collateIcED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx117collateIwE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx117collateIwED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx117collateIwED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx117collateIwED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118messagesIcE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118messagesIcED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118messagesIcED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118messagesIcED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118messagesIwE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118messagesIwED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118messagesIwED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118messagesIwED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIcE22_M_initialize_numpunctEP15__locale_struct@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIcE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIcED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIcED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIcED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIwE22_M_initialize_numpunctEP15__locale_struct@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIwE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIwED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIwED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118numpunctIwED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt8ios_base7failureB5cxx11C1EPKcRKSt10error_code@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt8ios_base7failureB5cxx11C1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt8ios_base7failureB5cxx11C1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10error_code@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt8ios_base7failureB5cxx11C2EPKcRKSt10error_code@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt8ios_base7failureB5cxx11C2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt8ios_base7failureB5cxx11C2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt10error_code@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt8ios_base7failureB5cxx11D0Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt8ios_base7failureB5cxx11D1Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt8ios_base7failureB5cxx11D2Ev@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt13random_device14_M_init_pretr1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt13random_device7_M_initERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt13runtime_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt13runtime_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt14basic_ifstreamIwSt11char_traitsIwEE4openERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt14basic_ifstreamIwSt11char_traitsIwEEC1ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt14basic_ofstreamIwSt11char_traitsIwEE4openERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNSt14basic_ofstreamIwSt11char_traitsIwEEC1ERKNSt7__cxx1112basic_stringIcS0_IcESaIcEEESt13_Ios_Openmode@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt17iostream_categoryv@GLIBCXX_3.4.21 5.1.1 + (optional=abi_c++11)_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9has_facetINSt7__cxx1110moneypunctIcLb0EEEEbRKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9has_facetINSt7__cxx1110moneypunctIwLb0EEEEbRKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9has_facetINSt7__cxx117collateIcEEEbRKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9has_facetINSt7__cxx117collateIwEEEbRKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9has_facetINSt7__cxx118messagesIcEEEbRKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9has_facetINSt7__cxx118messagesIwEEEbRKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9has_facetINSt7__cxx118numpunctIcEEEbRKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9has_facetINSt7__cxx118numpunctIwEEEbRKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9has_facetINSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9has_facetINSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9has_facetINSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9has_facetINSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9has_facetINSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9has_facetINSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9use_facetINSt7__cxx1110moneypunctIcLb0EEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9use_facetINSt7__cxx1110moneypunctIcLb1EEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9use_facetINSt7__cxx1110moneypunctIwLb0EEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9use_facetINSt7__cxx1110moneypunctIwLb1EEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9use_facetINSt7__cxx117collateIcEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9use_facetINSt7__cxx117collateIwEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9use_facetINSt7__cxx118messagesIcEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9use_facetINSt7__cxx118messagesIwEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9use_facetINSt7__cxx118numpunctIcEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9use_facetINSt7__cxx118numpunctIwEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9use_facetINSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9use_facetINSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9use_facetINSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9use_facetINSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9use_facetINSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZSt9use_facetINSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZStlsIwSt11char_traitsIwESaIwEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_SA_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EES5_RKS8_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_SA_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EES5_RKS8_@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZStrsIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx1110moneypunctIcLb0EEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx1110moneypunctIcLb1EEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx1110moneypunctIwLb0EEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx1110moneypunctIwLb1EEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx1114collate_bynameIcEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx1114collate_bynameIwEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx1115messages_bynameIcEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx1115messages_bynameIwEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx1115numpunct_bynameIcEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx1115numpunct_bynameIwEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx1117moneypunct_bynameIcLb0EEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx1117moneypunct_bynameIcLb1EEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx1117moneypunct_bynameIwLb0EEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx1117moneypunct_bynameIwLb1EEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx117collateIcEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx117collateIwEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx118messagesIcEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx118messagesIwEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx118numpunctIcEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx118numpunctIwEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTINSt8ios_base7failureB5cxx11E@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx1110moneypunctIcLb0EEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx1110moneypunctIcLb1EEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx1110moneypunctIwLb0EEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx1110moneypunctIwLb1EEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx1114collate_bynameIcEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx1114collate_bynameIwEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx1115messages_bynameIcEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx1115messages_bynameIwEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx1115numpunct_bynameIcEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx1115numpunct_bynameIwEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx1117moneypunct_bynameIcLb0EEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx1117moneypunct_bynameIcLb1EEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx1117moneypunct_bynameIwLb0EEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx1117moneypunct_bynameIwLb1EEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx117collateIcEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx117collateIwEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx118messagesIcEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx118messagesIwEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx118numpunctIcEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx118numpunctIwEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTSNSt8ios_base7failureB5cxx11E@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTTNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTTNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTTNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTTNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTTNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx1110moneypunctIcLb0EEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx1110moneypunctIcLb1EEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx1110moneypunctIwLb0EEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx1110moneypunctIwLb1EEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx1114collate_bynameIcEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx1114collate_bynameIwEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx1115messages_bynameIcEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx1115messages_bynameIwEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx1115numpunct_bynameIcEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx1115numpunct_bynameIwEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx1117moneypunct_bynameIcLb0EEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx1117moneypunct_bynameIcLb1EEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx1117moneypunct_bynameIwLb0EEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx1117moneypunct_bynameIwLb1EEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx117collateIcEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx117collateIwEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx118messagesIcEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx118messagesIwEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx118numpunctIcEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx118numpunctIwEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx118time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZTVNSt8ios_base7failureB5cxx11E@GLIBCXX_3.4.21 5.2 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.excprop +++ gcc-8-8.2.0/debian/libstdc++6.symbols.excprop @@ -0,0 +1,18 @@ + _ZNKSt15__exception_ptr13exception_ptr20__cxa_exception_typeEv@CXXABI_1.3.3 4.4.0 + _ZNKSt15__exception_ptr13exception_ptrcvMS0_FvvEEv@CXXABI_1.3.3 4.4.0 + _ZNKSt15__exception_ptr13exception_ptrntEv@CXXABI_1.3.3 4.4.0 + _ZNSt15__exception_ptr13exception_ptr4swapERS0_@CXXABI_1.3.3 4.4.0 + _ZNSt15__exception_ptr13exception_ptrC1EMS0_FvvE@CXXABI_1.3.3 4.4.0 + _ZNSt15__exception_ptr13exception_ptrC1EPv@CXXABI_1.3.11 7 + _ZNSt15__exception_ptr13exception_ptrC1ERKS0_@CXXABI_1.3.3 4.4.0 + _ZNSt15__exception_ptr13exception_ptrC1Ev@CXXABI_1.3.3 4.4.0 + _ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE@CXXABI_1.3.3 4.4.0 + _ZNSt15__exception_ptr13exception_ptrC2ERKS0_@CXXABI_1.3.3 4.4.0 + _ZNSt15__exception_ptr13exception_ptrC2Ev@CXXABI_1.3.3 4.4.0 + _ZNSt15__exception_ptr13exception_ptrD1Ev@CXXABI_1.3.3 4.4.0 + _ZNSt15__exception_ptr13exception_ptrD2Ev@CXXABI_1.3.3 4.4.0 + _ZNSt15__exception_ptr13exception_ptraSERKS0_@CXXABI_1.3.3 4.4.0 + _ZNSt15__exception_ptreqERKNS_13exception_ptrES2_@CXXABI_1.3.3 4.4.0 + _ZNSt15__exception_ptrneERKNS_13exception_ptrES2_@CXXABI_1.3.3 4.4.0 + _ZSt17current_exceptionv@CXXABI_1.3.3 4.4.0 + _ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE@CXXABI_1.3.3 4.4.0 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.float128 +++ gcc-8-8.2.0/debian/libstdc++6.symbols.float128 @@ -0,0 +1,7 @@ + CXXABI_FLOAT128@CXXABI_FLOAT128 5 + _ZTIPKg@CXXABI_FLOAT128 5 + _ZTIPg@CXXABI_FLOAT128 5 + _ZTIg@CXXABI_FLOAT128 5 + _ZTSPKg@CXXABI_FLOAT128 5 + _ZTSPg@CXXABI_FLOAT128 5 + _ZTSg@CXXABI_FLOAT128 5 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.glibcxxmath +++ gcc-8-8.2.0/debian/libstdc++6.symbols.glibcxxmath @@ -0,0 +1,22 @@ + acosl@GLIBCXX_3.4.3 4.1.1 + asinl@GLIBCXX_3.4.3 4.1.1 + atan2l@GLIBCXX_3.4 4.1.1 + atanl@GLIBCXX_3.4.3 4.1.1 + ceill@GLIBCXX_3.4.3 4.1.1 + coshl@GLIBCXX_3.4 4.1.1 + cosl@GLIBCXX_3.4 4.1.1 + expl@GLIBCXX_3.4 4.1.1 + floorl@GLIBCXX_3.4.3 4.1.1 + fmodl@GLIBCXX_3.4.3 4.1.1 + frexpl@GLIBCXX_3.4.3 4.1.1 + hypotl@GLIBCXX_3.4 4.1.1 + ldexpl@GLIBCXX_3.4.3 4.1.1 + log10l@GLIBCXX_3.4 4.1.1 + logl@GLIBCXX_3.4 4.1.1 + modfl@GLIBCXX_3.4.3 4.1.1 + powl@GLIBCXX_3.4 4.1.1 + sinhl@GLIBCXX_3.4 4.1.1 + sinl@GLIBCXX_3.4 4.1.1 + sqrtl@GLIBCXX_3.4 4.1.1 + tanhl@GLIBCXX_3.4 4.1.1 + tanl@GLIBCXX_3.4 4.1.1 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.hppa +++ gcc-8-8.2.0/debian/libstdc++6.symbols.hppa @@ -0,0 +1,9 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.32bit" + __gxx_personality_v0@CXXABI_1.3 4.1.1 +#include "libstdc++6.symbols.excprop" +# removed, see PR libstdc++/39491 __signbitl@GLIBCXX_3.4 4.2.1 +#include "libstdc++6.symbols.glibcxxmath" +#include "libstdc++6.symbols.money.ldbl" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.hurd-i386 +++ gcc-8-8.2.0/debian/libstdc++6.symbols.hurd-i386 @@ -0,0 +1,6 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.32bit.hurd" +#include "libstdc++6.symbols.money.ldbl" + __gxx_personality_v0@CXXABI_1.3 4.1.1 + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.i386 +++ gcc-8-8.2.0/debian/libstdc++6.symbols.i386 @@ -0,0 +1,14 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.32bit" +#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 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.ia64 +++ gcc-8-8.2.0/debian/libstdc++6.symbols.ia64 @@ -0,0 +1,53 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.64bit" +#include "libstdc++6.symbols.excprop" + _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1 + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3 + _ZNSt14numeric_limitsInE10has_denormE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE10is_boundedE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE10is_integerE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE11round_styleE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE12has_infinityE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE12max_digits10E@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE12max_exponentE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE12min_exponentE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE13has_quiet_NaNE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE14is_specializedE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE14max_exponent10E@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE14min_exponent10E@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE15has_denorm_lossE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE15tinyness_beforeE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE17has_signaling_NaNE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE5radixE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE5trapsE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE6digitsE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE8digits10E@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE8is_exactE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE9is_iec559E@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE9is_moduloE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsInE9is_signedE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE10has_denormE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE10is_boundedE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE10is_integerE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE11round_styleE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE12has_infinityE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE12max_digits10E@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE12max_exponentE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE12min_exponentE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE13has_quiet_NaNE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE14is_specializedE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE14max_exponent10E@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE14min_exponent10E@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE15has_denorm_lossE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE15tinyness_beforeE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE17has_signaling_NaNE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE5radixE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE5trapsE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE6digitsE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE8digits10E@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE8is_exactE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE9is_iec559E@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE9is_moduloE@GLIBCXX_3.4.17 4.8 + _ZNSt14numeric_limitsIoE9is_signedE@GLIBCXX_3.4.17 4.8 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.kfreebsd-amd64 +++ gcc-8-8.2.0/debian/libstdc++6.symbols.kfreebsd-amd64 @@ -0,0 +1,9 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.64bit" +#include "libstdc++6.symbols.128bit" +#include "libstdc++6.symbols.excprop" +#include "libstdc++6.symbols.money.ldbl" + _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1 + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.kfreebsd-i386 +++ gcc-8-8.2.0/debian/libstdc++6.symbols.kfreebsd-i386 @@ -0,0 +1,7 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.32bit" +#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 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.ldbl.32bit +++ gcc-8-8.2.0/debian/libstdc++6.symbols.ldbl.32bit @@ -0,0 +1,284 @@ + CXXABI_LDBL_1.3@CXXABI_LDBL_1.3 4.2.1 + GLIBCXX_LDBL_3.4.10@GLIBCXX_LDBL_3.4.10 4.3.0~rc2 + GLIBCXX_LDBL_3.4.7@GLIBCXX_LDBL_3.4.7 4.2.1 + GLIBCXX_LDBL_3.4@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt3tr14hashIgEclEg@GLIBCXX_LDBL_3.4.10 4.3.0~rc2 + _ZNKSt4hashIgEclEg@GLIBCXX_LDBL_3.4.10 4.3.0~rc2 + _ZGVNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8__do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8__do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcjcRSt8ios_basePcSA_Ri@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcjcS7_PcS8_Ri@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES4_S4_RSt8ios_baseccT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIgEES4_S4_RSt8ios_baseccT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecPKv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecPKv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE8__do_putES4_RSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcjwRSt8ios_basePwSA_Ri@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcjwPKwPwSA_Ri@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES4_S4_RSt8ios_basewcT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIgEES4_S4_RSt8ios_basewcT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewPKv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewPKv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE8__do_putES4_RSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8__do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8__do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE8__do_putES4_bRSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES4_S4_RSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES4_S4_RSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE8__do_putES4_bRSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES4_S4_RSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES4_S4_RSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSi10_M_extractIgEERSiRT_@GLIBCXX_LDBL_3.4.7 4.2.1 + _ZNSirsERg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSo9_M_insertIgEERSoT_@GLIBCXX_LDBL_3.4.7 4.2.1 + _ZNSolsEg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIgEERS2_RT_@GLIBCXX_LDBL_3.4.7 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIgEERS2_T_@GLIBCXX_LDBL_3.4.7 4.2.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE10has_denormE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE10is_boundedE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE10is_integerE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE11round_styleE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE12has_infinityE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE12max_digits10E@GLIBCXX_LDBL_3.4 4.5.0 + _ZNSt14numeric_limitsIgE12max_exponentE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE12min_exponentE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE13has_quiet_NaNE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE14is_specializedE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE14max_exponent10E@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE14min_exponent10E@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE15has_denorm_lossE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE15tinyness_beforeE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE17has_signaling_NaNE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE5radixE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE5trapsE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE6digitsE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE8digits10E@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE8is_exactE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE9is_iec559E@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE9is_moduloE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE9is_signedE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt14__convert_to_vIgEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZStlsIgcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1 + _ZStlsIgwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1 + _ZStrsIgcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1 + _ZStrsIgwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTIPKg@CXXABI_LDBL_1.3 4.2.1 + _ZTIPg@CXXABI_LDBL_1.3 4.2.1 + _ZTIg@CXXABI_LDBL_1.3 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSPKg@CXXABI_LDBL_1.3 4.2.1 + _ZTSPg@CXXABI_LDBL_1.3 4.2.1 + _ZTSg@CXXABI_LDBL_1.3 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.ldbl.32bit.s390 +++ gcc-8-8.2.0/debian/libstdc++6.symbols.ldbl.32bit.s390 @@ -0,0 +1,284 @@ + CXXABI_LDBL_1.3@CXXABI_LDBL_1.3 4.2.1 + GLIBCXX_LDBL_3.4.10@GLIBCXX_LDBL_3.4.10 4.3.0~rc2 + GLIBCXX_LDBL_3.4.7@GLIBCXX_LDBL_3.4.7 4.2.1 + GLIBCXX_LDBL_3.4@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt3tr14hashIgEclEg@GLIBCXX_LDBL_3.4.10 4.3.0~rc2 + _ZNKSt4hashIgEclEg@GLIBCXX_LDBL_3.4.10 4.3.0~rc2 + _ZGVNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8__do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8__do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcmcRSt8ios_basePcSA_Ri@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcmcS7_PcS8_Ri@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES4_S4_RSt8ios_baseccT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIgEES4_S4_RSt8ios_baseccT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecPKv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecPKv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE8__do_putES4_RSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcmwRSt8ios_basePwSA_Ri@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcmwPKwPwSA_Ri@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES4_S4_RSt8ios_basewcT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIgEES4_S4_RSt8ios_basewcT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewPKv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewPKv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE8__do_putES4_RSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8__do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8__do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE8__do_putES4_bRSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES4_S4_RSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES4_S4_RSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE8__do_putES4_bRSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES4_S4_RSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES4_S4_RSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSi10_M_extractIgEERSiRT_@GLIBCXX_LDBL_3.4.7 4.2.1 + _ZNSirsERg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSo9_M_insertIgEERSoT_@GLIBCXX_LDBL_3.4.7 4.2.1 + _ZNSolsEg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIgEERS2_RT_@GLIBCXX_LDBL_3.4.7 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIgEERS2_T_@GLIBCXX_LDBL_3.4.7 4.2.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE10has_denormE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE10is_boundedE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE10is_integerE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE11round_styleE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE12has_infinityE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE12max_digits10E@GLIBCXX_LDBL_3.4 4.5.0 + _ZNSt14numeric_limitsIgE12max_exponentE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE12min_exponentE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE13has_quiet_NaNE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE14is_specializedE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE14max_exponent10E@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE14min_exponent10E@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE15has_denorm_lossE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE15tinyness_beforeE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE17has_signaling_NaNE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE5radixE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE5trapsE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE6digitsE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE8digits10E@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE8is_exactE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE9is_iec559E@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE9is_moduloE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE9is_signedE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt14__convert_to_vIgEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZStlsIgcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1 + _ZStlsIgwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1 + _ZStrsIgcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1 + _ZStrsIgwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTIPKg@CXXABI_LDBL_1.3 4.2.1 + _ZTIPg@CXXABI_LDBL_1.3 4.2.1 + _ZTIg@CXXABI_LDBL_1.3 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSPKg@CXXABI_LDBL_1.3 4.2.1 + _ZTSPg@CXXABI_LDBL_1.3 4.2.1 + _ZTSg@CXXABI_LDBL_1.3 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.ldbl.64bit +++ gcc-8-8.2.0/debian/libstdc++6.symbols.ldbl.64bit @@ -0,0 +1,284 @@ + CXXABI_LDBL_1.3@CXXABI_LDBL_1.3 4.2.1 + GLIBCXX_LDBL_3.4.10@GLIBCXX_LDBL_3.4.10 4.3.0~rc2 + GLIBCXX_LDBL_3.4.7@GLIBCXX_LDBL_3.4.7 4.2.1 + GLIBCXX_LDBL_3.4@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt3tr14hashIgEclEg@GLIBCXX_LDBL_3.4.10 4.3.0~rc2 + _ZNKSt4hashIgEclEg@GLIBCXX_LDBL_3.4.10 4.3.0~rc2 + _ZGVNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZGVNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8__do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8__do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcmcRSt8ios_basePcSA_Ri@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES4_S4_RSt8ios_basecT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcmcS7_PcS8_Ri@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES4_S4_RSt8ios_baseccT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIgEES4_S4_RSt8ios_baseccT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecPKv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEclRSt8ios_basePcPKcRi@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecPKv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE8__do_putES4_RSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcmwRSt8ios_basePwSA_Ri@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES4_S4_RSt8ios_basewT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcmwPKwPwSA_Ri@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES4_S4_RSt8ios_basewcT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIgEES4_S4_RSt8ios_basewcT_@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewPKv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwlRSt8ios_basePwPKwRi@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewPKv@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewb@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewl@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewm@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewx@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewy@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE8__do_putES4_RSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8__do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8__do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE8__do_putES4_bRSt8ios_basecd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES4_S4_RSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES4_S4_RSt8ios_basecRKSs@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE8__do_putES4_bRSt8ios_basewd@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES4_S4_RSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES4_S4_RSt8ios_basewRKSbIwS3_SaIwEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSi10_M_extractIgEERSiRT_@GLIBCXX_LDBL_3.4.7 4.2.1 + _ZNSirsERg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSo9_M_insertIgEERSoT_@GLIBCXX_LDBL_3.4.7 4.2.1 + _ZNSolsEg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIgEERS2_RT_@GLIBCXX_LDBL_3.4.7 4.2.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEErsERg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIgEERS2_T_@GLIBCXX_LDBL_3.4.7 4.2.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEElsEg@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE10has_denormE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE10is_boundedE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE10is_integerE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE11round_styleE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE12has_infinityE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE12max_digits10E@GLIBCXX_LDBL_3.4 4.5.0 + _ZNSt14numeric_limitsIgE12max_exponentE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE12min_exponentE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE13has_quiet_NaNE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE14is_specializedE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE14max_exponent10E@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE14min_exponent10E@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE15has_denorm_lossE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE15tinyness_beforeE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE17has_signaling_NaNE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE5radixE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE5trapsE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE6digitsE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE8digits10E@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE8is_exactE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE9is_iec559E@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE9is_moduloE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt14numeric_limitsIgE9is_signedE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt14__convert_to_vIgEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@GLIBCXX_LDBL_3.4 4.2.1 + _ZStlsIgcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1 + _ZStlsIgwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1 + _ZStrsIgcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1 + _ZStrsIgwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTIPKg@CXXABI_LDBL_1.3 4.2.1 + _ZTIPg@CXXABI_LDBL_1.3 4.2.1 + _ZTIg@CXXABI_LDBL_1.3 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTSPKg@CXXABI_LDBL_1.3 4.2.1 + _ZTSPg@CXXABI_LDBL_1.3 4.2.1 + _ZTSg@CXXABI_LDBL_1.3 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@GLIBCXX_LDBL_3.4 4.2.1 + _ZTVNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@GLIBCXX_LDBL_3.4 4.2.1 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.m68k +++ gcc-8-8.2.0/debian/libstdc++6.symbols.m68k @@ -0,0 +1,6 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.32bit" +#include "libstdc++6.symbols.money.ldbl" + __gxx_personality_v0@CXXABI_1.3 4.1.1 + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.mips +++ gcc-8-8.2.0/debian/libstdc++6.symbols.mips @@ -0,0 +1,8 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.32bit" + __gxx_personality_v0@CXXABI_1.3 4.1.1 +#include "libstdc++6.symbols.excprop" +#include "libstdc++6.symbols.glibcxxmath" +#include "libstdc++6.symbols.money.ldbl" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.mips64 +++ gcc-8-8.2.0/debian/libstdc++6.symbols.mips64 @@ -0,0 +1,7 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.64bit" +#include "libstdc++6.symbols.128bit" +#include "libstdc++6.symbols.excprop" +#include "libstdc++6.symbols.money.ldbl" + _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.mips64el +++ gcc-8-8.2.0/debian/libstdc++6.symbols.mips64el @@ -0,0 +1,10 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.64bit" +#include "libstdc++6.symbols.128bit" +#include "libstdc++6.symbols.excprop" +#include "libstdc++6.symbols.glibcxxmath" +#include "libstdc++6.symbols.money.ldbl" + _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1 + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.9.0 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.9.0 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.mips64r6 +++ gcc-8-8.2.0/debian/libstdc++6.symbols.mips64r6 @@ -0,0 +1,7 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.64bit" +#include "libstdc++6.symbols.128bit" +#include "libstdc++6.symbols.excprop" +#include "libstdc++6.symbols.money.ldbl" + _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1 + _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.mips64r6el +++ gcc-8-8.2.0/debian/libstdc++6.symbols.mips64r6el @@ -0,0 +1,10 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.64bit" +#include "libstdc++6.symbols.128bit" +#include "libstdc++6.symbols.excprop" +#include "libstdc++6.symbols.glibcxxmath" +#include "libstdc++6.symbols.money.ldbl" + _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1 + _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1 + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.9 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.9 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.mipsel +++ gcc-8-8.2.0/debian/libstdc++6.symbols.mipsel @@ -0,0 +1,8 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.32bit" + __gxx_personality_v0@CXXABI_1.3 4.1.1 +#include "libstdc++6.symbols.excprop" +#include "libstdc++6.symbols.glibcxxmath" +#include "libstdc++6.symbols.money.ldbl" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.mipsr6 +++ gcc-8-8.2.0/debian/libstdc++6.symbols.mipsr6 @@ -0,0 +1,7 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.32bit" + __gxx_personality_v0@CXXABI_1.3 4.1 +#include "libstdc++6.symbols.excprop" +#include "libstdc++6.symbols.glibcxxmath" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.mipsr6el +++ gcc-8-8.2.0/debian/libstdc++6.symbols.mipsr6el @@ -0,0 +1,8 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.32bit" + __gxx_personality_v0@CXXABI_1.3 4.1 +#include "libstdc++6.symbols.excprop" +#include "libstdc++6.symbols.glibcxxmath" +#include "libstdc++6.symbols.money.ldbl" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.money.f128 +++ gcc-8-8.2.0/debian/libstdc++6.symbols.money.f128 @@ -0,0 +1,10 @@ + GLIBCXX_LDBL_3.4.21@GLIBCXX_LDBL_3.4.21 5 +# cxx11 symbols only + (optional=abi_c++11)_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecg@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecg@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewg@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewg@GLIBCXX_3.4.21 5.2 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.money.ldbl +++ gcc-8-8.2.0/debian/libstdc++6.symbols.money.ldbl @@ -0,0 +1,9 @@ +# cxx11 symbols only + (optional=abi_c++11)_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRe@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basece@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basece@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewe@GLIBCXX_3.4.21 5.2 + (optional=abi_c++11)_ZNKSt7__cxx119money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewe@GLIBCXX_3.4.21 5.2 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.not-armel +++ gcc-8-8.2.0/debian/libstdc++6.symbols.not-armel @@ -0,0 +1,24 @@ + _ZNSt13__future_base11_State_baseD0Ev@GLIBCXX_3.4.15 4.6 + _ZNSt13__future_base11_State_baseD1Ev@GLIBCXX_3.4.15 4.6 + _ZNSt13__future_base11_State_baseD2Ev@GLIBCXX_3.4.15 4.6 + _ZNSt13__future_base12_Result_baseC1Ev@GLIBCXX_3.4.15 4.6 + _ZNSt13__future_base12_Result_baseC2Ev@GLIBCXX_3.4.15 4.6 + _ZNSt13__future_base12_Result_baseD0Ev@GLIBCXX_3.4.15 4.6 + _ZNSt13__future_base12_Result_baseD1Ev@GLIBCXX_3.4.15 4.6 + _ZNSt13__future_base12_Result_baseD2Ev@GLIBCXX_3.4.15 4.6 + _ZNSt13__future_base13_State_baseV211_Make_ready6_M_setEv@GLIBCXX_3.4.21 5 + _ZNSt13__future_base19_Async_state_commonD0Ev@GLIBCXX_3.4.17 4.7.0~rc1 + _ZNSt13__future_base19_Async_state_commonD1Ev@GLIBCXX_3.4.17 4.7.0~rc1 + _ZNSt13__future_base19_Async_state_commonD2Ev@GLIBCXX_3.4.17 4.7.0~rc1 + _ZNSt16nested_exceptionD0Ev@CXXABI_1.3.5 4.6 + _ZNSt16nested_exceptionD1Ev@CXXABI_1.3.5 4.6 + _ZNSt16nested_exceptionD2Ev@CXXABI_1.3.5 4.6 + _ZTINSt13__future_base11_State_baseE@GLIBCXX_3.4.15 4.6 + _ZTINSt13__future_base12_Result_baseE@GLIBCXX_3.4.15 4.6 + _ZTINSt13__future_base19_Async_state_commonE@GLIBCXX_3.4.17 4.7.0~rc1 + _ZTISt16nested_exception@CXXABI_1.3.5 4.6 + _ZTSNSt13__future_base19_Async_state_commonE@GLIBCXX_3.4.17 4.7.0~rc1 + _ZTVNSt13__future_base11_State_baseE@GLIBCXX_3.4.15 4.6 + _ZTVNSt13__future_base12_Result_baseE@GLIBCXX_3.4.15 4.6 + _ZTVNSt13__future_base19_Async_state_commonE@GLIBCXX_3.4.17 4.7.0~rc1 + _ZTVSt16nested_exception@CXXABI_1.3.5 4.6 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.powerpc +++ gcc-8-8.2.0/debian/libstdc++6.symbols.powerpc @@ -0,0 +1,9 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.32bit" +#include "libstdc++6.symbols.excprop" + __gxx_personality_v0@CXXABI_1.3 4.1.1 +#include "libstdc++6.symbols.glibcxxmath" +#include "libstdc++6.symbols.ldbl.32bit" +#include "libstdc++6.symbols.money.f128" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.powerpcspe +++ gcc-8-8.2.0/debian/libstdc++6.symbols.powerpcspe @@ -0,0 +1,8 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.32bit" +#include "libstdc++6.symbols.excprop" + __gxx_personality_v0@CXXABI_1.3 4.1.1 +#include "libstdc++6.symbols.glibcxxmath" +#include "libstdc++6.symbols.ldbl.32bit" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.ppc64 +++ gcc-8-8.2.0/debian/libstdc++6.symbols.ppc64 @@ -0,0 +1,11 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.64bit" +#include "libstdc++6.symbols.128bit" +#include "libstdc++6.symbols.excprop" + _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1 +#include "libstdc++6.symbols.glibcxxmath" +#include "libstdc++6.symbols.ldbl.64bit" +#include "libstdc++6.symbols.money.f128" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.ppc64el +++ gcc-8-8.2.0/debian/libstdc++6.symbols.ppc64el @@ -0,0 +1,11 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.64bit" +#include "libstdc++6.symbols.128bit" +#include "libstdc++6.symbols.excprop" + _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1 +#include "libstdc++6.symbols.glibcxxmath" +#include "libstdc++6.symbols.ldbl.64bit" +#include "libstdc++6.symbols.money.f128" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.s390 +++ gcc-8-8.2.0/debian/libstdc++6.symbols.s390 @@ -0,0 +1,558 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.common" +#include "libstdc++6.symbols.excprop" + _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEm@GLIBCXX_3.4.2 4.1.1 + _ZN9__gnu_cxx17__pool_alloc_base9_M_refillEm@GLIBCXX_3.4.2 4.1.1 + _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx6__poolILb0EE16_M_reclaim_blockEPcm@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEmm@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcm@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEmm@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx9free_list6_M_getEm@GLIBCXX_3.4.4 4.1.1 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4.10 4.3.0~rc2 + _ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4.10 4.3.0~rc2 + _ZNK10__cxxabiv117__class_type_info12__do_dyncastEiNS0_10__sub_kindEPKS0_PKvS3_S5_RNS0_16__dyncast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv117__class_type_info20__do_find_public_srcEiPKvPKS0_S2_@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv120__si_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv121__vmi_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE@CXXABI_1.3 4.1.1 + _ZNK10__cxxabiv121__vmi_class_type_info20__do_find_public_srcEiPKvPKNS_17__class_type_infoES2_@CXXABI_1.3 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE13find_first_ofEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE15_M_check_lengthEmmPKc@GLIBCXX_3.4.5 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE16find_last_not_ofEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE17find_first_not_ofEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE2atEm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4copyEPwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE4findEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEPKwmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindERKS2_m@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE5rfindEwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE6substrEmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKw@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE7compareEmmRKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE8_M_checkEmPKc@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEE8_M_limitEmm@GLIBCXX_3.4 4.1.1 + _ZNKSbIwSt11char_traitsIwESaIwEEixEm@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs12find_last_ofEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs13find_first_ofEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs15_M_check_lengthEmmPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs15_M_check_lengthEmmPKc@GLIBCXX_3.4.5 4.1.1 + _ZNKSs16find_last_not_ofEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs16find_last_not_ofEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs16find_last_not_ofERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs16find_last_not_ofEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs17find_first_not_ofEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs2atEm@GLIBCXX_3.4 4.1.1 + _ZNKSs4copyEPcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs4findEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs4findEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs4findERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs4findEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindEPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindEPKcmm@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindERKSsm@GLIBCXX_3.4 4.1.1 + _ZNKSs5rfindEcm@GLIBCXX_3.4 4.1.1 + _ZNKSs6substrEmm@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEmmPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEmmPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEmmRKSs@GLIBCXX_3.4 4.1.1 + _ZNKSs7compareEmmRKSsmm@GLIBCXX_3.4 4.1.1 + _ZNKSs8_M_checkEmPKc@GLIBCXX_3.4 4.1.1 + _ZNKSs8_M_limitEmm@GLIBCXX_3.4 4.1.1 + _ZNKSsixEm@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIcE6_M_putEPcmPKcPK2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt11__timepunctIwE6_M_putEPwmPKwPK2tm@GLIBCXX_3.4 4.1.1 + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3 + _ZNKSt7codecvtIcc11__mbstate_tE9do_lengthERS0_PKcS4_m@GLIBCXX_3.4 4.1.1 + _ZNKSt7codecvtIwc11__mbstate_tE9do_lengthERS0_PKcS4_m@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIcE12_M_transformEPcPKcm@GLIBCXX_3.4 4.1.1 + _ZNKSt7collateIwE12_M_transformEPwPKwm@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcmcRSt8ios_basePcS9_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcmcS6_PcS7_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcmwRSt8ios_basePwS9_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcmwPKwPwS9_Ri@GLIBCXX_3.4 4.1.1 + _ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE15_M_extract_nameES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES3_S3_RiPPKcmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.14 4.5.0 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_numES3_S3_RiiimRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE15_M_extract_nameES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4 4.1.1 + _ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES3_S3_RiPPKwmRSt8ios_baseRSt12_Ios_Iostate@GLIBCXX_3.4.14 4.5.0 + _ZNKSt8valarrayImE4sizeEv@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE10_S_compareEmm@GLIBCXX_3.4.16 4.7 + _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructEmwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_auxEmmmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safeEmmPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE18_S_construct_aux_2EmwRKS1_@GLIBCXX_3.4.14 4.5.0 + _ZNSbIwSt11char_traitsIwESaIwEE2atEm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep8_M_cloneERKS1_m@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE4_Rep9_S_createEmmRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE5eraseEmm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendEPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendERKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6appendEmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignEPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignERKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6assignEmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEN9__gnu_cxx17__normal_iteratorIPwS2_EEmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEmPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEmRKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6insertEmmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6resizeEm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE6resizeEmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_copyEPwPKwm@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7_M_moveEPwPKwm@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_PKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEN9__gnu_cxx17__normal_iteratorIPwS2_EES6_mw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmPKwm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmRKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7replaceEmmmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE7reserveEm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE9_M_assignEPwmw@GLIBCXX_3.4.5 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEE9_M_mutateEmmm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1EPKwmRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1ERKS2_mmRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC1EmwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2EPKwmRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mm@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2ERKS2_mmRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEC2EmwRKS1_@GLIBCXX_3.4 4.1.1 + _ZNSbIwSt11char_traitsIwESaIwEEixEm@GLIBCXX_3.4 4.1.1 + _ZNSi3getEPci@GLIBCXX_3.4 4.1.1 + _ZNSi3getEPcic@GLIBCXX_3.4 4.1.1 + _ZNSi4readEPci@GLIBCXX_3.4 4.1.1 + _ZNSi5seekgExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSi6ignoreEi@GLIBCXX_3.4 4.1.1 + _ZNSi6ignoreEi@GLIBCXX_3.4.5 4.1.1 + _ZNSi6ignoreEii@GLIBCXX_3.4 4.1.1 + _ZNSi7getlineEPci@GLIBCXX_3.4 4.1.1 + _ZNSi7getlineEPcic@GLIBCXX_3.4 4.1.1 + _ZNSi8readsomeEPci@GLIBCXX_3.4 4.1.1 + _ZNSo5seekpExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSo5writeEPKci@GLIBCXX_3.4 4.1.1 + _ZNSo8_M_writeEPKci@GLIBCXX_3.4 4.1.1 + _ZNSs10_S_compareEmm@GLIBCXX_3.4.16 4.7 + _ZNSs12_S_constructEmcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSs14_M_replace_auxEmmmc@GLIBCXX_3.4 4.1.1 + _ZNSs15_M_replace_safeEmmPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs18_S_construct_aux_2EmcRKSaIcE@GLIBCXX_3.4.14 4.5.0 + _ZNSs2atEm@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep26_M_set_length_and_sharableEm@GLIBCXX_3.4.5 4.1.1 + _ZNSs4_Rep8_M_cloneERKSaIcEm@GLIBCXX_3.4 4.1.1 + _ZNSs4_Rep9_S_createEmmRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSs5eraseEmm@GLIBCXX_3.4 4.1.1 + _ZNSs6appendEPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs6appendERKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSs6appendEmc@GLIBCXX_3.4 4.1.1 + _ZNSs6assignEPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs6assignERKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSs6assignEmc@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEN9__gnu_cxx17__normal_iteratorIPcSsEEmc@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEmPKc@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEmPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEmRKSs@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEmRKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSs6insertEmmc@GLIBCXX_3.4 4.1.1 + _ZNSs6resizeEm@GLIBCXX_3.4 4.1.1 + _ZNSs6resizeEmc@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_copyEPcPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_copyEPcPKcm@GLIBCXX_3.4.5 4.1.1 + _ZNSs7_M_moveEPcPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs7_M_moveEPcPKcm@GLIBCXX_3.4.5 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_PKcm@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEN9__gnu_cxx17__normal_iteratorIPcSsEES2_mc@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEmmPKc@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEmmPKcm@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEmmRKSs@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEmmRKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSs7replaceEmmmc@GLIBCXX_3.4 4.1.1 + _ZNSs7reserveEm@GLIBCXX_3.4 4.1.1 + _ZNSs9_M_assignEPcmc@GLIBCXX_3.4 4.1.1 + _ZNSs9_M_assignEPcmc@GLIBCXX_3.4.5 4.1.1 + _ZNSs9_M_mutateEmmm@GLIBCXX_3.4 4.1.1 + _ZNSsC1EPKcmRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC1ERKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSsC1ERKSsmmRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC1EmcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2EPKcmRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2ERKSsmm@GLIBCXX_3.4 4.1.1 + _ZNSsC2ERKSsmmRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsC2EmcRKSaIcE@GLIBCXX_3.4 4.1.1 + _ZNSsixEm@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC1EPKci@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC1EPci@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC2EPKci@GLIBCXX_3.4 4.1.1 + _ZNSt10istrstreamC2EPci@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC1EPSt18__moneypunct_cacheIcLb0EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC2EPSt18__moneypunct_cacheIcLb0EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb0EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC1EPSt18__moneypunct_cacheIcLb1EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC2EPSt18__moneypunct_cacheIcLb1EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIcLb1EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC1EPSt18__moneypunct_cacheIwLb0EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC2EPSt18__moneypunct_cacheIwLb0EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb0EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC1EPSt18__moneypunct_cacheIwLb1EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC2EPSt18__moneypunct_cacheIwLb1EEm@GLIBCXX_3.4 4.1.1 + _ZNSt10moneypunctIwLb1EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC1EPSt17__timepunct_cacheIcEm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC2EPSt17__timepunct_cacheIcEm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC1EPSt17__timepunct_cacheIwEm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC2EPSt17__timepunct_cacheIwEm@GLIBCXX_3.4 4.1.1 + _ZNSt11__timepunctIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt11this_thread11__sleep_forENSt6chrono8durationIxSt5ratioILx1ELx1EEEENS1_IxS2_ILx1ELx1000000000EEEE@GLIBCXX_3.4.18 4.8 + _ZNSt12__basic_fileIcE6xsgetnEPci@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE6xsputnEPKci@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE7seekoffExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcE8xsputn_2EPKciS2_i@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt12ctype_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf6setbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf8_M_allocEm@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambuf8_M_setupEPcS0_i@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPFPvmEPFvS0_E@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPKai@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPKci@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPKhi@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPaiS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPciS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1EPhiS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC1Ei@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPFPvmEPFvS0_E@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPKai@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPKci@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPKhi@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPaiS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPciS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2EPhiS0_@GLIBCXX_3.4 4.1.1 + _ZNSt12strstreambufC2Ei@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE13_M_set_bufferEi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE22_M_convert_to_externalEPci@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE6setbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE13_M_set_bufferEi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE22_M_convert_to_externalEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE7_M_seekExSt12_Ios_Seekdir11__mbstate_t@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE4readEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE5seekgExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEi@GLIBCXX_3.4.5 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE6ignoreEij@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE7getlineEPwiw@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_istreamIwSt11char_traitsIwEE8readsomeEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE5seekpExSt12_Ios_Seekdir@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE5writeEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIcc11__mbstate_tEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIcc11__mbstate_tEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIwc11__mbstate_tEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14codecvt_bynameIwc11__mbstate_tEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt14collate_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_gbumpEi@GLIBCXX_3.4.16 4.7 + _ZNSt15basic_streambufIcSt11char_traitsIcEE12__safe_pbumpEi@GLIBCXX_3.4.16 4.7 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5sgetnEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE5sputnEPKci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE10pubseekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_gbumpEi@GLIBCXX_3.4.16 4.7 + _ZNSt15basic_streambufIwSt11char_traitsIwEE12__safe_pbumpEi@GLIBCXX_3.4.16 4.7 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5sgetnEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE5sputnEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_streambufIwSt11char_traitsIwEE9pubsetbufEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE6setbufEPci@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8_M_pbumpEPcS4_x@GLIBCXX_3.4.16 4.7 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE6setbufEPwi@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7_M_syncEPwmm@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@GLIBCXX_3.4 4.1.1 + _ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8_M_pbumpEPwS4_x@GLIBCXX_3.4.16 4.7 + _ZNSt15messages_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15messages_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIcEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIcEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIwEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15numpunct_bynameIwEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt16__numpunct_cacheIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt17__timepunct_cacheIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb0EEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb0EEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb1EEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIcLb1EEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb0EEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb0EEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb1EEC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt17moneypunct_bynameIwLb1EEC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb0EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb0EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb1EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIcLb1EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb0EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb0EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb1EEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt18__moneypunct_cacheIwLb1EEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC1EP15__locale_structPKtbm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC1EPKtbm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC2EP15__locale_structPKtbm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIcEC2EPKtbm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt5ctypeIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@GLIBCXX_3.4 4.1.1 + _ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetEm@GLIBCXX_3.4.7 4.1.1 + _ZNSt6locale5_ImplC1EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC1ERKS0_m@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC2EPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC2ERKS0_m@GLIBCXX_3.4 4.1.1 + _ZNSt6locale5_ImplC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIcc11__mbstate_tEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7codecvtIwc11__mbstate_tEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt7collateIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC1EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC2EP15__locale_structPKcm@GLIBCXX_3.4 4.1.1 + _ZNSt8messagesIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC1EPSt16__numpunct_cacheIcEm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC2EPSt16__numpunct_cacheIcEm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIcEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC1EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC1EPSt16__numpunct_cacheIwEm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC2EP15__locale_structm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC2EPSt16__numpunct_cacheIwEm@GLIBCXX_3.4 4.1.1 + _ZNSt8numpunctIwEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImEC1ERKS0_@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImEC2ERKS0_@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImED1Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImED2Ev@GLIBCXX_3.4 4.1.1 + _ZNSt8valarrayImEixEm@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@GLIBCXX_3.4 4.1.1 + _ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@GLIBCXX_3.4 4.1.1 + _ZSt11_Hash_bytesPKvmm@CXXABI_1.3.5 4.6 + _ZSt15_Fnv_hash_bytesPKvmm@CXXABI_1.3.5 4.6 + _ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_i@GLIBCXX_3.4.9 4.2.1 + _ZSt16__ostream_insertIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_i@GLIBCXX_3.4.9 4.2.1 + _ZSt17__copy_streambufsIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_@GLIBCXX_3.4.6 4.1.1 + _ZSt17__copy_streambufsIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_@GLIBCXX_3.4.6 4.1.1 + _ZSt17__verify_groupingPKcmRKSs@GLIBCXX_3.4.10 4.3 + _ZSt21__copy_streambufs_eofIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_Rb@GLIBCXX_3.4.9 4.2.1 + _ZSt21__copy_streambufs_eofIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_Rb@GLIBCXX_3.4.9 4.2.1 + _ZThn8_NSdD0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSdD1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZThn8_NSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSdD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSdD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSiD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSiD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSoD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSoD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt10istrstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt10istrstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt10ostrstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt10ostrstreamD1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_fstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_fstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_istreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt13basic_ostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ifstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ifstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_iostreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ofstreamIcSt11char_traitsIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt14basic_ofstreamIwSt11char_traitsIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt18basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt18basic_stringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_istringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt19basic_ostringstreamIwSt11char_traitsIwESaIwEED1Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt9strstreamD0Ev@GLIBCXX_3.4 4.1.1 + _ZTv0_n12_NSt9strstreamD1Ev@GLIBCXX_3.4 4.1.1 + _Znam@GLIBCXX_3.4 4.1.1 + _ZnamRKSt9nothrow_t@GLIBCXX_3.4 4.1.1 + _Znwm@GLIBCXX_3.4 4.1.1 + _ZnwmRKSt9nothrow_t@GLIBCXX_3.4 4.1.1 + __gxx_personality_v0@CXXABI_1.3 4.1.1 +#include "libstdc++6.symbols.glibcxxmath" +#include "libstdc++6.symbols.ldbl.32bit.s390" + _ZNSt12__basic_fileIcEC1EP15pthread_mutex_t@GLIBCXX_3.4 4.1.1 + _ZNSt12__basic_fileIcEC2EP15pthread_mutex_t@GLIBCXX_3.4 4.1.1 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.s390x +++ gcc-8-8.2.0/debian/libstdc++6.symbols.s390x @@ -0,0 +1,13 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.64bit" +#include "libstdc++6.symbols.128bit" +#include "libstdc++6.symbols.excprop" + _ZN9__gnu_cxx12__atomic_addEPVii@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx18__exchange_and_addEPVii@GLIBCXX_3.4 4.1.1 +#DEPRECATED: 4.2.2-4# ldexpf@GLIBCXX_3.4.3 4.1.1 +#DEPRECATED: 4.2.2-4# powf@GLIBCXX_3.4 4.1.1 +#include "libstdc++6.symbols.glibcxxmath" +#include "libstdc++6.symbols.ldbl.64bit" +#include "libstdc++6.symbols.money.f128" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.sh4 +++ gcc-8-8.2.0/debian/libstdc++6.symbols.sh4 @@ -0,0 +1,8 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.32bit" + __gxx_personality_v0@CXXABI_1.3 4.1.1 +#include "libstdc++6.symbols.excprop" +#include "libstdc++6.symbols.glibcxxmath" +#include "libstdc++6.symbols.money.ldbl" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.sparc +++ gcc-8-8.2.0/debian/libstdc++6.symbols.sparc @@ -0,0 +1,9 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.32bit" +#include "libstdc++6.symbols.excprop" + __gxx_personality_v0@CXXABI_1.3 4.1.1 +#include "libstdc++6.symbols.glibcxxmath" +#include "libstdc++6.symbols.ldbl.32bit" +#include "libstdc++6.symbols.money.f128" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3.0~rc2 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.sparc64 +++ gcc-8-8.2.0/debian/libstdc++6.symbols.sparc64 @@ -0,0 +1,11 @@ +libstdc++.so.6 libstdc++6 #MINVER# +#include "libstdc++6.symbols.64bit" +#include "libstdc++6.symbols.excprop" +#include "libstdc++6.symbols.128bit" +#include "libstdc++6.symbols.money.ldbl" + _ZN9__gnu_cxx12__atomic_addEPVli@GLIBCXX_3.4 4.1.1 + _ZN9__gnu_cxx18__exchange_and_addEPVli@GLIBCXX_3.4 4.1.1 +# FIXME: Currently no ldbl symbols in the 64bit libstdc++ on sparc. +# #include "libstdc++6.symbols.ldbl.64bit" + _ZNKSt3tr14hashIeEclEe@GLIBCXX_3.4.10 4.3 + _ZNKSt4hashIeEclEe@GLIBCXX_3.4.10 4.3 --- gcc-8-8.2.0.orig/debian/libstdc++6.symbols.x32 +++ gcc-8-8.2.0/debian/libstdc++6.symbols.x32 @@ -0,0 +1,27 @@ +libstdc++.so.6 libstdc++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-8-8.2.0.orig/debian/libstdc++CXX.postinst +++ gcc-8-8.2.0/debian/libstdc++CXX.postinst @@ -0,0 +1,18 @@ +#! /bin/sh -e + +case "$1" in + configure) + docdir=/usr/share/doc/libstdc++@CXX@ + if [ -d $docdir ] && [ ! -h $docdir ]; then + rm -rf $docdir + ln -s gcc-@BV@-base $docdir + fi + + if [ -n "$2" ] && [ -d /usr/share/gcc-4.9 ] && dpkg --compare-versions "$2" lt 5.1.1-10; then + find /usr/share/gcc-4.9/python -name __pycache__ -type d -print0 | xargs -r0 rm -rf + find /usr/share/gcc-4.9/python -name '*.py[co]' -type f -print0 | xargs -r0 rm -f + find /usr/share/gcc-4.9 -empty -delete 2>/dev/null || true + fi +esac + +#DEBHELPER# --- gcc-8-8.2.0.orig/debian/libstdc++CXX.prerm +++ gcc-8-8.2.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-8-8.2.0.orig/debian/libtsan0.symbols +++ gcc-8-8.2.0/debian/libtsan0.symbols @@ -0,0 +1,1886 @@ +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 + OnPrint@Base 8 + 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 + _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_uncompress_zdebug@Base 8 + __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___strndup@Base 8 + __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_getloadavg@Base 8 + __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_getutent@Base 8 + __interceptor_getutid@Base 8 + __interceptor_getutline@Base 8 + __interceptor_getutxent@Base 8 + __interceptor_getutxid@Base 8 + __interceptor_getutxline@Base 8 + __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_mcheck@Base 8 + __interceptor_mcheck_pedantic@Base 8 + __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_mprobe@Base 8 + __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_pause@Base 8 + __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_strndup@Base 8 + __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_strtok@Base 8 + __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_wcscat@Base 8 + __interceptor_wcslen@Base 8 + __interceptor_wcsncat@Base 8 + __interceptor_wcsnlen@Base 8 + __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 + __sancov_default_options@Base 8 + __sancov_lowest_stack@Base 8 +#MISSING: 8# __sanitizer_cov@Base 4.9 + __sanitizer_cov_8bit_counters_init@Base 8 + __sanitizer_cov_dump@Base 4.9 +#MISSING: 8# __sanitizer_cov_indir_call16@Base 5 +#MISSING: 8# __sanitizer_cov_init@Base 5 +#MISSING: 8# __sanitizer_cov_module_init@Base 5 + __sanitizer_cov_pcs_init@Base 8 + __sanitizer_cov_reset@Base 8 +#MISSING: 8# __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_const_cmp1@Base 8 + __sanitizer_cov_trace_const_cmp2@Base 8 + __sanitizer_cov_trace_const_cmp4@Base 8 + __sanitizer_cov_trace_const_cmp8@Base 8 + __sanitizer_cov_trace_div4@Base 7 + __sanitizer_cov_trace_div8@Base 7 +#MISSING: 8# __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 +#MISSING: 8# __sanitizer_cov_with_check@Base 6 + __sanitizer_dump_coverage@Base 8 + __sanitizer_dump_trace_pc_guard_coverage@Base 8 + __sanitizer_free_hook@Base 5 + __sanitizer_get_allocated_size@Base 5 +#MISSING: 8# __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_module_and_offset_for_pc@Base 8 +#MISSING: 8# __sanitizer_get_number_of_counters@Base 6 + __sanitizer_get_ownership@Base 5 +#MISSING: 8# __sanitizer_get_total_unique_caller_callee_pairs@Base 6 +#MISSING: 8# __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 +#MISSING: 8# __sanitizer_maybe_open_cov_file@Base 5 + __sanitizer_print_stack_trace@Base 5 + __sanitizer_report_error_summary@Base 4.9 +#MISSING: 8# __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 +#MISSING: 8# __sanitizer_update_counter_bitset_and_clear_counters@Base 6 + __sanitizer_weak_hook_memcmp@Base 8 + __sanitizer_weak_hook_memmem@Base 8 + __sanitizer_weak_hook_strcasecmp@Base 8 + __sanitizer_weak_hook_strcasestr@Base 8 + __sanitizer_weak_hook_strcmp@Base 8 + __sanitizer_weak_hook_strncasecmp@Base 8 + __sanitizer_weak_hook_strncmp@Base 8 + __sanitizer_weak_hook_strstr@Base 8 + __sigsetjmp@Base 4.9 + __strndup@Base 8 + __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_external_assign_tag@Base 8 + __tsan_external_read@Base 8 + __tsan_external_register_header@Base 8 + __tsan_external_register_tag@Base 8 + __tsan_external_write@Base 8 + __tsan_flush_memory@Base 8 + __tsan_func_entry@Base 4.9 + __tsan_func_exit@Base 4.9 + __tsan_get_alloc_stack@Base 8 + __tsan_get_current_report@Base 7 + __tsan_get_report_data@Base 7 + __tsan_get_report_loc@Base 7 + __tsan_get_report_loc_object_type@Base 8 + __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_ignore_thread_begin@Base 8 + __tsan_ignore_thread_end@Base 8 + __tsan_init@Base 4.9 + __tsan_java_acquire@Base 6 + __tsan_java_alloc@Base 4.9 + __tsan_java_finalize@Base 5 + __tsan_java_find@Base 8 + __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_locate_address@Base 8 + __tsan_mutex_create@Base 8 + __tsan_mutex_destroy@Base 8 + __tsan_mutex_post_divert@Base 8 + __tsan_mutex_post_lock@Base 8 + __tsan_mutex_post_signal@Base 8 + __tsan_mutex_post_unlock@Base 8 + __tsan_mutex_pre_divert@Base 8 + __tsan_mutex_pre_lock@Base 8 + __tsan_mutex_pre_signal@Base 8 + __tsan_mutex_pre_unlock@Base 8 + __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_testonly_shadow_stack_current_size@Base 8 + __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 + getloadavg@Base 8 + 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 + getutent@Base 8 + getutid@Base 8 + getutline@Base 8 + getutxent@Base 8 + getutxid@Base 8 + getutxline@Base 8 + 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 + (arch=base-any-any-amd64 any-mips any-mipsel)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 + mcheck@Base 8 + mcheck_pedantic@Base 8 + 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 + mprobe@Base 8 + 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 + pause@Base 8 + 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 8 + 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 + strndup@Base 8 + 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 + strtok@Base 8 + 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 + wcscat@Base 8 + wcslen@Base 8 + wcsncat@Base 8 + wcsnlen@Base 8 + 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-8-8.2.0.orig/debian/libubsan1.symbols +++ gcc-8-8.2.0/debian/libubsan1.symbols @@ -0,0 +1,122 @@ +libubsan.so.1 libubsan1 #MINVER# + OnPrint@Base 8 + _ZN11__sanitizer11CheckFailedEPKciS1_yy@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_uncompress_zdebug@Base 8 + __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 + __sancov_default_options@Base 8 + __sancov_lowest_stack@Base 8 + __sanitizer_cov_8bit_counters_init@Base 8 + __sanitizer_cov_dump@Base 4.9 + __sanitizer_cov_pcs_init@Base 8 + __sanitizer_cov_reset@Base 8 + __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_const_cmp1@Base 8 + __sanitizer_cov_trace_const_cmp2@Base 8 + __sanitizer_cov_trace_const_cmp4@Base 8 + __sanitizer_cov_trace_const_cmp8@Base 8 + __sanitizer_cov_trace_div4@Base 7 + __sanitizer_cov_trace_div8@Base 7 + __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_dump_coverage@Base 8 + __sanitizer_dump_trace_pc_guard_coverage@Base 8 + __sanitizer_get_module_and_offset_for_pc@Base 8 + __sanitizer_install_malloc_and_free_hooks@Base 7 + __sanitizer_report_error_summary@Base 4.9 + __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 + __ubsan_default_options@Base 8 + __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_type@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_invalid_builtin@Base 8 + __ubsan_handle_invalid_builtin_abort@Base 8 + __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_v1@Base 8 + __ubsan_handle_nonnull_return_v1_abort@Base 8 + __ubsan_handle_nullability_arg@Base 8 + __ubsan_handle_nullability_arg_abort@Base 8 + __ubsan_handle_nullability_return_v1@Base 8 + __ubsan_handle_nullability_return_v1_abort@Base 8 + __ubsan_handle_out_of_bounds@Base 4.9 + __ubsan_handle_out_of_bounds_abort@Base 4.9 + __ubsan_handle_pointer_overflow@Base 8 + __ubsan_handle_pointer_overflow_abort@Base 8 + __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_v1@Base 8 + __ubsan_handle_type_mismatch_v1_abort@Base 8 + __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-8-8.2.0.orig/debian/libvtv0.symbols +++ gcc-8-8.2.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-8-8.2.0.orig/debian/libx32asan5.overrides +++ gcc-8-8.2.0/debian/libx32asan5.overrides @@ -0,0 +1,2 @@ +# automake gets it wrong for the multilib build +libx32asan5 binary: binary-or-shlib-defines-rpath --- gcc-8-8.2.0.orig/debian/libx32asan5.symbols +++ gcc-8-8.2.0/debian/libx32asan5.symbols @@ -0,0 +1,4 @@ +libasan.so.5 libx32asan5 #MINVER# +#include "libasan.symbols.common" +#include "libasan.symbols.32" +#include "libasan.symbols.16" --- gcc-8-8.2.0.orig/debian/libx32gphobos68.lintian-overrides +++ gcc-8-8.2.0/debian/libx32gphobos68.lintian-overrides @@ -0,0 +1,2 @@ +# no multilib zlib for x32 +libx32gphobos68 binary: embedded-library --- gcc-8-8.2.0.orig/debian/libx32stdc++6.symbols +++ gcc-8-8.2.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-8-8.2.0.orig/debian/locale-gen +++ gcc-8-8.2.0/debian/locale-gen @@ -0,0 +1,51 @@ +#!/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-8-8.2.0.orig/debian/patches/ada-749574.diff +++ gcc-8-8.2.0/debian/patches/ada-749574.diff @@ -0,0 +1,116 @@ +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 -gnatp, 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; + +Index: b/src/gcc/ada/gnatlink.adb +=================================================================== +--- a/src/gcc/ada/gnatlink.adb ++++ b/src/gcc/ada/gnatlink.adb +@@ -238,6 +238,9 @@ procedure Gnatlink is + procedure Write_Usage; + -- Show user the program options + ++ function Starts_With (Source, Pattern : String) return Boolean; ++ pragma Inline (Starts_With); ++ + --------------- + -- Base_Name -- + --------------- +@@ -494,7 +497,7 @@ procedure Gnatlink is + 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; +@@ -528,7 +531,7 @@ procedure Gnatlink is + end loop; + end; + +- elsif Arg'Length >= 6 and then Arg (1 .. 6) = "--GCC=" then ++ elsif Starts_With (Arg, "--GCC=") then + if Arg'Length = 6 then + Exit_With_Error ("Missing argument for --GCC="); + end if; +@@ -1253,13 +1256,9 @@ procedure Gnatlink is + 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: +@@ -1376,6 +1375,17 @@ procedure Gnatlink is + 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 -- + ----------- +@@ -1888,8 +1898,8 @@ begin + 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) := +@@ -1920,13 +1930,9 @@ begin + -- 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-8-8.2.0.orig/debian/patches/ada-arm.diff +++ gcc-8-8.2.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 +@@ -1595,7 +1595,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 = indepsw.adb +Author: Nicolas Boulenguez + +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 +@@ -1580,6 +1580,7 @@ endif + + # ARM linux, GNU eabi + ifeq ($(strip $(filter-out arm% linux-gnueabi%,$(target_cpu) $(target_os))),) ++ MISCLIB = -L../../../$(target_alias)/libatomic/.libs -latomic + LIBGNAT_TARGET_PAIRS = \ + a-intnam.ads $(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}" \ +@@ -51603,26 +52088,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}" \ +@@ -51630,26 +52115,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}" \ +@@ -51657,26 +52142,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}" \ +@@ -51684,25 +52169,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}" \ +@@ -51710,24 +52195,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}" \ +@@ -51735,24 +52220,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}" \ +@@ -51760,24 +52245,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}" \ +@@ -51785,24 +52270,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}" \ +@@ -51810,7 +52295,7 @@ maintainer-clean-target-libada: + maintainer-clean) \ + || exit 1 + +-@endif target-libada ++@endif target-libada-sjlj + + + +@@ -57288,6 +57773,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 +@@ -57324,6 +57811,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 +@@ -57821,8 +58310,13 @@ all-stagetrain-fixincludes: maybe-all-st + 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-target-libada: maybe-all-target-libatomic + all-lto-plugin: maybe-all-libiberty + + all-stage1-lto-plugin: maybe-all-stage1-libiberty +@@ -58580,6 +59074,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 +@@ -58629,6 +59125,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-8-8.2.0.orig/debian/patches/ada-drop-termio-h.diff +++ gcc-8-8.2.0/debian/patches/ada-drop-termio-h.diff @@ -0,0 +1,42 @@ +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 + +Index: b/src/gcc/ada/terminals.c +=================================================================== +--- a/src/gcc/ada/terminals.c ++++ b/src/gcc/ada/terminals.c +@@ -1107,14 +1107,6 @@ __gnat_setup_winsize (void *desc, int ro + #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__) && !defined (__QNXNTO__) +-# include +-#endif +- + #include + #include + #include +@@ -1130,7 +1122,6 @@ __gnat_setup_winsize (void *desc, int ro + # include + #endif + #if defined (__hpux__) +-# include + # include + #endif + --- gcc-8-8.2.0.orig/debian/patches/ada-gcc-name.diff +++ gcc-8-8.2.0/debian/patches/ada-gcc-name.diff @@ -0,0 +1,295 @@ +Description: always call gcc with an explicit target and version + Many problems have been caused by the fact that tools like gnatmake + call other tools like gcc without an explicit target or version. + . + In order to solve this issue for all similar tools at once, AdaCore + has created the Osint.Program_Name function. When gnatmake launches a + gcc subprocess, this function computes the name of the right gcc + executable. This patch improves the function in four ways. + . + The previous algorithm wrongly tests "End_Of_Prefix > 1", + which may happen even if a match has been found. + This part will most probably be of interest for upstream. + . + Update the gnatchop tool to use this function. + This part will most probably be of interest for upstream. + . + Check that the target and version in the gnatmake program name, if + present, match the static constants inside the gnatmake program + itself. Also, knowing the length of the only allowed prefix and suffix + slightly improves performance by avoiding loops. + This part will most probably be of interest for upstream. + . + In Debian, gcc/gcc-version/target-gcc are symbolic links to the + target-gcc-version executable. The same holds for gnatmake, but the + target and version may differ. So "target-gcc-version" is the right + answer. It helps log checkers and humans debuggers, even if gnatmake + was invoked via a shortcut intended for human typers. + This part will probably be hard to merge for upstream, as some + distributions provide no "target-gcc-version". + . + Log for bug 903694 carries regression tests for both bugs. +Forwarded: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87777 +Bug-Debian: https://bugs.debian.org/814977 +Bug-Debian: https://bugs.debian.org/814978 +Bug-Debian: https://bugs.debian.org/856274 +Bug-Debian: https://bugs.debian.org/881938 +Bug-Debian: https://bugs.debian.org/903694 +Author: Ludovic Brenta +Author: Nicolas Boulenguez +Author: Svante Signell +Author: YunQiang Su + +--- a/src/gcc/ada/osint.ads ++++ b/src/gcc/ada/osint.ads +@@ -137,16 +137,10 @@ + -- path) in Name_Buffer, with the length in Name_Len. + + function Program_Name (Nam : String; Prog : String) return String_Access; +- -- In the native compilation case, Create a string containing Nam. In the +- -- cross compilation case, looks at the prefix of the current program being +- -- run and prepend it to Nam. For instance if the program being run is +- -- -gnatmake and Nam is "gcc", the returned value will be a pointer +- -- to "-gcc". In the specific case where AAMP_On_Target is set, the +- -- name "gcc" is mapped to "gnaamp", and names of the form "gnat*" are +- -- mapped to "gnaamp*". This function clobbers Name_Buffer and Name_Len. +- -- Also look at any suffix, e.g. gnatmake-4.1 -> "gcc-4.1". Prog is the +- -- default name of the current program being executed, e.g. "gnatmake", +- -- "gnatlink". ++ -- On Debian, always create a string containing ++ -- Sdefault.Target_Name & '-' & Nam & '-' & Gnatvsn.Library_Version. ++ -- Fail if the program base name differs from Prog, ++ -- maybe extended with the same prefix or suffix. + + procedure Write_Program_Name; + -- Writes name of program as invoked to the current output (normally +--- a/src/gcc/ada/osint.adb ++++ b/src/gcc/ada/osint.adb +@@ -2205,51 +2205,51 @@ + ------------------ + + function Program_Name (Nam : String; Prog : String) return String_Access is +- End_Of_Prefix : Natural := 0; +- Start_Of_Prefix : Positive := 1; +- Start_Of_Suffix : Positive; +- ++ -- Most of the work is to check that the current program name ++ -- is consistent with the two static constants below. ++ Suffix : constant String := '-' & Gnatvsn.Library_Version; ++ Prefix : Types.String_Ptr := Sdefault.Target_Name; ++ First : Integer; ++ Result : System.OS_Lib.String_Access; + begin + -- Get the name of the current program being executed +- + Find_Program_Name; + +- Start_Of_Suffix := Name_Len + 1; ++ -- If our version is present, skip it. ++ First := Name_Len - Suffix'Length + 1; ++ if 0 < First and then Name_Buffer (First .. Name_Len) = Suffix then ++ Name_Len := First - 1; ++ end if; ++ ++ -- The central part must be Prog. ++ First := Name_Len - Prog'Length + 1; ++ if First <= 0 or else Name_Buffer (First .. Name_Len) /= Prog then ++ Fail ("Osint.Program_Name: must end with " & Prog ++ & " or " & Prog & Suffix); ++ end if; ++ Name_Len := First - 1; + +- -- Find the target prefix if any, for the cross compilation case. +- -- For instance in "powerpc-elf-gcc" the target prefix is +- -- "powerpc-elf-" +- -- Ditto for suffix, e.g. in "gcc-4.1", the suffix is "-4.1" +- +- for J in reverse 1 .. Name_Len loop +- if Name_Buffer (J) = '/' +- or else Name_Buffer (J) = Directory_Separator +- or else Name_Buffer (J) = ':' +- then +- Start_Of_Prefix := J + 1; +- exit; +- end if; +- end loop; +- +- -- Find End_Of_Prefix +- +- for J in Start_Of_Prefix .. Name_Len - Prog'Length + 1 loop +- if Name_Buffer (J .. J + Prog'Length - 1) = Prog then +- End_Of_Prefix := J - 1; +- exit; +- end if; +- end loop; ++ -- According to Make-generated.in, this ends with a slash. ++ Prefix.all (Prefix.all'Last) := '-'; + +- if End_Of_Prefix > 1 then +- Start_Of_Suffix := End_Of_Prefix + Prog'Length + 1; ++ -- If our target is present, skip it. ++ First := Name_Len - Prefix.all'Length + 1; ++ if 0 < First and then Name_Buffer (First .. Name_Len) = Prefix.all then ++ Name_Len := First - 1; + end if; + +- -- Create the new program name ++ -- What remains must be the directory part. ++ if 0 < Name_Len ++ and then Name_Buffer (Name_Len) /= ':' ++ and then not Is_Directory_Separator (Name_Buffer (Name_Len)) ++ then ++ Fail ("Osint.Program_Name: must start with " & Prog ++ & " or " & Prefix.all & Prog); ++ end if; + +- return new String' +- (Name_Buffer (Start_Of_Prefix .. End_Of_Prefix) +- & Nam +- & Name_Buffer (Start_Of_Suffix .. Name_Len)); ++ Result := new String'(Prefix.all & Nam & Suffix); ++ Types.Free (Prefix); ++ return Result; + end Program_Name; + + ------------------------------ +--- 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 Osint; + with Switch; use Switch; + with Types; + +@@ -44,12 +45,9 @@ + 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 := null; + -- May be modified by switch --GCC= + +- Gcc_Set : Boolean := False; +- -- True if a switch --GCC= is used +- + Gnat_Cmd : String_Access; + -- Command to execute the GNAT compiler + +@@ -222,12 +220,6 @@ + Integer'Image + (Maximum_File_Name_Length); + +- function Locate_Executable +- (Program_Name : String; +- Look_For_Prefix : Boolean := True) return String_Access; +- -- Locate executable for given program name. This takes into account +- -- the target-prefix of the current command, if Look_For_Prefix is True. +- + subtype EOL_Length is Natural range 0 .. 2; + -- Possible lengths of end of line sequence + +@@ -492,76 +484,6 @@ + Unit.Table (Sorted_Units.Table (U + 1)).File_Name.all; + end Is_Duplicated; + +- ----------------------- +- -- Locate_Executable -- +- ----------------------- +- +- function Locate_Executable +- (Program_Name : String; +- Look_For_Prefix : Boolean := True) return String_Access +- is +- Gnatchop_Str : constant String := "gnatchop"; +- Current_Command : constant String := Normalize_Pathname (Command_Name); +- End_Of_Prefix : Natural; +- Start_Of_Prefix : Positive; +- Start_Of_Suffix : Positive; +- Result : String_Access; +- +- begin +- Start_Of_Prefix := Current_Command'First; +- Start_Of_Suffix := Current_Command'Last + 1; +- End_Of_Prefix := Start_Of_Prefix - 1; +- +- if Look_For_Prefix then +- +- -- Find Start_Of_Prefix +- +- for J in reverse Current_Command'Range loop +- if Current_Command (J) = '/' or else +- Current_Command (J) = Directory_Separator or else +- Current_Command (J) = ':' +- then +- Start_Of_Prefix := J + 1; +- exit; +- end if; +- end loop; +- +- -- Find End_Of_Prefix +- +- for J in Start_Of_Prefix .. +- Current_Command'Last - Gnatchop_Str'Length + 1 +- loop +- if Current_Command (J .. J + Gnatchop_Str'Length - 1) = +- Gnatchop_Str +- then +- End_Of_Prefix := J - 1; +- exit; +- end if; +- end loop; +- end if; +- +- if End_Of_Prefix > Current_Command'First then +- Start_Of_Suffix := End_Of_Prefix + Gnatchop_Str'Length + 1; +- end if; +- +- declare +- Command : constant String := +- Current_Command (Start_Of_Prefix .. End_Of_Prefix) +- & Program_Name +- & Current_Command (Start_Of_Suffix .. +- Current_Command'Last); +- begin +- Result := Locate_Exec_On_Path (Command); +- +- if Result = null then +- Error_Msg +- (Command & ": installation problem, executable not found"); +- end if; +- end; +- +- return Result; +- end Locate_Executable; +- + --------------- + -- Parse_EOL -- + --------------- +@@ -1088,8 +1010,8 @@ + exit; + + when '-' => +- Gcc := new String'(Parameter); +- Gcc_Set := True; ++ Free (Gcc); ++ Gcc := new String'(Parameter); + + when 'c' => + Compilation_Mode := True; +@@ -1767,9 +1689,13 @@ + + -- Check presence of required executables + +- Gnat_Cmd := Locate_Executable (Gcc.all, not Gcc_Set); ++ if Gcc = null then ++ Gcc := Osint.Program_Name ("gcc", "gnatchop"); ++ end if; ++ Gnat_Cmd := Locate_Exec_On_Path (Gcc.all); + + if Gnat_Cmd = null then ++ Error_Msg (Gcc.all & ": installation problem, executable not found"); + goto No_Files_Written; + end if; + --- gcc-8-8.2.0.orig/debian/patches/ada-gnattools-cross.diff +++ gcc-8-8.2.0/debian/patches/ada-gnattools-cross.diff @@ -0,0 +1,270 @@ +* 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. + +--- a/src/gcc/ada/gcc-interface/Makefile.in ++++ b/src/gcc/ada/gcc-interface/Makefile.in +@@ -1286,6 +1286,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 = \ +@@ -2265,6 +2270,20 @@ gnatlink-re: ../stamp-tools gnatmake-re + --GCC="$(CC) $(ADA_INCLUDES)" --LINK="$(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="$(CC) $(ADA_INCLUDES)" --LINK="$(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 +@@ -2314,14 +2333,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); \ +@@ -2346,8 +2361,7 @@ install-gnatlib: ../stamp-gnatlib-$(RTSD + 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 +@@ -2411,7 +2425,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) \ +@@ -2445,36 +2459,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) +@@ -2485,6 +2514,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) \ +@@ -2493,21 +2524,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) \ +@@ -2517,17 +2542,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 +--- a/src/gnattools/Makefile.in ++++ b/src/gnattools/Makefile.in +@@ -76,15 +76,21 @@ CXX_LFLAGS = \ + -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 +196,10 @@ $(GCC_DIR)/stamp-tools: + # 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 +208,13 @@ gnattools-native: $(GCC_DIR)/stamp-tools + # 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-8-8.2.0.orig/debian/patches/ada-kfreebsd.diff +++ gcc-8-8.2.0/debian/patches/ada-kfreebsd.diff @@ -0,0 +1,106 @@ +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 + +Index: b/src/gcc/ada/libgnarl/s-osinte__kfreebsd-gnu.ads +=================================================================== +--- a/src/gcc/ada/libgnarl/s-osinte__kfreebsd-gnu.ads ++++ b/src/gcc/ada/libgnarl/s-osinte__kfreebsd-gnu.ads +@@ -45,6 +45,7 @@ package System.OS_Interface is + 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 @@ package System.OS_Interface is + 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 @@ package System.OS_Interface is + 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 @@ private + 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; +Index: b/src/gcc/ada/gsocket.h +=================================================================== +--- 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 +Index: b/src/gcc/ada/s-oscons-tmplt.c +=================================================================== +--- a/src/gcc/ada/s-oscons-tmplt.c ++++ b/src/gcc/ada/s-oscons-tmplt.c +@@ -1443,7 +1443,7 @@ CND(CLOCK_THREAD_CPUTIME_ID, "Thread CPU + + #if defined(__linux__) || defined(__FreeBSD__) \ + || (defined(_AIX) && defined(_AIXVERSION_530)) \ +- || defined(__DragonFly__) || defined(__QNX__) ++ || defined(__DragonFly__) || defined(__QNX__) || 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-8-8.2.0.orig/debian/patches/ada-lib-info-file-prefix-map.diff +++ gcc-8-8.2.0/debian/patches/ada-lib-info-file-prefix-map.diff @@ -0,0 +1,36 @@ +Description: remove -f*-prefix-map options from .ali files + The -f(file|debug|macro)-prefix-map=OLD=NEW options + added by revision 256847 + explicitly ask that OLD is never written. +Forwarded: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87972 +Author: Nicolas Boulenguez + +--- a/src/gcc/ada/lib-writ.adb ++++ b/src/gcc/ada/lib-writ.adb +@@ -1247,10 +1247,22 @@ + -- Write command argument ('A') lines + + for A in 1 .. Compilation_Switches.Last loop +- Write_Info_Initiate ('A'); +- Write_Info_Char (' '); +- Write_Info_Str (Compilation_Switches.Table (A).all); +- Write_Info_Terminate; ++ -- The -f(file|debug|macro)-prefix-map=OLD=NEW options ++ -- explicitly ask that OLD is never written. ++ declare ++ S : String renames Compilation_Switches.Table (A).all; ++ begin ++ if S'Length < 19 -- ++ or else (S (S'First .. S'First + 18) /= "-fdebug-prefix-map=" ++ and S (S'First .. S'First + 17) /= "-ffile-prefix-map=" ++ and S (S'First .. S'First + 18) /= "-fmacro-prefix-map=") ++ then ++ Write_Info_Initiate ('A'); ++ Write_Info_Char (' '); ++ Write_Info_Str (S); ++ Write_Info_Terminate; ++ end if; ++ end; + end loop; + + -- Output parameters ('P') line --- gcc-8-8.2.0.orig/debian/patches/ada-lib-info-source-date-epoch.diff +++ gcc-8-8.2.0/debian/patches/ada-lib-info-source-date-epoch.diff @@ -0,0 +1,156 @@ +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 + +Index: b/src/gcc/ada/ali-util.adb +=================================================================== +--- a/src/gcc/ada/ali-util.adb ++++ b/src/gcc/ada/ali-util.adb +@@ -484,8 +484,10 @@ package body ALI.Util is + for D in ALIs.Table (A).First_Sdep .. ALIs.Table (A).Last_Sdep loop + Src := Source_Id (Get_Name_Table_Int (Sdep.Table (D).Sfile)); + +- if Opt.Minimal_Recompilation +- and then Sdep.Table (D).Stamp /= Source.Table (Src).Stamp ++ if (Opt.Minimal_Recompilation ++ and then Sdep.Table (D).Stamp /= Source.Table (Src).Stamp) ++ or else (Sdep.Table (D).Stamp = Source_Date_Epoch ++ and then Source_Date_Epoch < Source.Table (Src).Stamp) + then + -- If minimal recompilation is in action, replace the stamp + -- of the source file in the table if checksums match. +Index: b/src/gcc/ada/lib-writ.adb +=================================================================== +--- a/src/gcc/ada/lib-writ.adb ++++ b/src/gcc/ada/lib-writ.adb +@@ -1552,7 +1552,14 @@ package body Lib.Writ is + + 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 ++ if Source_Date_Epoch < T then ++ T := Source_Date_Epoch; ++ end if; ++ Write_Info_Str (String (T)); ++ end; + Write_Info_Char (' '); + Write_Info_Str (Get_Hex_String (Source_Checksum (Sind))); + +Index: b/src/gcc/ada/osint.adb +=================================================================== +--- a/src/gcc/ada/osint.adb ++++ b/src/gcc/ada/osint.adb +@@ -1680,6 +1680,20 @@ package body Osint is + + Lib_Search_Directories.Set_Last (Primary_Directory); + Lib_Search_Directories.Table (Primary_Directory) := new String'(""); ++ ++ -- Look for Source_Date_Epoch in the environment. ++ declare ++ Env_Var : String_Access; ++ Get_OK : Boolean; ++ Epoch : OS_Time; ++ 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 ++ Source_Date_Epoch := OS_Time_To_GNAT_Time (Epoch); ++ end if; ++ end; + end Initialize; + + ------------------ +Index: b/src/gcc/ada/osint.ads +=================================================================== +--- a/src/gcc/ada/osint.ads ++++ b/src/gcc/ada/osint.ads +@@ -670,6 +670,17 @@ package Osint is + function Prep_Suffix return String; + -- The suffix used for preprocessed files + ++ Source_Date_Epoch : Time_Stamp_Type := Time_Stamp_Type'("99991231235959"); ++ -- * gnat1 truncates to this date time stamps written to ALI files, making ++ -- their contents deterministic even for patched or generated sources. ++ -- See https://reproducible-builds.org/specs/source-date-epoch. ++ -- * When gnatmake reads this date from an ALI file, and the source file is ++ -- more recent, it ignores the dates and only considers checksums as if ++ -- Minimal_Recompilation was selected. Else, the source would always ++ -- be detected as requiring a recompilation. ++ -- The default value has no effect, but Initialize will assign it if ++ -- SOURCE_DATE_EPOCH in the environment represents a valid epoch. ++ + private + + Current_Main : File_Name_Type := No_File; +Index: b/src/gcc/ada/libgnat/s-os_lib.adb +=================================================================== +--- a/src/gcc/ada/libgnat/s-os_lib.adb ++++ b/src/gcc/ada/libgnat/s-os_lib.adb +@@ -1153,6 +1153,41 @@ package body System.OS_Lib is + 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 -- + ---------------------------------- +Index: b/src/gcc/ada/libgnat/s-os_lib.ads +=================================================================== +--- a/src/gcc/ada/libgnat/s-os_lib.ads ++++ b/src/gcc/ada/libgnat/s-os_lib.ads +@@ -164,6 +164,13 @@ package System.OS_Lib is + -- 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-8-8.2.0.orig/debian/patches/ada-libgnatvsn.diff +++ gcc-8-8.2.0/debian/patches/ada-libgnatvsn.diff @@ -0,0 +1,341 @@ +# 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 + +Index: b/src/libgnatvsn/configure +=================================================================== +--- /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 +Index: b/src/libgnatvsn/gnatvsn.gpr.sed +=================================================================== +--- /dev/null ++++ b/src/libgnatvsn/gnatvsn.gpr.sed +@@ -0,0 +1,8 @@ ++library project Gnatvsn is ++ for Library_Name use "gnatvsn"; ++ for Library_Kind use "dynamic"; ++ for Library_Dir use "lib_inst_dir"; ++ for Source_Dirs use ("src_inst_dir"); ++ for Library_ALI_Dir use "ali_inst_dir"; ++ for Externally_Built use "true"; ++end Gnatvsn; +Index: b/src/libgnatvsn/Makefile.in +=================================================================== +--- /dev/null ++++ b/src/libgnatvsn/Makefile.in +@@ -0,0 +1,161 @@ ++# 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 := $(prefix)/share/ada/adainclude/gnatvsn ++gpr_inst_dir := $(prefix)/share/gpr ++ali_inst_dir := $(libdir)/ada/adalib/gnatvsn ++lib_inst_dir := $(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 xutil ++UNITS_SPEC := alloc hostparm rident ++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) gnatvsn.gpr ++ ++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/$@ ++ ++gnatvsn.gpr: $(srcdir)/gnatvsn.gpr.sed ++ sed '$(foreach v,src ali lib,s|$(v)_inst_dir|$($(v)_inst_dir)|;)' \ ++ $< > $@ ++ ++install: all ++ mkdir -p $(DESTDIR)$(gpr_inst_dir) ++ $(INSTALL_DATA) gnatvsn.gpr $(DESTDIR)$(gpr_inst_dir) ++ mkdir -p $(DESTDIR)$(lib_inst_dir) ++ $(INSTALL_DATA) libgnatvsn.a libgnatvsn.so.* $(DESTDIR)$(lib_inst_dir) ++ cd $(DESTDIR)$(lib_inst_dir) && ln -sf libgnatvsn.so.$(LIB_VERSION) libgnatvsn.so ++ mkdir -p $(DESTDIR)$(src_inst_dir) ++ $(INSTALL_DATA) *.adb *.ads *.c *.h $(DESTDIR)$(src_inst_dir) ++ mkdir -p $(DESTDIR)$(ali_inst_dir) ++ $(INSTALL) -m 0444 *.ali $(DESTDIR)$(ali_inst_dir) ++ ++clean: ++ rm -fr obj-static obj-shared ++ rm -f *.ali libgnatvsn* *.adb *.ads *.c *.h gnatvsn.gpr ++ rm -f Makefile config.log +Index: b/src/Makefile.def +=================================================================== +--- a/src/Makefile.def ++++ b/src/Makefile.def +@@ -185,6 +185,16 @@ target_modules = { module= libada; no_in + 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; }; +@@ -383,6 +393,8 @@ dependencies = { module=all-fixincludes; + 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. +Index: b/src/configure.ac +=================================================================== +--- a/src/configure.ac ++++ b/src/configure.ac +@@ -170,6 +170,7 @@ target_libraries="target-libgcc \ + target-libobjc \ + target-libada \ + ${target_libiberty} \ ++ target-libgnatvsn \ + target-libgo" + + # these tools are built using the target libraries, and are intended to +@@ -454,7 +455,7 @@ AC_ARG_ENABLE(libada, + 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, +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,7 +34,7 @@ gtfiles="\$(srcdir)/ada/gcc-interface/ad + + outputs="ada/gcc-interface/Makefile ada/Makefile" + +-target_libs="target-libada" ++target_libs="target-libada target-libgnatvsn" + lang_dirs="libada gnattools" + + # Ada is not enabled by default for the time being. +--- a/src/gcc/testsuite/ada/acats/run_acats.sh ++++ b/src/gcc/testsuite/ada/acats/run_acats.sh +@@ -32,6 +32,15 @@ + LD_LIBRARY_PATH=$ADA_INCLUDE_PATH:$BASE:$LD_LIBRARY_PATH + ADA_OBJECTS_PATH=$ADA_INCLUDE_PATH + ++target_gcc="$BASE/xgcc -B$BASE/" ++target=`$target_gcc -dumpmachine` ++vsn_lib_dir=$BASE/../$target/libgnatvsn ++LD_LIBRARY_PATH=$vsn_lib_dir:$LD_LIBRARY_PATH ++if [ ! -d $vsn_lib_dir ]; then ++ echo libgnatvsn not found in "$vsn_lib_dir", exiting. ++ exit 1 ++fi ++ + if [ ! -d $ADA_INCLUDE_PATH ]; then + echo gnatlib missing, exiting. + exit 1 +--- a/src/gcc/testsuite/lib/gnat.exp ++++ b/src/gcc/testsuite/lib/gnat.exp +@@ -128,8 +128,10 @@ + set gnat_target_current "[current_target_name]" + if [info exists TOOL_OPTIONS] { + set rtsdir "[get_multilibs ${TOOL_OPTIONS}]/libada" ++ set vsndir "[get_multilibs ${TOOL_OPTIONS}]/libgnatvsn" + } else { + set rtsdir "[get_multilibs]/libada" ++ set vsndir "[get_multilibs]/libgnatvsn" + } + if [info exists TOOL_EXECUTABLE] { + set GNAT_UNDER_TEST "$TOOL_EXECUTABLE" +@@ -140,13 +142,14 @@ + # 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" ++ setenv ADA_INCLUDE_PATH "$rtsdir/adainclude:$vsndir" ++ setenv ADA_OBJECTS_PATH "$rtsdir/adainclude:$vsndir" + # Always log so compilations can be repeated manually. +- verbose -log "ADA_INCLUDE_PATH=$rtsdir/adainclude" +- verbose -log "ADA_OBJECTS_PATH=$rtsdir/adainclude" ++ verbose -log "ADA_INCLUDE_PATH=$rtsdir/adainclude:$vsndir" ++ verbose -log "ADA_OBJECTS_PATH=$rtsdir/adainclude:$vsndir" + + if { ! [ string match "*/libada/adalib*" $ld_library_path ] } { + append ld_library_path ":$rtsdir/adalib" ++ append ld_library_path ":$vsndir" + set_ld_library_path_env_vars + } + } --- gcc-8-8.2.0.orig/debian/patches/ada-link-lib.diff +++ gcc-8-8.2.0/debian/patches/ada-link-lib.diff @@ -0,0 +1,195 @@ +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 + +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 +@@ -35,7 +35,7 @@ gtfiles="\$(srcdir)/ada/gcc-interface/ad + 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 +Index: b/src/gcc/ada/link.c +=================================================================== +--- a/src/gcc/ada/link.c ++++ b/src/gcc/ada/link.c +@@ -107,9 +107,9 @@ const char *__gnat_default_libgcc_subdir + || defined (__NetBSD__) || defined (__OpenBSD__) \ + || defined (__QNX__) + 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"; +@@ -129,9 +129,9 @@ const char *__gnat_default_libgcc_subdir + + #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"; +Index: b/src/libada/Makefile.in +=================================================================== +--- a/src/libada/Makefile.in ++++ b/src/libada/Makefile.in +@@ -78,10 +78,10 @@ ADA_RTS_SUBDIR=./rts$(subst /,_,$(MULTIS + # 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)" \ +Index: b/src/Makefile.def +=================================================================== +--- a/src/Makefile.def ++++ b/src/Makefile.def +@@ -122,7 +122,16 @@ host_modules= { module= libtermcap; no_c + 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@'; }; +@@ -166,7 +175,16 @@ target_modules = { module= libgloss; no_ + 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; }; +@@ -362,6 +380,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-gnattools; on=all-target-libada; }; + dependencies = { module=all-gnattools; on=all-target-libstdc++-v3; }; + +Index: b/src/configure.ac +=================================================================== +--- a/src/configure.ac ++++ b/src/configure.ac +@@ -142,6 +142,11 @@ host_libs="intl libiberty opcodes bfd re + # 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. +@@ -164,6 +169,7 @@ target_libraries="target-libgcc \ + target-libffi \ + target-libobjc \ + target-libada \ ++ ${target_libiberty} \ + target-libgo" + + # these tools are built using the target libraries, and are intended to +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 +@@ -45,7 +45,7 @@ RMDIR = rm -rf + + + # Extra flags to pass to recursive makes. +-COMMON_ADAFLAGS= -gnatpg ++COMMON_ADAFLAGS= -gnatpgn + ifeq ($(TREECHECKING),) + CHECKING_ADAFLAGS= + else +@@ -233,7 +233,7 @@ else + 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) +--- a/src/gcc/testsuite/lib/gnat.exp ++++ b/src/gcc/testsuite/lib/gnat.exp +@@ -115,6 +115,7 @@ + global TOOL_OPTIONS + global gnat_target_current + global TEST_ALWAYS_FLAGS ++ global ld_library_path + + # dg-require-effective-target tests must be compiled as C. + if [ string match "*.c" $source ] then { +@@ -140,6 +142,11 @@ + # Always log so compilations can be repeated manually. + verbose -log "ADA_INCLUDE_PATH=$rtsdir/adainclude" + verbose -log "ADA_OBJECTS_PATH=$rtsdir/adainclude" ++ ++ if { ! [ string match "*/libada/adalib*" $ld_library_path ] } { ++ append ld_library_path ":$rtsdir/adalib" ++ set_ld_library_path_env_vars ++ } + } + + lappend options "compiler=$GNAT_UNDER_TEST -q -f" --- gcc-8-8.2.0.orig/debian/patches/ada-nobiarch-check.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/ada-perl-shebang.diff +++ gcc-8-8.2.0/debian/patches/ada-perl-shebang.diff @@ -0,0 +1,10 @@ +# DP: Fix perl shebang for the gnathtml binary. + +--- a/src/gcc/ada/gnathtml.pl ++++ b/src/gcc/ada/gnathtml.pl +@@ -1,4 +1,4 @@ +-#! /usr/bin/env perl ++#! /usr/bin/perl + + #----------------------------------------------------------------------------- + #- -- --- gcc-8-8.2.0.orig/debian/patches/ada-sjlj.diff +++ gcc-8-8.2.0/debian/patches/ada-sjlj.diff @@ -0,0 +1,507 @@ +# 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,203 @@ ++# Makefile for libada. ++# Copyright (C) 2003-2017 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) $(CFLAGS_FOR_TARGET) \ ++ -fexceptions -DIN_RTS @have_getipinfo@ @have_capability@ ++ ++host_subdir = @host_subdir@ ++GCC_DIR=$(MULTIBUILDTOP)../../$(host_subdir)/gcc ++ ++target_noncanonical:=@target_noncanonical@ ++version := $(shell @get_gcc_base_ver@ $(srcdir)/../gcc/BASE-VER) ++libsubdir := $(libdir)/gcc/$(target_noncanonical)/$(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) -Wl,--as-needed -Wl,-z,defs" \ ++ "LN_S=$(LN_S)" \ ++ "SHELL=$(SHELL)" \ ++ "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS) -gnatn" \ ++ "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 $(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/multi.m4 \ ++ $(srcdir)/../config/override.m4 \ ++ $(srcdir)/../config/picflag.m4 \ ++ $(srcdir)/../config/unwind_ipinfo.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,156 @@ ++# Configure script for libada. ++# Copyright (C) 2003-2017 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 to build for 'gnatlib' ++if test ${enable_shared} = yes; then ++ 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 ++if test x$have_unwind_getipinfo = xyes; then ++ have_getipinfo=-DHAVE_GETIPINFO ++else ++ have_getipinfo= ++fi ++AC_SUBST([have_getipinfo]) ++ ++# Check for ++AC_CHECK_HEADER([sys/capability.h], have_capability=-DHAVE_CAPABILITY, have_capability=) ++AC_SUBST([have_capability]) ++ ++# Determine what GCC version number to use in filesystem paths. ++GCC_BASE_VER ++ ++# Output: create a Makefile. ++AC_CONFIG_FILES([Makefile]) ++ ++AC_OUTPUT +Index: b/src/Makefile.def +=================================================================== +--- a/src/Makefile.def ++++ b/src/Makefile.def +@@ -195,6 +195,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; }; +@@ -391,6 +392,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 +@@ -169,6 +169,7 @@ target_libraries="target-libgcc \ + target-libffi \ + target-libobjc \ + target-libada \ ++ target-libada-sjlj \ + ${target_libiberty} \ + target-libgnatvsn \ + target-libgo" +@@ -455,7 +456,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 +@@ -190,7 +190,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 +@@ -2349,6 +2349,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) +@@ -2630,7 +2650,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="-gcc" RTSDIR="$(RTSDIR)" \ + THREAD_KIND="$(THREAD_KIND)" ../stamp-gnatlib1-$(RTSDIR) + sed \ + -e 's/Frontend_Exceptions.*/Frontend_Exceptions : constant Boolean := True;/' \ +@@ -2639,6 +2659,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)" \ +@@ -2690,6 +2711,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 gnattools" ++target_libs="target-libada target-libgnatvsn target-libada-sjlj" ++lang_dirs="libada 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 +@@ -844,6 +844,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-8-8.2.0.orig/debian/patches/ada-tools-move-ldflags.diff +++ gcc-8-8.2.0/debian/patches/ada-tools-move-ldflags.diff @@ -0,0 +1,42 @@ +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 + +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 +@@ -247,7 +247,7 @@ LIBS = $(LIBINTL) $(LIBICONV) $(LIBBACKT + 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) + +@@ -2150,7 +2150,7 @@ TOOLS_FLAGS_TO_PASS= \ + "GNATLINK=$(GNATLINK)" \ + "GNATBIND=$(GNATBIND)" + +-GCC_LINK=$(CXX) $(GCC_LINK_FLAGS) $(LDFLAGS) ++GCC_LINK=$(CXX) $(GCC_LINK_FLAGS) + + # Build directory for the tools. Let's copy the target-dependent + # sources using the same mechanism as for gnatlib. The other sources are +@@ -2250,7 +2250,7 @@ common-tools: ../stamp-tools + $(GNATMAKE) -c $(ADA_INCLUDES) vxaddr2line --GCC="$(CC) $(ALL_ADAFLAGS)" + $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) vxaddr2line + $(GNATLINK) -v vxaddr2line -o $@ \ +- --GCC="$(CC) $(ADA_INCLUDES)" --LINK="$(GCC_LINK)" ../targext.o $(CLIB) ++ --GCC="$(CC) $(ADA_INCLUDES)" --LINK="$(GCC_LINK)" ../targext.o $(CLIB) $(LDFLAGS) + + gnatmake-re: ../stamp-tools + $(GNATMAKE) -j0 $(ADA_INCLUDES) -u sdefault --GCC="$(CC) $(MOST_ADA_FLAGS)" --- gcc-8-8.2.0.orig/debian/patches/ada-verbose.diff +++ gcc-8-8.2.0/debian/patches/ada-verbose.diff @@ -0,0 +1,65 @@ +Description: Display subprocess command lines when building Ada. + The log can be a page longer if it helps debugging. +Forwarded: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87778 +Author: Nicolas Boulenguez + +Index: b/src/gcc/ada/Make-generated.in +=================================================================== +--- a/src/gcc/ada/Make-generated.in ++++ b/src/gcc/ada/Make-generated.in +@@ -28,21 +28,21 @@ $(ADA_GEN_SUBDIR)/treeprs.ads : $(ADA_GE + -$(MKDIR) $(ADA_GEN_SUBDIR)/bldtools/treeprs + $(RM) $(addprefix $(ADA_GEN_SUBDIR)/bldtools/treeprs/,$(notdir $^)) + $(CP) $^ $(ADA_GEN_SUBDIR)/bldtools/treeprs +- (cd $(ADA_GEN_SUBDIR)/bldtools/treeprs; gnatmake -q xtreeprs ; ./xtreeprs treeprs.ads ) ++ cd $(ADA_GEN_SUBDIR)/bldtools/treeprs && gnatmake -v xtreeprs && ./xtreeprs treeprs.ads + $(MOVE_IF_CHANGE) $(ADA_GEN_SUBDIR)/bldtools/treeprs/treeprs.ads $(ADA_GEN_SUBDIR)/treeprs.ads + + $(ADA_GEN_SUBDIR)/einfo.h : $(ADA_GEN_SUBDIR)/einfo.ads $(ADA_GEN_SUBDIR)/einfo.adb $(ADA_GEN_SUBDIR)/xeinfo.adb $(ADA_GEN_SUBDIR)/ceinfo.adb + -$(MKDIR) $(ADA_GEN_SUBDIR)/bldtools/einfo + $(RM) $(addprefix $(ADA_GEN_SUBDIR)/bldtools/einfo/,$(notdir $^)) + $(CP) $^ $(ADA_GEN_SUBDIR)/bldtools/einfo +- (cd $(ADA_GEN_SUBDIR)/bldtools/einfo; gnatmake -q xeinfo ; ./xeinfo einfo.h ) ++ cd $(ADA_GEN_SUBDIR)/bldtools/einfo && gnatmake -v xeinfo && ./xeinfo einfo.h + $(MOVE_IF_CHANGE) $(ADA_GEN_SUBDIR)/bldtools/einfo/einfo.h $(ADA_GEN_SUBDIR)/einfo.h + + $(ADA_GEN_SUBDIR)/sinfo.h : $(ADA_GEN_SUBDIR)/sinfo.ads $(ADA_GEN_SUBDIR)/sinfo.adb $(ADA_GEN_SUBDIR)/xsinfo.adb $(ADA_GEN_SUBDIR)/csinfo.adb + -$(MKDIR) $(ADA_GEN_SUBDIR)/bldtools/sinfo + $(RM) $(addprefix $(ADA_GEN_SUBDIR)/bldtools/sinfo/,$(notdir $^)) + $(CP) $^ $(ADA_GEN_SUBDIR)/bldtools/sinfo +- (cd $(ADA_GEN_SUBDIR)/bldtools/sinfo; gnatmake -q xsinfo ; ./xsinfo sinfo.h ) ++ cd $(ADA_GEN_SUBDIR)/bldtools/sinfo && gnatmake -v xsinfo && ./xsinfo sinfo.h + $(MOVE_IF_CHANGE) $(ADA_GEN_SUBDIR)/bldtools/sinfo/sinfo.h $(ADA_GEN_SUBDIR)/sinfo.h + + $(ADA_GEN_SUBDIR)/snames.h $(ADA_GEN_SUBDIR)/snames.ads $(ADA_GEN_SUBDIR)/snames.adb : $(ADA_GEN_SUBDIR)/stamp-snames ; @true +@@ -50,7 +50,7 @@ $(ADA_GEN_SUBDIR)/stamp-snames : $(ADA_G + -$(MKDIR) $(ADA_GEN_SUBDIR)/bldtools/snamest + $(RM) $(addprefix $(ADA_GEN_SUBDIR)/bldtools/snamest/,$(notdir $^)) + $(CP) $^ $(ADA_GEN_SUBDIR)/bldtools/snamest +- (cd $(ADA_GEN_SUBDIR)/bldtools/snamest; gnatmake -q xsnamest ; ./xsnamest ) ++ cd $(ADA_GEN_SUBDIR)/bldtools/snamest && gnatmake -v xsnamest && ./xsnamest + $(MOVE_IF_CHANGE) $(ADA_GEN_SUBDIR)/bldtools/snamest/snames.ns $(ADA_GEN_SUBDIR)/snames.ads + $(MOVE_IF_CHANGE) $(ADA_GEN_SUBDIR)/bldtools/snamest/snames.nb $(ADA_GEN_SUBDIR)/snames.adb + $(MOVE_IF_CHANGE) $(ADA_GEN_SUBDIR)/bldtools/snamest/snames.nh $(ADA_GEN_SUBDIR)/snames.h +@@ -61,7 +61,7 @@ $(ADA_GEN_SUBDIR)/stamp-nmake: $(ADA_GEN + -$(MKDIR) $(ADA_GEN_SUBDIR)/bldtools/nmake + $(RM) $(addprefix $(ADA_GEN_SUBDIR)/bldtools/nmake/,$(notdir $^)) + $(CP) $^ $(ADA_GEN_SUBDIR)/bldtools/nmake +- (cd $(ADA_GEN_SUBDIR)/bldtools/nmake; gnatmake -q xnmake ; ./xnmake -b nmake.adb ; ./xnmake -s nmake.ads) ++ cd $(ADA_GEN_SUBDIR)/bldtools/nmake && gnatmake -v xnmake && ./xnmake -b nmake.adb && ./xnmake -s nmake.ads + $(MOVE_IF_CHANGE) $(ADA_GEN_SUBDIR)/bldtools/nmake/nmake.ads $(ADA_GEN_SUBDIR)/nmake.ads + $(MOVE_IF_CHANGE) $(ADA_GEN_SUBDIR)/bldtools/nmake/nmake.adb $(ADA_GEN_SUBDIR)/nmake.adb + touch $(ADA_GEN_SUBDIR)/stamp-nmake +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 +@@ -2402,7 +2402,7 @@ OSCONS_EXTRACT=$(OSCONS_CC) $(GNATLIBCFL + -$(MKDIR) ./bldtools/oscons + $(RM) $(addprefix ./bldtools/oscons/,$(notdir $^)) + $(CP) $^ ./bldtools/oscons +- (cd ./bldtools/oscons ; gnatmake -q xoscons) ++ cd ./bldtools/oscons && gnatmake -v xoscons + + $(RTSDIR)/s-oscons.ads: ../stamp-gnatlib1-$(RTSDIR) s-oscons-tmplt.c gsocket.h ./bldtools/oscons/xoscons + $(RM) $(RTSDIR)/s-oscons-tmplt.i $(RTSDIR)/s-oscons-tmplt.s --- gcc-8-8.2.0.orig/debian/patches/add-gnu-to-libgo-headers.diff +++ gcc-8-8.2.0/debian/patches/add-gnu-to-libgo-headers.diff @@ -0,0 +1,1211 @@ +Index: b/src/libgo/go/cmd/go/internal/base/signal_unix.go +=================================================================== +--- a/src/libgo/go/cmd/go/internal/base/signal_unix.go ++++ b/src/libgo/go/cmd/go/internal/base/signal_unix.go +@@ -1,8 +1,9 @@ ++ + // Copyright 2012 The Go Authors. All rights reserved. + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris + + package base + +Index: b/src/libgo/go/crypto/x509/root_unix.go +=================================================================== +--- a/src/libgo/go/crypto/x509/root_unix.go ++++ b/src/libgo/go/crypto/x509/root_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix dragonfly freebsd linux nacl netbsd openbsd solaris ++// +build aix dragonfly freebsd gnu linux nacl netbsd openbsd solaris + + package x509 + +Index: b/src/libgo/go/net/interface_stub.go +=================================================================== +--- a/src/libgo/go/net/interface_stub.go ++++ b/src/libgo/go/net/interface_stub.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix nacl ++// +build aix nacl gnu + + package net + +Index: b/src/libgo/go/net/internal/socktest/switch_unix.go +=================================================================== +--- a/src/libgo/go/net/internal/socktest/switch_unix.go ++++ b/src/libgo/go/net/internal/socktest/switch_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris + + package socktest + +Index: b/src/libgo/go/net/port_unix.go +=================================================================== +--- a/src/libgo/go/net/port_unix.go ++++ b/src/libgo/go/net/port_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris nacl ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris nacl + + // Read system port mappings from /etc/services + +Index: b/src/libgo/go/os/dir_largefile.go +=================================================================== +--- a/src/libgo/go/os/dir_largefile.go ++++ b/src/libgo/go/os/dir_largefile.go +@@ -5,7 +5,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix linux solaris,386 solaris,sparc ++// +build aix gnu linux solaris,386 solaris,sparc + + package os + +Index: b/src/libgo/go/os/dir_regfile.go +=================================================================== +--- a/src/libgo/go/os/dir_regfile.go ++++ b/src/libgo/go/os/dir_regfile.go +@@ -6,6 +6,7 @@ + // license that can be found in the LICENSE file. + + // +build !aix ++// +build !gnu + // +build !linux + // +build !solaris !386 + // +build !solaris !sparc +Index: b/src/libgo/go/os/dir_unix.go +=================================================================== +--- a/src/libgo/go/os/dir_unix.go ++++ b/src/libgo/go/os/dir_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris + + package os + +Index: b/src/libgo/go/os/exec_unix.go +=================================================================== +--- a/src/libgo/go/os/exec_unix.go ++++ b/src/libgo/go/os/exec_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris + + package os + +Index: b/src/libgo/go/os/stat_atim.go +=================================================================== +--- a/src/libgo/go/os/stat_atim.go ++++ b/src/libgo/go/os/stat_atim.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build linux openbsd solaristag ++// +build gnu linux openbsd solaristag + + package os + +Index: b/src/libgo/go/os/stat_unix.go +=================================================================== +--- a/src/libgo/go/os/stat_unix.go ++++ b/src/libgo/go/os/stat_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris + + package os + +Index: b/src/libgo/go/os/sys_uname.go +=================================================================== +--- a/src/libgo/go/os/sys_uname.go ++++ b/src/libgo/go/os/sys_uname.go +@@ -4,7 +4,7 @@ + + // For systems which only store the hostname in uname (Solaris). + +-// +build aix solaris irix rtems ++// +build aix gnu solaris irix rtems + + package os + +Index: b/src/libgo/go/os/user/listgroups_unix.go +=================================================================== +--- a/src/libgo/go/os/user/listgroups_unix.go ++++ b/src/libgo/go/os/user/listgroups_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build dragonfly darwin freebsd !android,linux netbsd openbsd ++// +build dragonfly darwin freebsd gnu !android,linux netbsd openbsd + + package user + +Index: b/src/libgo/go/os/wait_unimp.go +=================================================================== +--- a/src/libgo/go/os/wait_unimp.go ++++ b/src/libgo/go/os/wait_unimp.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly nacl netbsd openbsd solaris ++// +build aix darwin dragonfly gnu nacl netbsd openbsd solaris + + package os + +Index: b/src/libgo/go/path/filepath/path_unix.go +=================================================================== +--- a/src/libgo/go/path/filepath/path_unix.go ++++ b/src/libgo/go/path/filepath/path_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris + + package filepath + +Index: b/src/libgo/go/runtime/env_posix.go +=================================================================== +--- a/src/libgo/go/runtime/env_posix.go ++++ b/src/libgo/go/runtime/env_posix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows + + package runtime + +Index: b/src/libgo/go/runtime/lock_sema.go +=================================================================== +--- a/src/libgo/go/runtime/lock_sema.go ++++ b/src/libgo/go/runtime/lock_sema.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin nacl netbsd openbsd plan9 solaris windows ++// +build aix darwin gnu nacl netbsd openbsd plan9 solaris windows + + package runtime + +Index: b/src/libgo/go/runtime/netpoll.go +=================================================================== +--- a/src/libgo/go/runtime/netpoll.go ++++ b/src/libgo/go/runtime/netpoll.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows + + package runtime + +Index: b/src/libgo/go/runtime/signal_gccgo.go +=================================================================== +--- a/src/libgo/go/runtime/signal_gccgo.go ++++ b/src/libgo/go/runtime/signal_gccgo.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + package runtime + +Index: b/src/libgo/go/runtime/signal_sighandler.go +=================================================================== +--- a/src/libgo/go/runtime/signal_sighandler.go ++++ b/src/libgo/go/runtime/signal_sighandler.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris + + package runtime + +Index: b/src/libgo/go/syscall/errstr.go +=================================================================== +--- a/src/libgo/go/syscall/errstr.go ++++ b/src/libgo/go/syscall/errstr.go +@@ -4,6 +4,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + ++// +build !gnu + // +build !linux + + package syscall +Index: b/src/libgo/go/syscall/libcall_posix.go +=================================================================== +--- a/src/libgo/go/syscall/libcall_posix.go ++++ b/src/libgo/go/syscall/libcall_posix.go +@@ -9,6 +9,8 @@ + // Note that sometimes we use a lowercase //sys name and + // wrap it in our own nicer implementation. + ++// +build !gnu ++ + package syscall + + import "unsafe" +Index: b/src/libgo/go/syscall/libcall_posix_largefile.go +=================================================================== +--- a/src/libgo/go/syscall/libcall_posix_largefile.go ++++ b/src/libgo/go/syscall/libcall_posix_largefile.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix linux solaris,386 solaris,sparc ++// +build aix gnu linux solaris,386 solaris,sparc + + // POSIX library calls on systems which use the largefile interface. + +Index: b/src/libgo/go/syscall/libcall_posix_regfile.go +=================================================================== +--- a/src/libgo/go/syscall/libcall_posix_regfile.go ++++ b/src/libgo/go/syscall/libcall_posix_regfile.go +@@ -3,6 +3,7 @@ + // license that can be found in the LICENSE file. + + // +build !aix ++// +build !gnu + // +build !linux + // +build !solaris !386 + // +build !solaris !sparc +Index: b/src/libgo/go/syscall/libcall_posix_utimesnano.go +=================================================================== +--- a/src/libgo/go/syscall/libcall_posix_utimesnano.go ++++ b/src/libgo/go/syscall/libcall_posix_utimesnano.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd openbsd netbsd solaris ++// +build aix darwin dragonfly freebsd gnu openbsd netbsd solaris + + // General POSIX version of UtimesNano. + +Index: b/src/libgo/go/net/cgo_resnew.go +=================================================================== +--- a/src/libgo/go/net/cgo_resnew.go ++++ b/src/libgo/go/net/cgo_resnew.go +@@ -3,7 +3,7 @@ + // license that can be found in the LICENSE file. + + // +build cgo,!netgo +-// +build aix darwin linux,!android netbsd solaris ++// +build aix darwin gnu linux,!android netbsd solaris + + package net + +Index: b/src/libgo/go/net/cgo_sockold.go +=================================================================== +--- a/src/libgo/go/net/cgo_sockold.go ++++ b/src/libgo/go/net/cgo_sockold.go +@@ -3,7 +3,7 @@ + // license that can be found in the LICENSE file. + + // +build cgo,!netgo +-// +build aix darwin dragonfly freebsd netbsd openbsd ++// +build aix darwin dragonfly freebsd gnu netbsd openbsd + + package net + +Index: b/src/libgo/go/internal/poll/fd_poll_runtime.go +=================================================================== +--- a/src/libgo/go/internal/poll/fd_poll_runtime.go ++++ b/src/libgo/go/internal/poll/fd_poll_runtime.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd windows solaris ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd windows solaris + + package poll + +Index: b/src/libgo/go/internal/poll/hook_cloexec.go +=================================================================== +--- a/src/libgo/go/internal/poll/hook_cloexec.go ++++ b/src/libgo/go/internal/poll/hook_cloexec.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build dragonfly freebsd linux ++// +build dragonfly freebsd gnu linux + + package poll + +Index: b/src/libgo/go/internal/poll/fd_posix.go +=================================================================== +--- a/src/libgo/go/internal/poll/fd_posix.go ++++ b/src/libgo/go/internal/poll/fd_posix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows + + package poll + +Index: b/src/libgo/go/net/sock_cloexec.go +=================================================================== +--- a/src/libgo/go/net/sock_cloexec.go ++++ b/src/libgo/go/net/sock_cloexec.go +@@ -5,7 +5,7 @@ + // This file implements sysSocket and accept for platforms that + // provide a fast path for setting SetNonblock and CloseOnExec. + +-// +build dragonfly freebsd linux ++// +build dragonfly freebsd gnu linux + + package net + +Index: b/src/libgo/go/syscall/exec_unix.go +=================================================================== +--- a/src/libgo/go/syscall/exec_unix.go ++++ b/src/libgo/go/syscall/exec_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + // Fork, exec, wait, etc. + +Index: b/src/libgo/go/os/exec/lp_unix.go +=================================================================== +--- a/src/libgo/go/os/exec/lp_unix.go ++++ b/src/libgo/go/os/exec/lp_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris + + package exec + +Index: b/src/libgo/go/os/signal/signal_unix.go +=================================================================== +--- a/src/libgo/go/os/signal/signal_unix.go ++++ b/src/libgo/go/os/signal/signal_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows + + package signal + +Index: b/src/libgo/go/os/error_unix.go +=================================================================== +--- a/src/libgo/go/os/error_unix.go ++++ b/src/libgo/go/os/error_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris + + package os + +Index: b/src/libgo/go/os/file_posix.go +=================================================================== +--- a/src/libgo/go/os/file_posix.go ++++ b/src/libgo/go/os/file_posix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows + + package os + +Index: b/src/libgo/go/os/path_unix.go +=================================================================== +--- a/src/libgo/go/os/path_unix.go ++++ b/src/libgo/go/os/path_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris + + package os + +Index: b/src/libgo/go/os/sys_unix.go +=================================================================== +--- a/src/libgo/go/os/sys_unix.go ++++ b/src/libgo/go/os/sys_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix dragonfly linux netbsd openbsd solaris ++// +build aix dragonfly gnu linux netbsd openbsd solaris + + package os + +Index: b/src/libgo/go/os/user/decls_unix.go +=================================================================== +--- a/src/libgo/go/os/user/decls_unix.go ++++ b/src/libgo/go/os/user/decls_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build darwin dragonfly freebsd linux netbsd openbsd ++// +build darwin dragonfly freebsd gnu linux netbsd openbsd + // +build cgo + + package user +Index: b/src/libgo/go/os/user/lookup_unix.go +=================================================================== +--- a/src/libgo/go/os/user/lookup_unix.go ++++ b/src/libgo/go/os/user/lookup_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build darwin dragonfly freebsd !android,linux nacl netbsd openbsd solaris ++// +build darwin dragonfly freebsd gnu !android,linux nacl netbsd openbsd solaris + // +build !cgo + + package user +Index: b/src/libgo/go/syscall/env_unix.go +=================================================================== +--- a/src/libgo/go/syscall/env_unix.go ++++ b/src/libgo/go/syscall/env_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris + + // Unix environment variables. + +Index: b/src/libgo/go/syscall/exec_bsd.go +=================================================================== +--- a/src/libgo/go/syscall/exec_bsd.go ++++ b/src/libgo/go/syscall/exec_bsd.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu netbsd openbsd solaris + + package syscall + +Index: b/src/libgo/go/syscall/sockcmsg_unix.go +=================================================================== +--- a/src/libgo/go/syscall/sockcmsg_unix.go ++++ b/src/libgo/go/syscall/sockcmsg_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + // Socket control messages + +Index: b/src/libgo/go/syscall/syscall_unix.go +=================================================================== +--- a/src/libgo/go/syscall/syscall_unix.go ++++ b/src/libgo/go/syscall/syscall_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + package syscall + +Index: b/src/libgo/go/time/sys_unix.go +=================================================================== +--- a/src/libgo/go/time/sys_unix.go ++++ b/src/libgo/go/time/sys_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris + + package time + +Index: b/src/libgo/go/time/zoneinfo_unix.go +=================================================================== +--- a/src/libgo/go/time/zoneinfo_unix.go ++++ b/src/libgo/go/time/zoneinfo_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin,386 darwin,amd64 dragonfly freebsd linux,!android nacl netbsd openbsd solaris ++// +build aix darwin,386 darwin,amd64 dragonfly freebsd gnu linux,!android nacl netbsd openbsd solaris + + // Parse "zoneinfo" time zone file. + // This is a fairly standard file format used on OS X, Linux, BSD, Sun, and others. +Index: b/src/libgo/go/net/addrselect.go +=================================================================== +--- a/src/libgo/go/net/addrselect.go ++++ b/src/libgo/go/net/addrselect.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + // Minimal RFC 6724 address selection. + +Index: b/src/libgo/go/net/conf.go +=================================================================== +--- a/src/libgo/go/net/conf.go ++++ b/src/libgo/go/net/conf.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + package net + +Index: b/src/libgo/go/net/dnsclient_unix.go +=================================================================== +--- a/src/libgo/go/net/dnsclient_unix.go ++++ b/src/libgo/go/net/dnsclient_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + // DNS client: see RFC 1035. + // Has to be linked into package net for Dial. +Index: b/src/libgo/go/net/dnsconfig_unix.go +=================================================================== +--- a/src/libgo/go/net/dnsconfig_unix.go ++++ b/src/libgo/go/net/dnsconfig_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + // Read system DNS config from /etc/resolv.conf + +Index: b/src/libgo/go/net/fd_unix.go +=================================================================== +--- a/src/libgo/go/net/fd_unix.go ++++ b/src/libgo/go/net/fd_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris + + package net + +Index: b/src/libgo/go/net/file_unix.go +=================================================================== +--- a/src/libgo/go/net/file_unix.go ++++ b/src/libgo/go/net/file_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + package net + +Index: b/src/libgo/go/net/hook_unix.go +=================================================================== +--- a/src/libgo/go/net/hook_unix.go ++++ b/src/libgo/go/net/hook_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris + + package net + +Index: b/src/libgo/go/net/iprawsock_posix.go +=================================================================== +--- a/src/libgo/go/net/iprawsock_posix.go ++++ b/src/libgo/go/net/iprawsock_posix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows + + package net + +Index: b/src/libgo/go/net/ipsock_posix.go +=================================================================== +--- a/src/libgo/go/net/ipsock_posix.go ++++ b/src/libgo/go/net/ipsock_posix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows + + package net + +Index: b/src/libgo/go/net/lookup_unix.go +=================================================================== +--- a/src/libgo/go/net/lookup_unix.go ++++ b/src/libgo/go/net/lookup_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + package net + +Index: b/src/libgo/go/net/nss.go +=================================================================== +--- a/src/libgo/go/net/nss.go ++++ b/src/libgo/go/net/nss.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + package net + +Index: b/src/libgo/go/net/sockopt_posix.go +=================================================================== +--- a/src/libgo/go/net/sockopt_posix.go ++++ b/src/libgo/go/net/sockopt_posix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris windows + + package net + +Index: b/src/libgo/go/net/sock_posix.go +=================================================================== +--- a/src/libgo/go/net/sock_posix.go ++++ b/src/libgo/go/net/sock_posix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows + + package net + +Index: b/src/libgo/go/net/tcpsockopt_posix.go +=================================================================== +--- a/src/libgo/go/net/tcpsockopt_posix.go ++++ b/src/libgo/go/net/tcpsockopt_posix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris windows + + package net + +Index: b/src/libgo/go/net/tcpsockopt_unix.go +=================================================================== +--- a/src/libgo/go/net/tcpsockopt_unix.go ++++ b/src/libgo/go/net/tcpsockopt_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix freebsd linux netbsd ++// +build aix freebsd gnu linux netbsd + + package net + +Index: b/src/libgo/go/net/tcpsock_posix.go +=================================================================== +--- a/src/libgo/go/net/tcpsock_posix.go ++++ b/src/libgo/go/net/tcpsock_posix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows + + package net + +Index: b/src/libgo/go/net/udpsock_posix.go +=================================================================== +--- a/src/libgo/go/net/udpsock_posix.go ++++ b/src/libgo/go/net/udpsock_posix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows + + package net + +Index: b/src/libgo/go/net/unixsock_posix.go +=================================================================== +--- a/src/libgo/go/net/unixsock_posix.go ++++ b/src/libgo/go/net/unixsock_posix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows + + package net + +Index: b/src/libgo/go/os/exec_posix.go +=================================================================== +--- a/src/libgo/go/os/exec_posix.go ++++ b/src/libgo/go/os/exec_posix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows + + package os + +Index: b/src/libgo/go/os/file_unix.go +=================================================================== +--- a/src/libgo/go/os/file_unix.go ++++ b/src/libgo/go/os/file_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris + + package os + +Index: b/src/libgo/go/os/executable_procfs.go +=================================================================== +--- a/src/libgo/go/os/executable_procfs.go ++++ b/src/libgo/go/os/executable_procfs.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build linux netbsd dragonfly nacl ++// +build gnu linux netbsd dragonfly nacl + + package os + +Index: b/src/libgo/go/syscall/timestruct.go +=================================================================== +--- a/src/libgo/go/syscall/timestruct.go ++++ b/src/libgo/go/syscall/timestruct.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris + + package syscall + +Index: b/src/libgo/go/net/cgo_unix.go +=================================================================== +--- a/src/libgo/go/net/cgo_unix.go ++++ b/src/libgo/go/net/cgo_unix.go +@@ -3,7 +3,7 @@ + // license that can be found in the LICENSE file. + + // +build cgo,!netgo +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + package net + +Index: b/src/libgo/go/archive/tar/stat_unix.go +=================================================================== +--- a/src/libgo/go/archive/tar/stat_unix.go ++++ b/src/libgo/go/archive/tar/stat_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix linux darwin dragonfly freebsd openbsd netbsd solaris ++// +build aix gnu linux darwin dragonfly freebsd openbsd netbsd solaris + + package tar + +Index: b/src/libgo/go/crypto/rand/eagain.go +=================================================================== +--- a/src/libgo/go/crypto/rand/eagain.go ++++ b/src/libgo/go/crypto/rand/eagain.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris + + package rand + +Index: b/src/libgo/go/crypto/rand/rand_unix.go +=================================================================== +--- a/src/libgo/go/crypto/rand/rand_unix.go ++++ b/src/libgo/go/crypto/rand/rand_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd plan9 solaris ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd plan9 solaris + + // Unix cryptographically secure pseudorandom number + // generator. +Index: b/src/libgo/go/mime/type_unix.go +=================================================================== +--- a/src/libgo/go/mime/type_unix.go ++++ b/src/libgo/go/mime/type_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris + + package mime + +Index: b/src/libgo/go/plugin/plugin_dlopen.go +=================================================================== +--- a/src/libgo/go/plugin/plugin_dlopen.go ++++ b/src/libgo/go/plugin/plugin_dlopen.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build linux,cgo darwin,cgo ++// +build linux,cgo darwin,cgo gnu,cgo + + package plugin + +Index: b/src/libgo/go/syscall/dirent.go +=================================================================== +--- a/src/libgo/go/syscall/dirent.go ++++ b/src/libgo/go/syscall/dirent.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris + + package syscall + +Index: b/src/libgo/runtime/env_posix.c +=================================================================== +--- a/src/libgo/runtime/env_posix.c ++++ b/src/libgo/runtime/env_posix.c +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows ++// +build darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows + + #include "runtime.h" + #include "array.h" +Index: b/src/libgo/go/net/internal/socktest/sys_unix.go +=================================================================== +--- a/src/libgo/go/net/internal/socktest/sys_unix.go ++++ b/src/libgo/go/net/internal/socktest/sys_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris + + package socktest + +Index: b/src/libgo/go/plugin/plugin_stubs.go +=================================================================== +--- a/src/libgo/go/plugin/plugin_stubs.go ++++ b/src/libgo/go/plugin/plugin_stubs.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build !linux,!darwin !cgo ++// +build !gnu !linux,!darwin !cgo + + package plugin + +Index: b/src/libgo/go/net/internal/socktest/sys_cloexec.go +=================================================================== +--- a/src/libgo/go/net/internal/socktest/sys_cloexec.go ++++ b/src/libgo/go/net/internal/socktest/sys_cloexec.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build dragonfly freebsd linux ++// +build dragonfly freebsd gnu linux + + package socktest + +Index: b/src/libgo/go/os/user/cgo_lookup_unix.go +=================================================================== +--- a/src/libgo/go/os/user/cgo_lookup_unix.go ++++ b/src/libgo/go/os/user/cgo_lookup_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd !android,linux netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu !android,linux netbsd openbsd solaris + // +build cgo + + package user +Index: b/src/libgo/go/net/error_posix.go +=================================================================== +--- a/src/libgo/go/net/error_posix.go ++++ b/src/libgo/go/net/error_posix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows + + package net + +Index: b/src/libgo/go/internal/poll/fd_unix.go +=================================================================== +--- a/src/libgo/go/internal/poll/fd_unix.go ++++ b/src/libgo/go/internal/poll/fd_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris + + package poll + +Index: b/src/libgo/go/syscall/forkpipe_bsd.go +=================================================================== +--- a/src/libgo/go/syscall/forkpipe_bsd.go ++++ b/src/libgo/go/syscall/forkpipe_bsd.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly netbsd openbsd solaris ++// +build aix darwin dragonfly gnu netbsd openbsd solaris + + package syscall + +Index: b/src/libgo/go/internal/poll/hook_unix.go +=================================================================== +--- a/src/libgo/go/internal/poll/hook_unix.go ++++ b/src/libgo/go/internal/poll/hook_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris + + package poll + +Index: b/src/libgo/go/internal/poll/sock_cloexec.go +=================================================================== +--- a/src/libgo/go/internal/poll/sock_cloexec.go ++++ b/src/libgo/go/internal/poll/sock_cloexec.go +@@ -5,7 +5,7 @@ + // This file implements sysSocket and accept for platforms that + // provide a fast path for setting SetNonblock and CloseOnExec. + +-// +build dragonfly freebsd linux ++// +build dragonfly freebsd gnu linux + + package poll + +Index: b/src/libgo/go/internal/poll/sockopt.go +=================================================================== +--- a/src/libgo/go/internal/poll/sockopt.go ++++ b/src/libgo/go/internal/poll/sockopt.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris windows + + package poll + +Index: b/src/libgo/go/internal/poll/sockoptip.go +=================================================================== +--- a/src/libgo/go/internal/poll/sockoptip.go ++++ b/src/libgo/go/internal/poll/sockoptip.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris windows + + package poll + +Index: b/src/libgo/go/internal/poll/sockopt_unix.go +=================================================================== +--- a/src/libgo/go/internal/poll/sockopt_unix.go ++++ b/src/libgo/go/internal/poll/sockopt_unix.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + package poll + +Index: b/src/libgo/go/archive/tar/stat_actime1.go +=================================================================== +--- a/src/libgo/go/archive/tar/stat_actime1.go ++++ b/src/libgo/go/archive/tar/stat_actime1.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix linux dragonfly openbsd solaris ++// +build aix gnu linux dragonfly openbsd solaris + + package tar + +--- a/src/libgo/go/golang_org/x/net/internal/nettest/helper_nobsd.go 2018-01-10 11:13:47.000000000 +0100 ++++ b/src/libgo/go/golang_org/x/net/internal/nettest/helper_nobsd.go 2018-03-02 13:37:11.000000000 +0100 +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix linux solaris ++// +build aix gnu linux solaris + + package nettest + +--- a/src/libgo/go/golang_org/x/net/internal/nettest/helper_posix.go 2018-01-10 11:13:47.000000000 +0100 ++++ b/src/libgo/go/golang_org/x/net/internal/nettest/helper_posix.go 2018-03-01 23:01:22.000000000 +0100 +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris windows + + package nettest + +--- a/src/libgo/go/golang_org/x/net/internal/nettest/helper_unix.go 2018-01-10 11:13:47.000000000 +0100 ++++ b/src/libgo/go/golang_org/x/net/internal/nettest/helper_unix.go 2018-03-02 13:40:42.000000000 +0100 +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + package nettest + +--- a/src/libgo/go/net/sockoptip_posix.go 2018-01-09 04:04:37.000000000 +0100 ++++ b/src/libgo/go/net/sockoptip_posix.go 2018-03-01 22:55:56.000000000 +0100 +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris windows ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris windows + + package net + +--- a/src/libgo/go/os/signal/internal/pty/pty.go 2018-02-08 18:22:43.000000000 +0100 ++++ b/src/libgo/go/os/signal/internal/pty/pty.go 2018-03-01 23:09:21.000000000 +0100 +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux,!android netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux,!android netbsd openbsd solaris + + // Package pty is a simple pseudo-terminal package for Unix systems, + // implemented by calling C functions via cgo. --- gcc-8-8.2.0.orig/debian/patches/add-gnu-to-libgo-test-headers.diff +++ gcc-8-8.2.0/debian/patches/add-gnu-to-libgo-test-headers.diff @@ -0,0 +1,301 @@ +Index: gcc-8-8-20171108-1.1/src/libgo/go/net/main_unix_test.go +=================================================================== +--- gcc-8-8-20171108-1.1.orig/src/libgo/go/net/main_unix_test.go ++++ gcc-8-8-20171108-1.1/src/libgo/go/net/main_unix_test.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris + + package net + +Index: gcc-8-8-20171108-1.1/src/libgo/go/os/exec/lp_unix_test.go +=================================================================== +--- gcc-8-8-20171108-1.1.orig/src/libgo/go/os/exec/lp_unix_test.go ++++ gcc-8-8-20171108-1.1/src/libgo/go/os/exec/lp_unix_test.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + package exec + +Index: gcc-8-8-20171108-1.1/src/libgo/go/os/os_unix_test.go +=================================================================== +--- gcc-8-8-20171108-1.1.orig/src/libgo/go/os/os_unix_test.go ++++ gcc-8-8-20171108-1.1/src/libgo/go/os/os_unix_test.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + package os_test + +Index: gcc-8-8-20171108-1.1/src/libgo/go/os/signal/signal_test.go +=================================================================== +--- gcc-8-8-20171108-1.1.orig/src/libgo/go/os/signal/signal_test.go ++++ gcc-8-8-20171108-1.1/src/libgo/go/os/signal/signal_test.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + package signal + +Index: gcc-8-8-20171108-1.1/src/libgo/go/runtime/crash_unix_test.go +=================================================================== +--- gcc-8-8-20171108-1.1.orig/src/libgo/go/runtime/crash_unix_test.go ++++ gcc-8-8-20171108-1.1/src/libgo/go/runtime/crash_unix_test.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + package runtime_test + +Index: gcc-8-8-20171108-1.1/src/libgo/go/syscall/exec_unix_test.go +=================================================================== +--- gcc-8-8-20171108-1.1.orig/src/libgo/go/syscall/exec_unix_test.go ++++ gcc-8-8-20171108-1.1/src/libgo/go/syscall/exec_unix_test.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + package syscall_test + +Index: gcc-8-8-20171108-1.1/src/libgo/go/runtime/runtime_unix_test.go +=================================================================== +--- gcc-8-8-20171108-1.1.orig/src/libgo/go/runtime/runtime_unix_test.go ++++ gcc-8-8-20171108-1.1/src/libgo/go/runtime/runtime_unix_test.go +@@ -6,7 +6,7 @@ + // We need a fast system call to provoke the race, + // and Close(-1) is nearly universally fast. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd plan9 ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd plan9 + + package runtime_test + +Index: gcc-8-8-20171108-1.1/src/libgo/go/syscall/export_unix_test.go +=================================================================== +--- gcc-8-8-20171108-1.1.orig/src/libgo/go/syscall/export_unix_test.go ++++ gcc-8-8-20171108-1.1/src/libgo/go/syscall/export_unix_test.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + package syscall + +Index: gcc-8-8-20171108-1.1/src/libgo/go/syscall/mmap_unix_test.go +=================================================================== +--- gcc-8-8-20171108-1.1.orig/src/libgo/go/syscall/mmap_unix_test.go ++++ gcc-8-8-20171108-1.1/src/libgo/go/syscall/mmap_unix_test.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd + + package syscall_test + +Index: gcc-8-8-20171108-1.1/src/libgo/go/net/addrselect_test.go +=================================================================== +--- gcc-8-8-20171108-1.1.orig/src/libgo/go/net/addrselect_test.go ++++ gcc-8-8-20171108-1.1/src/libgo/go/net/addrselect_test.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + package net + +Index: gcc-8-8-20171108-1.1/src/libgo/go/net/cgo_unix_test.go +=================================================================== +--- gcc-8-8-20171108-1.1.orig/src/libgo/go/net/cgo_unix_test.go ++++ gcc-8-8-20171108-1.1/src/libgo/go/net/cgo_unix_test.go +@@ -3,7 +3,7 @@ + // license that can be found in the LICENSE file. + + // +build cgo,!netgo +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + package net + +Index: gcc-8-8-20171108-1.1/src/libgo/go/net/conf_test.go +=================================================================== +--- gcc-8-8-20171108-1.1.orig/src/libgo/go/net/conf_test.go ++++ gcc-8-8-20171108-1.1/src/libgo/go/net/conf_test.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + package net + +Index: gcc-8-8-20171108-1.1/src/libgo/go/net/dnsconfig_unix_test.go +=================================================================== +--- gcc-8-8-20171108-1.1.orig/src/libgo/go/net/dnsconfig_unix_test.go ++++ gcc-8-8-20171108-1.1/src/libgo/go/net/dnsconfig_unix_test.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + package net + +Index: gcc-8-8-20171108-1.1/src/libgo/go/net/nss_test.go +=================================================================== +--- gcc-8-8-20171108-1.1.orig/src/libgo/go/net/nss_test.go ++++ gcc-8-8-20171108-1.1/src/libgo/go/net/nss_test.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + package net + +Index: gcc-8-8-20171108-1.1/src/libgo/go/cmd/go/go_unix_test.go +=================================================================== +--- gcc-8-8-20171108-1.1.orig/src/libgo/go/cmd/go/go_unix_test.go ++++ gcc-8-8-20171108-1.1/src/libgo/go/cmd/go/go_unix_test.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + package main_test + +Index: gcc-8-8-20171108-1.1/src/libgo/go/net/dial_unix_test.go +=================================================================== +--- gcc-8-8-20171108-1.1.orig/src/libgo/go/net/dial_unix_test.go ++++ gcc-8-8-20171108-1.1/src/libgo/go/net/dial_unix_test.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + package net + +Index: gcc-8-8-20171108-1.1/src/libgo/go/net/main_cloexec_test.go +=================================================================== +--- gcc-8-8-20171108-1.1.orig/src/libgo/go/net/main_cloexec_test.go ++++ gcc-8-8-20171108-1.1/src/libgo/go/net/main_cloexec_test.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build dragonfly freebsd linux ++// +build dragonfly freebsd gnu linux + + package net + +Index: gcc-8-8-20171108-1.1/src/libgo/go/net/dnsclient_unix_test.go +=================================================================== +--- gcc-8-8-20171108-1.1.orig/src/libgo/go/net/dnsclient_unix_test.go ++++ gcc-8-8-20171108-1.1/src/libgo/go/net/dnsclient_unix_test.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + package net + +Index: gcc-8-8-20171108-1.1/src/libgo/go/os/env_unix_test.go +=================================================================== +--- gcc-8-8-20171108-1.1.orig/src/libgo/go/os/env_unix_test.go ++++ gcc-8-8-20171108-1.1/src/libgo/go/os/env_unix_test.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + package os_test + +Index: gcc-8-8-20171108-1.1/src/libgo/go/os/error_unix_test.go +=================================================================== +--- gcc-8-8-20171108-1.1.orig/src/libgo/go/os/error_unix_test.go ++++ gcc-8-8-20171108-1.1/src/libgo/go/os/error_unix_test.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build darwin dragonfly freebsd linux nacl netbsd openbsd solaris ++// +build darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris + + package os_test + +Index: gcc-8-8-20171108-1.1/src/libgo/go/internal/poll/export_posix_test.go +=================================================================== +--- gcc-8-8-20171108-1.1.orig/src/libgo/go/internal/poll/export_posix_test.go ++++ gcc-8-8-20171108-1.1/src/libgo/go/internal/poll/export_posix_test.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows + + // Export guts for testing on posix. + // Since testing imports os and os imports internal/poll, +Index: gcc-8-8-20171108-1.1/src/libgo/go/runtime/export_unix_test.go +=================================================================== +--- gcc-8-8-20171108-1.1.orig/src/libgo/go/runtime/export_unix_test.go ++++ gcc-8-8-20171108-1.1/src/libgo/go/runtime/export_unix_test.go +@@ -1,8 +1,9 @@ ++ + // Copyright 2017 The Go Authors. All rights reserved. + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris ++// +build aix darwin dragonfly freebsd gnu linux netbsd openbsd solaris + + package runtime + +Index: gcc-8-8-20171108-1.1/src/libgo/go/internal/poll/fd_posix_test.go +=================================================================== +--- gcc-8-8-20171108-1.1.orig/src/libgo/go/internal/poll/fd_posix_test.go ++++ gcc-8-8-20171108-1.1/src/libgo/go/internal/poll/fd_posix_test.go +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style + // license that can be found in the LICENSE file. + +-// +build aix darwin dragonfly freebsd linux nacl netbsd openbsd solaris windows ++// +build aix darwin dragonfly freebsd gnu linux nacl netbsd openbsd solaris windows + + package poll_test + --- gcc-8-8.2.0.orig/debian/patches/alpha-ieee-doc.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/alpha-ieee.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/alpha-no-ev4-directive.diff +++ gcc-8-8.2.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 +@@ -9504,7 +9504,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"; +@@ -9514,10 +9514,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-8-8.2.0.orig/debian/patches/arm-multilib-defaults.diff +++ gcc-8-8.2.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 +@@ -3862,10 +3862,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 +@@ -3899,6 +3907,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 +@@ -37,7 +37,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. */ +@@ -91,6 +105,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-8-8.2.0.orig/debian/patches/arm-multilib-soft-cross.diff +++ gcc-8-8.2.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 +@@ -27,6 +27,20 @@ MULTILIB_REUSE = + MULTILIB_MATCHES = + MULTILIB_REQUIRED = + ++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-8-8.2.0.orig/debian/patches/arm-multilib-soft-float.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/arm-multilib-soft.diff +++ gcc-8-8.2.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 +@@ -27,6 +27,20 @@ MULTILIB_REUSE = + MULTILIB_MATCHES = + MULTILIB_REQUIRED = + ++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-8-8.2.0.orig/debian/patches/arm-multilib-softfp-cross.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/arm-multilib-softfp.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/bind_now_when_pie.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/bootstrap-no-unneeded-libs.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/canonical-cpppath.diff +++ gcc-8-8.2.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 +@@ -172,6 +172,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, INC_SYSTEM, p->cxx_aware, false); + } + } +@@ -246,6 +254,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, INC_SYSTEM, p->cxx_aware, false); + } --- gcc-8-8.2.0.orig/debian/patches/config-ml.diff +++ gcc-8-8.2.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'` +@@ -877,9 +896,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-8-8.2.0.orig/debian/patches/cross-biarch.diff +++ gcc-8-8.2.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 + GOC_=$GOC' ' + GDC_=$GDC' ' + 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"`' ' ;; + *) +@@ -830,6 +851,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"`' ' ;; + *) +@@ -842,6 +865,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-8-8.2.0.orig/debian/patches/cross-fixes.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/cross-install-location.diff +++ gcc-8-8.2.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 @get_gcc_base_ver@ $(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 +@@ -629,12 +629,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 +@@ -44,14 +44,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 +@@ -256,7 +256,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 @get_gcc_base_ver@ $(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 +@@ -336,8 +336,8 @@ SUBDIRS = testsuite + gcc_version := $(shell @get_gcc_base_ver@ $(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 +@@ -4265,7 +4265,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); +@@ -4291,15 +4291,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 +@@ -615,9 +615,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 +@@ -2199,8 +2199,8 @@ default-d.o: config/default-d.c + + 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)\" \ +@@ -2888,7 +2888,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=$(BASEVER_s) +Index: b/src/libssp/Makefile.in +=================================================================== +--- a/src/libssp/Makefile.in ++++ b/src/libssp/Makefile.in +@@ -291,7 +291,7 @@ gcc_version := $(shell @get_gcc_base_ver + @LIBSSP_USE_SYMVER_SUN_TRUE@@LIBSSP_USE_SYMVER_TRUE@version_dep = ssp.map-sun + AM_CFLAGS = -Wall $(XCFLAGS) + 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 += $(XCFLAGS) + 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 +@@ -358,7 +358,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 +@@ -42,7 +42,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 +@@ -48,7 +48,7 @@ extra_ldflags_libobjc = @extra_ldflags_l + top_builddir = . + + 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 +@@ -406,8 +406,8 @@ gcc_version := $(shell @get_gcc_base_ver + 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 +@@ -197,7 +197,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 +@@ -254,7 +254,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 +@@ -37,7 +37,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 +@@ -303,7 +303,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 libcp1plugin.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 +@@ -291,7 +291,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-8-8.2.0.orig/debian/patches/cross-no-locale-include.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/cuda-float128.diff +++ gcc-8-8.2.0/debian/patches/cuda-float128.diff @@ -0,0 +1,28 @@ +# Mask __float128 types from CUDA compilers (LP: #1717257) + +Index: b/src/libstdc++-v3/include/std/type_traits +=================================================================== +--- a/src/libstdc++-v3/include/std/type_traits ++++ b/src/libstdc++-v3/include/std/type_traits +@@ -330,7 +330,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + struct __is_floating_point_helper + : public true_type { }; + +-#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128) ++#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128) && !defined(__CUDACC__) + template<> + struct __is_floating_point_helper<__float128> + : public true_type { }; +Index: b/src/libstdc++-v3/include/bits/std_abs.h +=================================================================== +--- a/src/libstdc++-v3/include/bits/std_abs.h ++++ b/src/libstdc++-v3/include/bits/std_abs.h +@@ -96,7 +96,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + abs(__GLIBCXX_TYPE_INT_N_3 __x) { return __x >= 0 ? __x : -__x; } + #endif + +-#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128) ++#if !defined(__STRICT_ANSI__) && defined(_GLIBCXX_USE_FLOAT128) && !defined(__CUDACC__) + inline _GLIBCXX_CONSTEXPR + __float128 + abs(__float128 __x) --- gcc-8-8.2.0.orig/debian/patches/disable-gdc-tests.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/g++-multiarch-incdir.diff +++ gcc-8-8.2.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 +@@ -929,7 +929,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 +@@ -1215,7 +1215,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 +@@ -1170,6 +1170,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)" \ +@@ -1718,6 +1719,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++/$(version) ++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 +@@ -2881,7 +2890,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 +@@ -159,6 +159,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, INC_SYSTEM, p->cxx_aware, false); + } +@@ -223,7 +235,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, INC_SYSTEM, p->cxx_aware, false); --- gcc-8-8.2.0.orig/debian/patches/gcc-alpha-bs-ignore.diff +++ gcc-8-8.2.0/debian/patches/gcc-alpha-bs-ignore.diff @@ -0,0 +1,14 @@ +# DP: Ignore bootstrap comparison failures in gcc/d on alpha + +Index: b/src/configure.ac +=================================================================== +--- a/src/configure.ac ++++ b/src/configure.ac +@@ -3519,6 +3519,7 @@ case "$target" in + hppa*64*-*-hpux*) ;; + hppa*-*-hpux*) compare_exclusions="gcc/cc*-checksum\$(objext) | */libgcc/lib2funcs* | gcc/ada/*tools/* | gcc/function-tests.o" ;; + powerpc*-ibm-aix*) compare_exclusions="gcc/cc*-checksum\$(objext) | gcc/ada/*tools/* | *libgomp*\$(objext)" ;; ++ alpha*-linux-*) compare_exclusions="gcc/cc*-checksum\$(objext) | gcc/ada/*tools/* | gcc/d/*\$(objext)" ;; + esac + AC_SUBST(compare_exclusions) + --- gcc-8-8.2.0.orig/debian/patches/gcc-as-needed-gold.diff +++ gcc-8-8.2.0/debian/patches/gcc-as-needed-gold.diff @@ -0,0 +1,58 @@ +# DP: Use --push-state/--pop-state for gold as well when linking libtsan. + +Index: b/src/gcc/gcc.c +=================================================================== +--- a/src/gcc/gcc.c ++++ b/src/gcc/gcc.c +@@ -693,10 +693,10 @@ proper position among the other output f + #define LIBASAN_SPEC STATIC_LIBASAN_LIBS + #elif defined(HAVE_LD_STATIC_DYNAMIC) + #define LIBASAN_SPEC "%{static-libasan:" LD_STATIC_OPTION "}" \ +- " %{!static-libasan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \ ++ " %{!static-libasan:--push-state --no-as-needed}" \ + " -lasan " \ + " %{static-libasan:" LD_DYNAMIC_OPTION "}" \ +- " %{!static-libasan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \ ++ " %{!static-libasan:--pop-state}" \ + STATIC_LIBASAN_LIBS + #else + #define LIBASAN_SPEC "-lasan" STATIC_LIBASAN_LIBS +@@ -714,10 +714,10 @@ proper position among the other output f + #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 +@@ -735,10 +735,10 @@ proper position among the other output f + #define LIBLSAN_SPEC STATIC_LIBLSAN_LIBS + #elif defined(HAVE_LD_STATIC_DYNAMIC) + #define LIBLSAN_SPEC "%{static-liblsan:" LD_STATIC_OPTION "}" \ +- " %{!static-liblsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \ ++ " %{!static-liblsan:--push-state --no-as-needed}" \ + " -llsan " \ + " %{static-liblsan:" LD_DYNAMIC_OPTION "}" \ +- " %{!static-liblsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \ ++ " %{!static-liblsan:--pop-state}" \ + STATIC_LIBLSAN_LIBS + #else + #define LIBLSAN_SPEC "-llsan" STATIC_LIBLSAN_LIBS +@@ -754,10 +754,10 @@ proper position among the other output f + " %{static-libubsan|static:%:include(libsanitizer.spec)%(link_libubsan)}" + #ifdef HAVE_LD_STATIC_DYNAMIC + #define LIBUBSAN_SPEC "%{static-libubsan:" LD_STATIC_OPTION "}" \ +- " %{!static-libubsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \ ++ " %{!static-libubsan:--push-state --no-as-needed}" \ + " -lubsan " \ + " %{static-libubsan:" LD_DYNAMIC_OPTION "}" \ +- " %{!static-libubsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \ ++ " %{!static-libubsan:--pop-state}" \ + STATIC_LIBUBSAN_LIBS + #else + #define LIBUBSAN_SPEC "-lubsan" STATIC_LIBUBSAN_LIBS --- gcc-8-8.2.0.orig/debian/patches/gcc-as-needed-push-pop.diff +++ gcc-8-8.2.0/debian/patches/gcc-as-needed-push-pop.diff @@ -0,0 +1,43 @@ +From: Jakub Jelinek +Subject: [PATCH] Use --push-state --as-needed and --pop-state instead of --as-needed and --no-as-needed for libgcc + +As discussed, using --as-needed and --no-as-needed is dangerous, because +it results in --no-as-needed even for libraries after -lgcc_s, even when the +default is --as-needed or --as-needed has been specified earlier on the +command line. + +If the linker supports --push-state/--pop-state, we should IMHO use it. + +2018-04-11 Jakub Jelinek + + * configure.ac (LD_AS_NEEDED_OPTION, LD_NO_AS_NEEDED_OPTION): Use + --push-state --as-needed and --pop-state instead of --as-needed and + --no-as-needed if ld supports it. + * configure: Regenerated. + +Index: b/src/gcc/configure.ac +=================================================================== +--- a/src/gcc/configure.ac ++++ b/src/gcc/configure.ac +@@ -5518,11 +5518,21 @@ if test $in_tree_ld = yes ; then + if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 16 -o "$gcc_cv_gld_major_version" -gt 2 \ + && test $in_tree_ld_is_elf = yes; then + gcc_cv_ld_as_needed=yes ++ if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 28; then ++ gcc_cv_ld_as_needed_option='--push-state --as-needed' ++ gcc_cv_ld_no_as_needed_option='--pop-state' ++ fi + fi + elif test x$gcc_cv_ld != x; then + # Check if linker supports --as-needed and --no-as-needed options + if $gcc_cv_ld --help 2>&1 | grep as-needed > /dev/null; then + gcc_cv_ld_as_needed=yes ++ if $gcc_cv_ld --help 2>&1 | grep push-state > /dev/null; then ++ if $gcc_cv_ld --help 2>&1 | grep pop-state > /dev/null; then ++ gcc_cv_ld_as_needed_option='--push-state --as-needed' ++ gcc_cv_ld_no_as_needed_option='--pop-state' ++ fi ++ fi + fi + case "$target:$gnu_ld" in + *-*-solaris2*:no) --- gcc-8-8.2.0.orig/debian/patches/gcc-as-needed.diff +++ gcc-8-8.2.0/debian/patches/gcc-as-needed.diff @@ -0,0 +1,244 @@ +# DP: On linux targets pass --as-needed by default to the linker, but always +# DP: link the sanitizer libraries with --no-as-needed. + +Index: b/src/gcc/gcc.c +=================================================================== +--- a/src/gcc/gcc.c ++++ b/src/gcc/gcc.c +@@ -692,8 +692,11 @@ proper position among the other output f + #ifdef LIBASAN_EARLY_SPEC + #define LIBASAN_SPEC STATIC_LIBASAN_LIBS + #elif defined(HAVE_LD_STATIC_DYNAMIC) +-#define LIBASAN_SPEC "%{static-libasan:" LD_STATIC_OPTION \ +- "} -lasan %{static-libasan:" LD_DYNAMIC_OPTION "}" \ ++#define LIBASAN_SPEC "%{static-libasan:" LD_STATIC_OPTION "}" \ ++ " %{!static-libasan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \ ++ " -lasan " \ ++ " %{static-libasan:" LD_DYNAMIC_OPTION "}" \ ++ " %{!static-libasan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \ + STATIC_LIBASAN_LIBS + #else + #define LIBASAN_SPEC "-lasan" STATIC_LIBASAN_LIBS +@@ -710,8 +713,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 +@@ -728,8 +734,11 @@ proper position among the other output f + #ifdef LIBLSAN_EARLY_SPEC + #define LIBLSAN_SPEC STATIC_LIBLSAN_LIBS + #elif defined(HAVE_LD_STATIC_DYNAMIC) +-#define LIBLSAN_SPEC "%{static-liblsan:" LD_STATIC_OPTION \ +- "} -llsan %{static-liblsan:" LD_DYNAMIC_OPTION "}" \ ++#define LIBLSAN_SPEC "%{static-liblsan:" LD_STATIC_OPTION "}" \ ++ " %{!static-liblsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \ ++ " -llsan " \ ++ " %{static-liblsan:" LD_DYNAMIC_OPTION "}" \ ++ " %{!static-liblsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \ + STATIC_LIBLSAN_LIBS + #else + #define LIBLSAN_SPEC "-llsan" STATIC_LIBLSAN_LIBS +@@ -744,8 +753,11 @@ proper position among the other output f + #define STATIC_LIBUBSAN_LIBS \ + " %{static-libubsan|static:%:include(libsanitizer.spec)%(link_libubsan)}" + #ifdef HAVE_LD_STATIC_DYNAMIC +-#define LIBUBSAN_SPEC "%{static-libubsan:" LD_STATIC_OPTION \ +- "} -lubsan %{static-libubsan:" LD_DYNAMIC_OPTION "}" \ ++#define LIBUBSAN_SPEC "%{static-libubsan:" LD_STATIC_OPTION "}" \ ++ " %{!static-libubsan:%{!fuse-ld=gold:--push-state }--no-as-needed}" \ ++ " -lubsan " \ ++ " %{static-libubsan:" LD_DYNAMIC_OPTION "}" \ ++ " %{!static-libubsan:%{fuse-ld=gold:--as-needed;:--pop-state}}" \ + STATIC_LIBUBSAN_LIBS + #else + #define LIBUBSAN_SPEC "-lubsan" STATIC_LIBUBSAN_LIBS +Index: b/src/gcc/config/gnu-user.h +=================================================================== +--- a/src/gcc/config/gnu-user.h ++++ b/src/gcc/config/gnu-user.h +@@ -161,15 +161,15 @@ see the files COPYING3 and COPYING.RUNTI + #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 "%{!shared:libtsan_preinit%O%s} " \ + "%{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 "%{!shared:liblsan_preinit%O%s} " \ + "%{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 +@@ -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} --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 +@@ -490,13 +490,13 @@ 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: \ + %{!static-pie: \ + %{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: \ + %{!static-pie: \ + %{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 +@@ -811,7 +811,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: \ + %{!static-pie: \ +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 +@@ -71,6 +71,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} \ +Index: b/src/gcc/config/riscv/linux.h +=================================================================== +--- a/src/gcc/config/riscv/linux.h ++++ b/src/gcc/config/riscv/linux.h +@@ -51,6 +51,7 @@ along with GCC; see the file COPYING3. + + #define LINK_SPEC "\ + -hash-style=gnu \ ++-as-needed \ + -melf" XLEN_SPEC "lriscv \ + %{shared} \ + %{!shared: \ --- gcc-8-8.2.0.orig/debian/patches/gcc-auto-build.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/gcc-d-lang.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/gcc-default-format-security.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/gcc-default-fortify-source.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/gcc-default-relro.diff +++ gcc-8-8.2.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. + +Index: b/src/gcc/gcc.c +=================================================================== +--- a/src/gcc/gcc.c ++++ b/src/gcc/gcc.c +@@ -291,6 +291,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. */ + +@@ -4483,7 +4487,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 +@@ -7762,6 +7769,8 @@ driver::maybe_putenv_OFFLOAD_TARGETS () + obstack_grow (&collect_obstack, offload_targets, + strlen (offload_targets) + 1); + xputenv (XOBFINISH (&collect_obstack, char *)); ++ if (offload_targets_default) ++ xputenv ("OFFLOAD_TARGET_DEFAULT=1"); + } + + free (offload_targets); +Index: b/src/gcc/lto-wrapper.c +=================================================================== +--- a/src/gcc/lto-wrapper.c ++++ b/src/gcc/lto-wrapper.c +@@ -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. */ +@@ -808,8 +809,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; +@@ -822,18 +825,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); + } +Index: b/src/libgomp/target.c +=================================================================== +--- a/src/libgomp/target.c ++++ b/src/libgomp/target.c +@@ -2514,7 +2514,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-8-8.2.0.orig/debian/patches/gcc-force-cross-layout.diff +++ gcc-8-8.2.0/debian/patches/gcc-force-cross-layout.diff @@ -0,0 +1,53 @@ +# DP: Add FORCE_CROSS_LAYOUT env var to force a cross directory layout. + +Index: b/src/configure.ac +=================================================================== +--- a/src/configure.ac ++++ b/src/configure.ac +@@ -3047,7 +3047,7 @@ target_configargs="$target_configargs ${ + # native. However, it would be better to use other mechanisms to make the + # sorts of decisions they want to make on this basis. Please consider + # this option to be deprecated. FIXME. +-if test x${is_cross_compiler} = xyes ; then ++if test x${is_cross_compiler} = xyes || test x${FORCE_CROSS_LAYOUT} = xyes; then + target_configargs="--with-cross-host=${host_noncanonical} ${target_configargs}" + fi + +Index: b/src/gcc/configure.ac +=================================================================== +--- a/src/gcc/configure.ac ++++ b/src/gcc/configure.ac +@@ -2011,14 +2011,14 @@ SYSTEM_HEADER_DIR='$(NATIVE_SYSTEM_HEADE + BUILD_SYSTEM_HEADER_DIR=$SYSTEM_HEADER_DIR AC_SUBST(BUILD_SYSTEM_HEADER_DIR) + + if test x$host != x$target || test "x$TARGET_SYSTEM_ROOT" != x || +- test x$build != x$host || test "x$with_build_sysroot" != x; then ++ test x$build != x$host || test "x$with_build_sysroot" != x || test x$FORCE_CROSS_LAYOUT = xyes; then + if test "x$with_build_sysroot" != x; then + BUILD_SYSTEM_HEADER_DIR=$with_build_sysroot'$${sysroot_headers_suffix}$(NATIVE_SYSTEM_HEADER_DIR)' + else + BUILD_SYSTEM_HEADER_DIR='$(CROSS_SYSTEM_HEADER_DIR)' + fi + +- if test x$host != x$target ++ if test x$host != x$target || test x$FORCE_CROSS_LAYOUT = xyes + then + CROSS="-DCROSS_DIRECTORY_STRUCTURE" + ALL=all.cross +@@ -6392,14 +6392,14 @@ AC_SUBST_FILE(language_hooks) + + # Echo link setup. + if test x${build} = x${host} ; then +- if test x${host} = x${target} ; then ++ if test x${host} = x${target} && test x$FORCE_CROSS_LAYOUT != xyes ; then + echo "Links are now set up to build a native compiler for ${target}." 1>&2 + else + echo "Links are now set up to build a cross-compiler" 1>&2 + echo " from ${host} to ${target}." 1>&2 + fi + else +- if test x${host} = x${target} ; then ++ if test x${host} = x${target} && test x$FORCE_CROSS_LAYOUT != xyes ; then + echo "Links are now set up to build (on ${build}) a native compiler" 1>&2 + echo " for ${target}." 1>&2 + else --- gcc-8-8.2.0.orig/debian/patches/gcc-fuse-ld-lld-doc.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/gcc-fuse-ld-lld.diff +++ gcc-8-8.2.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"; +@@ -1007,6 +1009,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 +@@ -1096,7 +1100,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 +@@ -1315,7 +1320,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 +@@ -2712,9 +2712,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 +@@ -2472,6 +2472,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-8-8.2.0.orig/debian/patches/gcc-gfdl-build.diff +++ gcc-8-8.2.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 +@@ -2479,30 +2479,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-8-8.2.0.orig/debian/patches/gcc-hash-style-both.diff +++ gcc-8-8.2.0/debian/patches/gcc-hash-style-both.diff @@ -0,0 +1,183 @@ +# DP: Link using --hash-style=both (alpha, amd64, armel, armhf, ia64, i386, powerpc, ppc64, riscv64, 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. + +2018-03-02 Aurelien Jarno + + * config/riscv/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} \ +Index: b/src/gcc/config/riscv/linux.h +=================================================================== +--- a/src/gcc/config/riscv/linux.h ++++ b/src/gcc/config/riscv/linux.h +@@ -50,6 +50,7 @@ + #define CPP_SPEC "%{pthread:-D_REENTRANT}" + + #define LINK_SPEC "\ ++-hash-style=both \ + -melf" XLEN_SPEC "lriscv \ + %{shared} \ + {!shared: \ --- gcc-8-8.2.0.orig/debian/patches/gcc-hash-style-gnu.diff +++ gcc-8-8.2.0/debian/patches/gcc-hash-style-gnu.diff @@ -0,0 +1,186 @@ +# DP: Link using --hash-style=gnu (aarch64, alpha, amd64, armel, armhf, ia64, +# DP: i386, powerpc, ppc64, riscv64, 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. + +2018-03-02 Aurelien Jarno + + * config/riscv/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 +@@ -470,13 +470,13 @@ 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: \ + %{!static-pie: \ + %{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: \ + %{!static-pie: \ + %{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 +@@ -811,7 +811,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: \ + %{!static-pie: \ +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} \ +Index: b/src/gcc/config/riscv/linux.h +=================================================================== +--- a/src/gcc/config/riscv/linux.h ++++ b/src/gcc/config/riscv/linux.h +@@ -50,6 +50,7 @@ along with GCC; see the file COPYING3. + #define CPP_SPEC "%{pthread:-D_REENTRANT}" + + #define LINK_SPEC "\ ++-hash-style=gnu \ + -melf" XLEN_SPEC "lriscv \ + %{mno-relax:--no-relax} \ + %{shared} \ --- gcc-8-8.2.0.orig/debian/patches/gcc-ice-apport.diff +++ gcc-8-8.2.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 +@@ -6987,6 +6987,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-8-8.2.0.orig/debian/patches/gcc-ice-dump.diff +++ gcc-8-8.2.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 +@@ -3206,7 +3206,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)) +@@ -6969,8 +6970,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-8-8.2.0.orig/debian/patches/gcc-linaro-doc.diff +++ gcc-8-8.2.0/debian/patches/gcc-linaro-doc.diff @@ -0,0 +1,244 @@ +# DP: Changes for the Linaro 8-2018.xx snapshot (documentation). + +LANG=C svn diff svn://gcc.gnu.org/svn/gcc/branches/gcc-8-branch@268147 svn://gcc.gnu.org/svn/gcc/branches/ARM/arm-8-branch \ + | sed -r 's,^--- (\S+)\t(\S+)(.*)$,--- a/src/\1\t\2,;s,^\+\+\+ (\S+)\t(\S+)(.*)$,+++ b/src/\1\t\2,' \ + | awk '/^Index:.*\.class/ {skip=1; next} /^Index:/ { skip=0 } skip==0' + +Index: gcc/doc/cpp.texi +=================================================================== +--- a/src/gcc/doc/cpp.texi (.../gcc-8-branch) ++++ b/src/gcc/doc/cpp.texi (.../ARM/arm-8-branch) +@@ -2381,6 +2381,10 @@ + These macros are defined when the target processor supports atomic compare + and swap operations on operands 1, 2, 4, 8 or 16 bytes in length, respectively. + ++@item __HAVE_SPECULATION_SAFE_VALUE ++This macro is defined with the value 1 to show that this version of GCC ++supports @code{__builtin_speculation_safe_value}. ++ + @item __GCC_HAVE_DWARF2_CFI_ASM + This macro is defined when the compiler is emitting DWARF CFI directives + to the assembler. When this is defined, it is possible to emit those same +Index: gcc/doc/extend.texi +=================================================================== +--- a/src/gcc/doc/extend.texi (.../gcc-8-branch) ++++ b/src/gcc/doc/extend.texi (.../ARM/arm-8-branch) +@@ -11080,6 +11080,7 @@ + @findex __builtin_powi + @findex __builtin_powif + @findex __builtin_powil ++@findex __builtin_speculation_safe_value + @findex _Exit + @findex _exit + @findex abort +@@ -11723,6 +11724,96 @@ + + @end deftypefn + ++@deftypefn {Built-in Function} @var{type} __builtin_speculation_safe_value (@var{type} val, @var{type} failval) ++ ++This built-in function can be used to help mitigate against unsafe ++speculative execution. @var{type} may be any integral type or any ++pointer type. ++ ++@enumerate ++@item ++If the CPU is not speculatively executing the code, then @var{val} ++is returned. ++@item ++If the CPU is executing speculatively then either: ++@itemize ++@item ++The function may cause execution to pause until it is known that the ++code is no-longer being executed speculatively (in which case ++@var{val} can be returned, as above); or ++@item ++The function may use target-dependent speculation tracking state to cause ++@var{failval} to be returned when it is known that speculative ++execution has incorrectly predicted a conditional branch operation. ++@end itemize ++@end enumerate ++ ++The second argument, @var{failval}, is optional and defaults to zero ++if omitted. ++ ++GCC defines the preprocessor macro ++@code{__HAVE_BUILTIN_SPECULATION_SAFE_VALUE} for targets that have been ++updated to support this builtin. ++ ++The built-in function can be used where a variable appears to be used in a ++safe way, but the CPU, due to speculative execution may temporarily ignore ++the bounds checks. Consider, for example, the following function: ++ ++@smallexample ++int array[500]; ++int f (unsigned untrusted_index) ++@{ ++ if (untrusted_index < 500) ++ return array[untrusted_index]; ++ return 0; ++@} ++@end smallexample ++ ++If the function is called repeatedly with @code{untrusted_index} less ++than the limit of 500, then a branch predictor will learn that the ++block of code that returns a value stored in @code{array} will be ++executed. If the function is subsequently called with an ++out-of-range value it will still try to execute that block of code ++first until the CPU determines that the prediction was incorrect ++(the CPU will unwind any incorrect operations at that point). ++However, depending on how the result of the function is used, it might be ++possible to leave traces in the cache that can reveal what was stored ++at the out-of-bounds location. The built-in function can be used to ++provide some protection against leaking data in this way by changing ++the code to: ++ ++@smallexample ++int array[500]; ++int f (unsigned untrusted_index) ++@{ ++ if (untrusted_index < 500) ++ return array[__builtin_speculation_safe_value (untrusted_index)]; ++ return 0; ++@} ++@end smallexample ++ ++The built-in function will either cause execution to stall until the ++conditional branch has been fully resolved, or it may permit ++speculative execution to continue, but using 0 instead of ++@code{untrusted_value} if that exceeds the limit. ++ ++If accessing any memory location is potentially unsafe when speculative ++execution is incorrect, then the code can be rewritten as ++ ++@smallexample ++int array[500]; ++int f (unsigned untrusted_index) ++@{ ++ if (untrusted_index < 500) ++ return *__builtin_speculation_safe_value (&array[untrusted_index], NULL); ++ return 0; ++@} ++@end smallexample ++ ++which will cause a @code{NULL} pointer to be used for the unsafe case. ++ ++@end deftypefn ++ + @deftypefn {Built-in Function} int __builtin_types_compatible_p (@var{type1}, @var{type2}) + + You can use the built-in function @code{__builtin_types_compatible_p} to +Index: gcc/doc/tm.texi +=================================================================== +--- a/src/gcc/doc/tm.texi (.../gcc-8-branch) ++++ b/src/gcc/doc/tm.texi (.../ARM/arm-8-branch) +@@ -12010,6 +12010,42 @@ + + @end defmac + ++@deftypefn {Target Hook} bool TARGET_HAVE_SPECULATION_SAFE_VALUE (bool @var{active}) ++This hook is used to determine the level of target support for ++ @code{__builtin_speculation_safe_value}. If called with an argument ++ of false, it returns true if the target has been modified to support ++ this builtin. If called with an argument of true, it returns true ++ if the target requires active mitigation execution might be speculative. ++ ++ The default implementation returns false if the target does not define ++ a pattern named @code{speculation_barrier}. Else it returns true ++ for the first case and whether the pattern is enabled for the current ++ compilation for the second case. ++ ++ For targets that have no processors that can execute instructions ++ speculatively an alternative implemenation of this hook is available: ++ simply redefine this hook to @code{speculation_safe_value_not_needed} ++ along with your other target hooks. ++@end deftypefn ++ ++@deftypefn {Target Hook} rtx TARGET_SPECULATION_SAFE_VALUE (machine_mode @var{mode}, rtx @var{result}, rtx @var{val}, rtx @var{failval}) ++This target hook can be used to generate a target-specific code ++ sequence that implements the @code{__builtin_speculation_safe_value} ++ built-in function. The function must always return @var{val} in ++ @var{result} in mode @var{mode} when the cpu is not executing ++ speculatively, but must never return that when speculating until it ++ is known that the speculation will not be unwound. The hook supports ++ two primary mechanisms for implementing the requirements. The first ++ is to emit a speculation barrier which forces the processor to wait ++ until all prior speculative operations have been resolved; the second ++ is to use a target-specific mechanism that can track the speculation ++ state and to return @var{failval} if it can determine that ++ speculation must be unwound at a later time. ++ ++ The default implementation simply copies @var{val} to @var{result} and ++ emits a @code{speculation_barrier} instruction if that is defined. ++@end deftypefn ++ + @deftypefn {Target Hook} void TARGET_RUN_TARGET_SELFTESTS (void) + If selftests are enabled, run any selftests for this target. + @end deftypefn +Index: gcc/doc/tm.texi.in +=================================================================== +--- a/src/gcc/doc/tm.texi.in (.../gcc-8-branch) ++++ b/src/gcc/doc/tm.texi.in (.../ARM/arm-8-branch) +@@ -8112,4 +8112,8 @@ + + @end defmac + ++@hook TARGET_HAVE_SPECULATION_SAFE_VALUE ++ ++@hook TARGET_SPECULATION_SAFE_VALUE ++ + @hook TARGET_RUN_TARGET_SELFTESTS +Index: gcc/doc/invoke.texi +=================================================================== +--- a/src/gcc/doc/invoke.texi (.../gcc-8-branch) ++++ b/src/gcc/doc/invoke.texi (.../ARM/arm-8-branch) +@@ -605,7 +605,7 @@ + -mpc-relative-literal-loads @gol + -msign-return-address=@var{scope} @gol + -march=@var{name} -mcpu=@var{name} -mtune=@var{name} @gol +--moverride=@var{string} -mverbose-cost-dump} ++-moverride=@var{string} -mverbose-cost-dump -mtrack-speculation} + + @emph{Adapteva Epiphany Options} + @gccoptlist{-mhalf-reg-file -mprefer-short-insn-regs @gol +@@ -14702,6 +14702,14 @@ + precision of division results to about 16 bits for + single precision and to 32 bits for double precision. + ++@item -mtrack-speculation ++@itemx -mno-track-speculation ++Enable or disable generation of additional code to track speculative ++execution through conditional branches. The tracking state can then ++be used by the compiler when expanding calls to ++@code{__builtin_speculation_safe_copy} to permit a more efficient code ++sequence to be generated. ++ + @item -march=@var{name} + @opindex march + Specify the name of the target architecture and, optionally, one or +Index: gcc/doc/md.texi +=================================================================== +--- a/src/gcc/doc/md.texi (.../gcc-8-branch) ++++ b/src/gcc/doc/md.texi (.../ARM/arm-8-branch) +@@ -6955,6 +6955,21 @@ + before the instruction with respect to loads and stores after the instruction. + This pattern has no operands. + ++@cindex @code{speculation_barrier} instruction pattern ++@item @samp{speculation_barrier} ++If the target can support speculative execution, then this pattern should ++be defined to an instruction that will block subsequent execution until ++any prior speculation conditions has been resolved. The pattern must also ++ensure that the compiler cannot move memory operations past the barrier, ++so it needs to be an UNSPEC_VOLATILE pattern. The pattern has no ++operands. ++ ++If this pattern is not defined then the default expansion of ++@code{__builtin_speculation_safe_value} will emit a warning. You can ++suppress this warning by defining this pattern with a final condition ++of @code{0} (zero), which tells the compiler that a speculation ++barrier is not needed for this target. ++ + @cindex @code{sync_compare_and_swap@var{mode}} instruction pattern + @item @samp{sync_compare_and_swap@var{mode}} + This pattern, if defined, emits code for an atomic compare-and-swap --- gcc-8-8.2.0.orig/debian/patches/gcc-linaro-no-macros.diff +++ gcc-8-8.2.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,1 +0,0 @@ +-8.2-2018.08~dev --- gcc-8-8.2.0.orig/debian/patches/gcc-linaro.diff +++ gcc-8-8.2.0/debian/patches/gcc-linaro.diff @@ -0,0 +1,2216 @@ +# DP: Changes for the Linaro 8-2018.11 snapshot. + +MSG=$(git log origin/linaro/gcc-8-branch --format=format:"%s" -n 1 --grep "Merge branches"); SVN=${MSG##* }; git log origin/gcc-8-branch --format=format:"%H" -n 1 --grep "gcc-8-branch@${SVN%.}" + +LANG=C git diff --no-renames bb85d61e6bfbadee4494e034a5d8187cf0626aed 1604249e382610b087a72d0d07103f815458cec0 \ + | egrep -v '^(diff|index) ' \ + | filterdiff --strip=1 --addoldprefix=a/src/ --addnewprefix=b/src/ \ + | sed 's,a/src//dev/null,/dev/null,' + +LANG=C svn diff svn://gcc.gnu.org/svn/gcc/branches/gcc-8-branch@268147 svn://gcc.gnu.org/svn/gcc/branches/ARM/arm-8-branch \ + | sed -r 's,^--- (\S+)\t(\S+)(.*)$,--- a/src/\1\t\2,;s,^\+\+\+ (\S+)\t(\S+)(.*)$,+++ b/src/\1\t\2,' \ + | awk '/^Index:.*\.(class|texi)/ {skip=1; next} /^Index:/ { skip=0 } skip==0' + +Index: gcc/LINARO-VERSION +=================================================================== +--- a/src/gcc/LINARO-VERSION (.../gcc-8-branch) ++++ b/src/gcc/LINARO-VERSION (.../ARM/arm-8-branch) +@@ -0,0 +1 @@ ++8.2-2018.08~dev +Index: gcc/targhooks.c +=================================================================== +--- a/src/gcc/targhooks.c (.../gcc-8-branch) ++++ b/src/gcc/targhooks.c (.../ARM/arm-8-branch) +@@ -2336,4 +2336,43 @@ + { + } + ++/* Default implementation of TARGET_HAVE_SPECULATION_SAFE_VALUE. */ ++bool ++default_have_speculation_safe_value (bool active ATTRIBUTE_UNUSED) ++{ ++#ifdef HAVE_speculation_barrier ++ return active ? HAVE_speculation_barrier : true; ++#else ++ return false; ++#endif ++} ++/* Alternative implementation of TARGET_HAVE_SPECULATION_SAFE_VALUE ++ that can be used on targets that never have speculative execution. */ ++bool ++speculation_safe_value_not_needed (bool active) ++{ ++ return !active; ++} ++ ++/* Default implementation of the speculation-safe-load builtin. This ++ implementation simply copies val to result and generates a ++ speculation_barrier insn, if such a pattern is defined. */ ++rtx ++default_speculation_safe_value (machine_mode mode ATTRIBUTE_UNUSED, ++ rtx result, rtx val, ++ rtx failval ATTRIBUTE_UNUSED) ++{ ++ emit_move_insn (result, val); ++ ++#ifdef HAVE_speculation_barrier ++ /* Assume the target knows what it is doing: if it defines a ++ speculation barrier, but it is not enabled, then assume that one ++ isn't needed. */ ++ if (HAVE_speculation_barrier) ++ emit_insn (gen_speculation_barrier ()); ++#endif ++ ++ return result; ++} ++ + #include "gt-targhooks.h" +Index: gcc/targhooks.h +=================================================================== +--- a/src/gcc/targhooks.h (.../gcc-8-branch) ++++ b/src/gcc/targhooks.h (.../ARM/arm-8-branch) +@@ -289,4 +289,8 @@ + extern bool default_stack_clash_protection_final_dynamic_probe (rtx); + extern void default_select_early_remat_modes (sbitmap); + ++extern bool default_have_speculation_safe_value (bool); ++extern bool speculation_safe_value_not_needed (bool); ++extern rtx default_speculation_safe_value (machine_mode, rtx, rtx, rtx); ++ + #endif /* GCC_TARGHOOKS_H */ +Index: gcc/cppbuiltin.c +=================================================================== +--- a/src/gcc/cppbuiltin.c (.../gcc-8-branch) ++++ b/src/gcc/cppbuiltin.c (.../ARM/arm-8-branch) +@@ -53,18 +53,41 @@ + *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: gcc/c-family/c-cppbuiltin.c +=================================================================== +--- a/src/gcc/c-family/c-cppbuiltin.c (.../gcc-8-branch) ++++ b/src/gcc/c-family/c-cppbuiltin.c (.../ARM/arm-8-branch) +@@ -1361,7 +1361,12 @@ + cpp_define (pfile, "__WCHAR_UNSIGNED__"); + + cpp_atomic_builtins (pfile); +- ++ ++ /* Show support for __builtin_speculation_safe_value () if the target ++ has been updated to fully support it. */ ++ if (targetm.have_speculation_safe_value (false)) ++ cpp_define (pfile, "__HAVE_SPECULATION_SAFE_VALUE"); ++ + #ifdef DWARF2_UNWIND_INFO + if (dwarf2out_do_cfi_asm ()) + cpp_define (pfile, "__GCC_HAVE_DWARF2_CFI_ASM"); +Index: gcc/c-family/c-common.c +=================================================================== +--- a/src/gcc/c-family/c-common.c (.../gcc-8-branch) ++++ b/src/gcc/c-family/c-common.c (.../ARM/arm-8-branch) +@@ -6456,6 +6456,122 @@ + return type ? type : error_mark_node; + } + ++/* Work out the size of the first argument of a call to ++ __builtin_speculation_safe_value. Only pointers and integral types ++ are permitted. Return -1 if the argument type is not supported or ++ the size is too large; 0 if the argument type is a pointer or the ++ size if it is integral. */ ++static enum built_in_function ++speculation_safe_value_resolve_call (tree function, vec *params) ++{ ++ /* Type of the argument. */ ++ tree type; ++ int size; ++ ++ if (vec_safe_is_empty (params)) ++ { ++ error ("too few arguments to function %qE", function); ++ return BUILT_IN_NONE; ++ } ++ ++ type = TREE_TYPE ((*params)[0]); ++ if (TREE_CODE (type) == ARRAY_TYPE && c_dialect_cxx ()) ++ { ++ /* Force array-to-pointer decay for C++. */ ++ (*params)[0] = default_conversion ((*params)[0]); ++ type = TREE_TYPE ((*params)[0]); ++ } ++ ++ if (POINTER_TYPE_P (type)) ++ return BUILT_IN_SPECULATION_SAFE_VALUE_PTR; ++ ++ if (!INTEGRAL_TYPE_P (type)) ++ goto incompatible; ++ ++ if (!COMPLETE_TYPE_P (type)) ++ goto incompatible; ++ ++ size = tree_to_uhwi (TYPE_SIZE_UNIT (type)); ++ if (size == 1 || size == 2 || size == 4 || size == 8 || size == 16) ++ return ((enum built_in_function) ++ ((int) BUILT_IN_SPECULATION_SAFE_VALUE_1 + exact_log2 (size))); ++ ++ incompatible: ++ /* Issue the diagnostic only if the argument is valid, otherwise ++ it would be redundant at best and could be misleading. */ ++ if (type != error_mark_node) ++ error ("operand type %qT is incompatible with argument %d of %qE", ++ type, 1, function); ++ ++ return BUILT_IN_NONE; ++} ++ ++/* Validate and coerce PARAMS, the arguments to ORIG_FUNCTION to fit ++ the prototype for FUNCTION. The first argument is mandatory, a second ++ argument, if present, must be type compatible with the first. */ ++static bool ++speculation_safe_value_resolve_params (location_t loc, tree orig_function, ++ vec *params) ++{ ++ tree val; ++ ++ if (params->length () == 0) ++ { ++ error_at (loc, "too few arguments to function %qE", orig_function); ++ return false; ++ } ++ ++ else if (params->length () > 2) ++ { ++ error_at (loc, "too many arguments to function %qE", orig_function); ++ return false; ++ } ++ ++ val = (*params)[0]; ++ if (TREE_CODE (TREE_TYPE (val)) == ARRAY_TYPE) ++ val = default_conversion (val); ++ if (!(TREE_CODE (TREE_TYPE (val)) == POINTER_TYPE ++ || TREE_CODE (TREE_TYPE (val)) == INTEGER_TYPE)) ++ { ++ error_at (loc, ++ "expecting argument of type pointer or of type integer " ++ "for argument 1"); ++ return false; ++ } ++ (*params)[0] = val; ++ ++ if (params->length () == 2) ++ { ++ tree val2 = (*params)[1]; ++ if (TREE_CODE (TREE_TYPE (val2)) == ARRAY_TYPE) ++ val2 = default_conversion (val2); ++ if (!(TREE_TYPE (val) == TREE_TYPE (val2) ++ || useless_type_conversion_p (TREE_TYPE (val), TREE_TYPE (val2)))) ++ { ++ error_at (loc, "both arguments must be compatible"); ++ return false; ++ } ++ (*params)[1] = val2; ++ } ++ ++ return true; ++} ++ ++/* Cast the result of the builtin back to the type of the first argument, ++ preserving any qualifiers that it might have. */ ++static tree ++speculation_safe_value_resolve_return (tree first_param, tree result) ++{ ++ tree ptype = TREE_TYPE (first_param); ++ tree rtype = TREE_TYPE (result); ++ ptype = TYPE_MAIN_VARIANT (ptype); ++ ++ if (tree_int_cst_equal (TYPE_SIZE (ptype), TYPE_SIZE (rtype))) ++ return convert (ptype, result); ++ ++ return result; ++} ++ + /* A helper function for resolve_overloaded_builtin in resolving the + overloaded __sync_ builtins. Returns a positive power of 2 if the + first operand of PARAMS is a pointer to a supported data type. +@@ -7110,6 +7226,54 @@ + /* Handle BUILT_IN_NORMAL here. */ + switch (orig_code) + { ++ case BUILT_IN_SPECULATION_SAFE_VALUE_N: ++ { ++ tree new_function, first_param, result; ++ enum built_in_function fncode ++ = speculation_safe_value_resolve_call (function, params);; ++ ++ first_param = (*params)[0]; ++ if (fncode == BUILT_IN_NONE ++ || !speculation_safe_value_resolve_params (loc, function, params)) ++ return error_mark_node; ++ ++ if (targetm.have_speculation_safe_value (true)) ++ { ++ new_function = builtin_decl_explicit (fncode); ++ result = build_function_call_vec (loc, vNULL, new_function, params, ++ NULL); ++ ++ if (result == error_mark_node) ++ return result; ++ ++ return speculation_safe_value_resolve_return (first_param, result); ++ } ++ else ++ { ++ /* This target doesn't have, or doesn't need, active mitigation ++ against incorrect speculative execution. Simply return the ++ first parameter to the builtin. */ ++ if (!targetm.have_speculation_safe_value (false)) ++ /* The user has invoked __builtin_speculation_safe_value ++ even though __HAVE_SPECULATION_SAFE_VALUE is not ++ defined: emit a warning. */ ++ warning_at (input_location, 0, ++ "this target does not define a speculation barrier; " ++ "your program will still execute correctly, " ++ "but incorrect speculation may not be be " ++ "restricted"); ++ ++ /* If the optional second argument is present, handle any side ++ effects now. */ ++ if (params->length () == 2 ++ && TREE_SIDE_EFFECTS ((*params)[1])) ++ return build2 (COMPOUND_EXPR, TREE_TYPE (first_param), ++ (*params)[1], first_param); ++ ++ return first_param; ++ } ++ } ++ + case BUILT_IN_ATOMIC_EXCHANGE: + case BUILT_IN_ATOMIC_COMPARE_EXCHANGE: + case BUILT_IN_ATOMIC_LOAD: +Index: gcc/target.def +=================================================================== +--- a/src/gcc/target.def (.../gcc-8-branch) ++++ b/src/gcc/target.def (.../ARM/arm-8-branch) +@@ -4256,6 +4256,46 @@ + hook_bool_void_true) + + DEFHOOK ++(have_speculation_safe_value, ++"This hook is used to determine the level of target support for\n\ ++ @code{__builtin_speculation_safe_value}. If called with an argument\n\ ++ of false, it returns true if the target has been modified to support\n\ ++ this builtin. If called with an argument of true, it returns true\n\ ++ if the target requires active mitigation execution might be speculative.\n\ ++ \n\ ++ The default implementation returns false if the target does not define\n\ ++ a pattern named @code{speculation_barrier}. Else it returns true\n\ ++ for the first case and whether the pattern is enabled for the current\n\ ++ compilation for the second case.\n\ ++ \n\ ++ For targets that have no processors that can execute instructions\n\ ++ speculatively an alternative implemenation of this hook is available:\n\ ++ simply redefine this hook to @code{speculation_safe_value_not_needed}\n\ ++ along with your other target hooks.", ++bool, (bool active), default_have_speculation_safe_value) ++ ++DEFHOOK ++(speculation_safe_value, ++"This target hook can be used to generate a target-specific code\n\ ++ sequence that implements the @code{__builtin_speculation_safe_value}\n\ ++ built-in function. The function must always return @var{val} in\n\ ++ @var{result} in mode @var{mode} when the cpu is not executing\n\ ++ speculatively, but must never return that when speculating until it\n\ ++ is known that the speculation will not be unwound. The hook supports\n\ ++ two primary mechanisms for implementing the requirements. The first\n\ ++ is to emit a speculation barrier which forces the processor to wait\n\ ++ until all prior speculative operations have been resolved; the second\n\ ++ is to use a target-specific mechanism that can track the speculation\n\ ++ state and to return @var{failval} if it can determine that\n\ ++ speculation must be unwound at a later time.\n\ ++ \n\ ++ The default implementation simply copies @var{val} to @var{result} and\n\ ++ emits a @code{speculation_barrier} instruction if that is defined.", ++rtx, (machine_mode mode, rtx result, rtx val, rtx failval), ++ default_speculation_safe_value) ++ ++ ++DEFHOOK + (can_use_doloop_p, + "Return true if it is possible to use low-overhead loops (@code{doloop_end}\n\ + and @code{doloop_begin}) for a particular loop. @var{iterations} gives the\n\ +Index: gcc/configure +=================================================================== +--- a/src/gcc/configure (.../gcc-8-branch) ++++ b/src/gcc/configure (.../ARM/arm-8-branch) +@@ -1726,7 +1726,8 @@ + --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 +@@ -7649,7 +7650,7 @@ + *) PKGVERSION="($withval) " ;; + esac + else +- PKGVERSION="(GCC) " ++ PKGVERSION="(Linaro GCC `cat $srcdir/LINARO-VERSION`) " + + fi + +@@ -18448,7 +18449,7 @@ + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 18451 "configure" ++#line 18452 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -18554,7 +18555,7 @@ + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 18557 "configure" ++#line 18558 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +Index: gcc/builtins.c +=================================================================== +--- a/src/gcc/builtins.c (.../gcc-8-branch) ++++ b/src/gcc/builtins.c (.../ARM/arm-8-branch) +@@ -6629,6 +6629,55 @@ + } + + ++/* Expand a call to __builtin_speculation_safe_value_. MODE ++ represents the size of the first argument to that call, or VOIDmode ++ if the argument is a pointer. IGNORE will be true if the result ++ isn't used. */ ++static rtx ++expand_speculation_safe_value (machine_mode mode, tree exp, rtx target, ++ bool ignore) ++{ ++ rtx val, failsafe; ++ unsigned nargs = call_expr_nargs (exp); ++ ++ tree arg0 = CALL_EXPR_ARG (exp, 0); ++ ++ if (mode == VOIDmode) ++ { ++ mode = TYPE_MODE (TREE_TYPE (arg0)); ++ gcc_assert (GET_MODE_CLASS (mode) == MODE_INT); ++ } ++ ++ val = expand_expr (arg0, NULL_RTX, mode, EXPAND_NORMAL); ++ ++ /* An optional second argument can be used as a failsafe value on ++ some machines. If it isn't present, then the failsafe value is ++ assumed to be 0. */ ++ if (nargs > 1) ++ { ++ tree arg1 = CALL_EXPR_ARG (exp, 1); ++ failsafe = expand_expr (arg1, NULL_RTX, mode, EXPAND_NORMAL); ++ } ++ else ++ failsafe = const0_rtx; ++ ++ /* If the result isn't used, the behavior is undefined. It would be ++ nice to emit a warning here, but path splitting means this might ++ happen with legitimate code. So simply drop the builtin ++ expansion in that case; we've handled any side-effects above. */ ++ if (ignore) ++ return const0_rtx; ++ ++ /* If we don't have a suitable target, create one to hold the result. */ ++ if (target == NULL || GET_MODE (target) != mode) ++ target = gen_reg_rtx (mode); ++ ++ if (GET_MODE (val) != mode && GET_MODE (val) != VOIDmode) ++ val = convert_modes (mode, VOIDmode, val, false); ++ ++ return targetm.speculation_safe_value (mode, target, val, failsafe); ++} ++ + /* Expand an expression EXP that calls a built-in function, + with result going to TARGET if that's convenient + (and in mode MODE if that's convenient). +@@ -7758,6 +7807,17 @@ + folding. */ + break; + ++ case BUILT_IN_SPECULATION_SAFE_VALUE_PTR: ++ return expand_speculation_safe_value (VOIDmode, exp, target, ignore); ++ ++ case BUILT_IN_SPECULATION_SAFE_VALUE_1: ++ case BUILT_IN_SPECULATION_SAFE_VALUE_2: ++ case BUILT_IN_SPECULATION_SAFE_VALUE_4: ++ case BUILT_IN_SPECULATION_SAFE_VALUE_8: ++ case BUILT_IN_SPECULATION_SAFE_VALUE_16: ++ mode = get_builtin_sync_mode (fcode - BUILT_IN_SPECULATION_SAFE_VALUE_1); ++ return expand_speculation_safe_value (mode, exp, target, ignore); ++ + default: /* just do library call, if unknown builtin */ + break; + } +Index: gcc/builtin-attrs.def +=================================================================== +--- a/src/gcc/builtin-attrs.def (.../gcc-8-branch) ++++ b/src/gcc/builtin-attrs.def (.../ARM/arm-8-branch) +@@ -129,6 +129,8 @@ + + DEF_ATTR_TREE_LIST (ATTR_NOTHROW_LEAF_LIST, ATTR_LEAF, ATTR_NULL, ATTR_NOTHROW_LIST) + ++DEF_ATTR_TREE_LIST (ATTR_NOVOPS_NOTHROW_LEAF_LIST, ATTR_NOVOPS, \ ++ ATTR_NULL, ATTR_NOTHROW_LEAF_LIST) + DEF_ATTR_TREE_LIST (ATTR_CONST_NOTHROW_LIST, ATTR_CONST, \ + ATTR_NULL, ATTR_NOTHROW_LIST) + DEF_ATTR_TREE_LIST (ATTR_CONST_NOTHROW_LEAF_LIST, ATTR_CONST, \ +Index: gcc/testsuite/ChangeLog.arm +=================================================================== +--- a/src/gcc/testsuite/ChangeLog.arm (.../gcc-8-branch) ++++ b/src/gcc/testsuite/ChangeLog.arm (.../ARM/arm-8-branch) +@@ -0,0 +1,15 @@ ++2018-07-31 Richard Earnshaw ++ ++ * c-c++-common/spec-barrier-1.c: New test. ++ * c-c++-common/spec-barrier-2.c: New test. ++ * gcc.dg/spec-barrier-3.c: New test. ++ ++2018-08-14 Yvan Roux ++ ++ * gcc.dg/cpp/linaro-macros.c: New test. ++ ++Copyright (C) 2018 Free Software Foundation, Inc. ++ ++Copying and distribution of this file, with or without modification, ++are permitted in any medium without royalty provided the copyright ++notice and this notice are preserved. +Index: gcc/testsuite/gcc.dg/spec-barrier-3.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/spec-barrier-3.c (.../gcc-8-branch) ++++ b/src/gcc/testsuite/gcc.dg/spec-barrier-3.c (.../ARM/arm-8-branch) +@@ -0,0 +1,13 @@ ++/* { dg-do compile } */ ++/* { dg-options "-Wpedantic" } */ ++ ++/* __builtin_speculation_safe_value returns a value with the same type ++ as its first argument. There should be a warning if that isn't ++ type-compatible with the use. */ ++int * ++f (int x) ++{ ++ return __builtin_speculation_safe_value (x); /* { dg-warning "returning 'int' from a function with return type 'int \\*' makes pointer from integer without a cast" } */ ++} ++ ++/* { dg-prune-output "this target does not define a speculation barrier;" } */ +Index: gcc/testsuite/gcc.dg/cpp/linaro-macros.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/cpp/linaro-macros.c (.../gcc-8-branch) ++++ b/src/gcc/testsuite/gcc.dg/cpp/linaro-macros.c (.../ARM/arm-8-branch) +@@ -0,0 +1,14 @@ ++/* Test __LINARO_RELEASE__ and __LINARO_SPIN__. */ ++/* { dg-do compile } */ ++ ++#if defined(__LINARO_RELEASE__) && __LINARO_RELEASE__ >= 201808 ++int i; ++#else ++#error "Bad __LINARO_RELEASE__." ++#endif ++ ++#if defined(__LINARO_SPIN__) && __LINARO_SPIN__ >= 0 ++int j; ++#else ++#error "Bad __LINARO_SPIN__." ++#endif +Index: gcc/testsuite/c-c++-common/spec-barrier-1.c +=================================================================== +--- a/src/gcc/testsuite/c-c++-common/spec-barrier-1.c (.../gcc-8-branch) ++++ b/src/gcc/testsuite/c-c++-common/spec-barrier-1.c (.../ARM/arm-8-branch) +@@ -0,0 +1,38 @@ ++/* { dg-do run } */ ++/* { dg-options "-O" } */ ++ ++/* Test that __builtin_speculation_safe_value returns the correct value. */ ++/* This test will cause an unfiltered warning to be emitted on targets ++ that have not implemented support for speculative execution ++ barriers. They should fix that rather than disabling this ++ test. */ ++char a = 1; ++short b = 2; ++int c = 3; ++long d = 4; ++long long e = 5; ++int *f = (int*) &c; ++#ifdef __SIZEOF_INT128__ ++__int128 g = 9; ++#endif ++ ++int main () ++{ ++ if (__builtin_speculation_safe_value (a) != 1) ++ __builtin_abort (); ++ if (__builtin_speculation_safe_value (b) != 2) ++ __builtin_abort (); ++ if (__builtin_speculation_safe_value (c) != 3) ++ __builtin_abort (); ++ if (__builtin_speculation_safe_value (d) != 4) ++ __builtin_abort (); ++ if (__builtin_speculation_safe_value (e) != 5) ++ __builtin_abort (); ++ if (__builtin_speculation_safe_value (f) != &c) ++ __builtin_abort (); ++#ifdef __SIZEOF_INT128__ ++ if (__builtin_speculation_safe_value (g) != 9) ++ __builtin_abort (); ++#endif ++ return 0; ++} +Index: gcc/testsuite/c-c++-common/spec-barrier-2.c +=================================================================== +--- a/src/gcc/testsuite/c-c++-common/spec-barrier-2.c (.../gcc-8-branch) ++++ b/src/gcc/testsuite/c-c++-common/spec-barrier-2.c (.../ARM/arm-8-branch) +@@ -0,0 +1,17 @@ ++/* { dg-do run } */ ++ ++/* Even on targets that don't need the optional failval parameter, ++ side-effects on the operand should still be calculated. */ ++ ++int x = 3; ++volatile int y = 9; ++ ++int main () ++{ ++ int z = __builtin_speculation_safe_value (x, y++); ++ if (z != 3 || y != 10) ++ __builtin_abort (); ++ return 0; ++} ++ ++/* { dg-prune-output "this target does not define a speculation barrier;" } */ +Index: gcc/builtin-types.def +=================================================================== +--- a/src/gcc/builtin-types.def (.../gcc-8-branch) ++++ b/src/gcc/builtin-types.def (.../ARM/arm-8-branch) +@@ -764,6 +764,12 @@ + BT_VOID, BT_LONG) + DEF_FUNCTION_TYPE_VAR_1 (BT_FN_VOID_ULL_VAR, + BT_VOID, BT_ULONGLONG) ++DEF_FUNCTION_TYPE_VAR_1 (BT_FN_PTR_PTR_VAR, BT_PTR, BT_PTR) ++DEF_FUNCTION_TYPE_VAR_1 (BT_FN_I1_I1_VAR, BT_I1, BT_I1) ++DEF_FUNCTION_TYPE_VAR_1 (BT_FN_I2_I2_VAR, BT_I2, BT_I2) ++DEF_FUNCTION_TYPE_VAR_1 (BT_FN_I4_I4_VAR, BT_I4, BT_I4) ++DEF_FUNCTION_TYPE_VAR_1 (BT_FN_I8_I8_VAR, BT_I8, BT_I8) ++DEF_FUNCTION_TYPE_VAR_1 (BT_FN_I16_I16_VAR, BT_I16, BT_I16) + + DEF_FUNCTION_TYPE_VAR_2 (BT_FN_INT_FILEPTR_CONST_STRING_VAR, + BT_INT, BT_FILEPTR, BT_CONST_STRING) +Index: gcc/builtins.def +=================================================================== +--- a/src/gcc/builtins.def (.../gcc-8-branch) ++++ b/src/gcc/builtins.def (.../ARM/arm-8-branch) +@@ -1017,6 +1017,28 @@ + true, true, true, ATTR_NOTHROW_LEAF_LIST, false, + !targetm.have_tls) + ++/* Suppressing speculation. Users are expected to use the first (N) ++ variant, which will be translated internally into one of the other ++ types. */ ++ ++DEF_GCC_BUILTIN (BUILT_IN_SPECULATION_SAFE_VALUE_N, "speculation_safe_value", ++ BT_FN_VOID_VAR, ATTR_NOVOPS_NOTHROW_LEAF_LIST) ++ ++DEF_GCC_BUILTIN (BUILT_IN_SPECULATION_SAFE_VALUE_PTR, ++ "speculation_safe_value_ptr", BT_FN_PTR_PTR_VAR, ++ ATTR_NOVOPS_NOTHROW_LEAF_LIST) ++DEF_GCC_BUILTIN (BUILT_IN_SPECULATION_SAFE_VALUE_1, "speculation_safe_value_1", ++ BT_FN_I1_I1_VAR, ATTR_NOVOPS_NOTHROW_LEAF_LIST) ++DEF_GCC_BUILTIN (BUILT_IN_SPECULATION_SAFE_VALUE_2, "speculation_safe_value_2", ++ BT_FN_I2_I2_VAR, ATTR_NOVOPS_NOTHROW_LEAF_LIST) ++DEF_GCC_BUILTIN (BUILT_IN_SPECULATION_SAFE_VALUE_4, "speculation_safe_value_4", ++ BT_FN_I4_I4_VAR, ATTR_NOVOPS_NOTHROW_LEAF_LIST) ++DEF_GCC_BUILTIN (BUILT_IN_SPECULATION_SAFE_VALUE_8, "speculation_safe_value_8", ++ BT_FN_I8_I8_VAR, ATTR_NOVOPS_NOTHROW_LEAF_LIST) ++DEF_GCC_BUILTIN (BUILT_IN_SPECULATION_SAFE_VALUE_16, ++ "speculation_safe_value_16", BT_FN_I16_I16_VAR, ++ ATTR_NOVOPS_NOTHROW_LEAF_LIST) ++ + /* Exception support. */ + DEF_BUILTIN_STUB (BUILT_IN_UNWIND_RESUME, "__builtin_unwind_resume") + DEF_BUILTIN_STUB (BUILT_IN_CXA_END_CLEANUP, "__builtin_cxa_end_cleanup") +Index: gcc/configure.ac +=================================================================== +--- a/src/gcc/configure.ac (.../gcc-8-branch) ++++ b/src/gcc/configure.ac (.../ARM/arm-8-branch) +@@ -929,7 +929,7 @@ + ) + AC_SUBST(CONFIGURE_SPECS) + +-ACX_PKGVERSION([GCC]) ++ACX_PKGVERSION([Linaro GCC `cat $srcdir/LINARO-VERSION`]) + ACX_BUGURL([https://gcc.gnu.org/bugs/]) + + # Sanity check enable_languages in case someone does not run the toplevel +Index: gcc/ChangeLog.arm +=================================================================== +--- a/src/gcc/ChangeLog.arm (.../gcc-8-branch) ++++ b/src/gcc/ChangeLog.arm (.../ARM/arm-8-branch) +@@ -0,0 +1,203 @@ ++2018-08-14 Ramana Radhakrishnan ++ ++ Backport spectre v1 mitigation patches. ++ 2018-08-06 John David Anglin ++ PR target/86785 ++ * config/pa/pa.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): ++ Define to speculation_safe_value_not_needed. ++ ++ 2018-08-06 Ulrich Weigand ++ PR target/86807 ++ * config/spu/spu.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): ++ Define to speculation_safe_value_not_needed. ++ ++ 2018-08-03 Sandra Loosemore ++ PR target/86799 ++ * config/nios2/nios2.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): ++ Define. ++ ++ 2018-08-03 Jeff Law ++ PR target/86795 ++ * config/mn10300/mn10300.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): ++ Define to speculation_safe_value_not_needed. ++ ++ 2018-08-02 Jeff Law ++ PR target/86790 ++ * config/m68k/m68k.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): ++ Define to speculation_safe_value_not_needed. ++ ++ PR target/86784 ++ * config/h8300/h8300.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): ++ Define to speculation_safe_value_not_needed. ++ ++ 2018-08-02 Nick Clifton ++ PR target/86813 ++ * config/stormy16/stormy16.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): ++ Define to speculation_safe_value_not_needed. ++ ++ PR target/86810 ++ * config/v850/v850.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): ++ Define to speculation_safe_value_not_needed. ++ ++ PR target/86810 ++ * config/v850/v850.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): ++ Define to speculation_safe_value_not_needed. ++ ++ PR target/86803 ++ * config/rx/rx.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): ++ Define to speculation_safe_value_not_needed. ++ ++ PR target/86797 ++ * config/msp430/msp430.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): ++ Define to speculation_safe_value_not_needed. ++ ++ PR target/86791 ++ * config/mcore/mcore.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): ++ Define to speculation_safe_value_not_needed. ++ ++ PR target/86789 ++ * config/m32r/m32r.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): ++ Define to speculation_safe_value_not_needed. ++ ++ PR target/86787 ++ * config/iq2000/iq2000.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): ++ Define to speculation_safe_value_not_needed. ++ ++ PR target/86782 ++ * config/frv/frv.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Define to ++ speculation_safe_value_not_needed. ++ ++ PR target/86781 ++ * config/fr30/fr30.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Define ++ to speculation_safe_value_not_needed. ++ ++ 2018-08-01 Tom de Vries ++ PR target/86800 ++ * config/nvptx/nvptx.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Define to ++ speculation_safe_value_not_needed. ++ ++ 2018-08-01 Richard Earnshaw ++ * config/rs6000/rs6000.md (speculation_barrier): Renamed from ++ rs6000_speculation_barrier. ++ * config/rs6000/rs6000.c (rs6000_expand_builtin): Adjust for ++ new barrier pattern name. ++ ++ 2018-08-01 Richard Earnshaw ++ ++ * config/i386/i386.md (unspecv): Add UNSPECV_SPECULATION_BARRIER. ++ (speculation_barrier): New insn. ++ ++ 2018-07-31 Ian Lance Taylor ++ * targhooks.c (default_have_speculation_safe_value): Add ++ ATTRIBUTE_UNUSED. ++ ++ 2018-07-31 Richard Earnshaw ++ * config/pdp11/pdp11.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Redefine ++ to speculation_safe_value_not_needed. ++ ++ 2018-07-31 Richard Earnshaw ++ * targhooks.h (speculation_safe_value_not_needed): New prototype. ++ * targhooks.c (speculation_safe_value_not_needed): New function. ++ * target.def (have_speculation_safe_value): Update documentation. ++ * doc/tm.texi: Regenerated. ++ ++ 2018-07-31 Richard Earnshaw ++ ++ * config/aarch64/iterators.md (ALLI_TI): New iterator. ++ * config/aarch64/aarch64.md (despeculate_copy): New ++ expand. ++ (despeculate_copy_insn): New insn. ++ (despeculate_copyti_insn): New insn. ++ (despeculate_simple): New insn ++ (despeculate_simpleti): New insn. ++ * config/aarch64/aarch64.c (aarch64_speculation_safe_value): New ++ function. ++ (TARGET_SPECULATION_SAFE_VALUE): Redefine to ++ aarch64_speculation_safe_value. ++ (aarch64_print_operand): Handle const0_rtx in modifier 'H'. ++ ++ 2018-07-31 Richard Earnshaw ++ ++ * config/aarch64/aarch64-speculation.cc: New file. ++ * config/aarch64/aarch64-passes.def (pass_track_speculation): Add ++ before pass_reorder_blocks. ++ * config/aarch64/aarch64-protos.h (make_pass_track_speculation): Add ++ prototype. ++ * config/aarch64/aarch64.c (aarch64_conditional_register_usage): Fix ++ X14 and X15 when tracking speculation. ++ * config/aarch64/aarch64.md (register name constants): Add ++ SPECULATION_TRACKER_REGNUM and SPECULATION_SCRATCH_REGNUM. ++ (unspec): Add UNSPEC_SPECULATION_TRACKER. ++ (speculation_barrier): New insn attribute. ++ (cmp): Allow SP in comparisons. ++ (speculation_tracker): New insn. ++ (speculation_barrier): Add speculation_barrier attribute. ++ * config/aarch64/t-aarch64: Add make rule for aarch64-speculation.o. ++ * config.gcc (aarch64*-*-*): Add aarch64-speculation.o to extra_objs. ++ * doc/invoke.texi (AArch64 Options): Document -mtrack-speculation. ++ ++ 2018-07-31 Richard Earnshaw ++ * config/aarch64/aarch64.md (cb1): Disable when ++ aarch64_track_speculation is true. ++ (tb1): Likewise. ++ * config/aarch64/aarch64.c (aarch64_split_compare_regs): Do not ++ generate CB[N]Z when tracking speculation. ++ (aarch64_split_compare_and_swap): Likewise. ++ (aarch64_split_atomic_op): Likewise. ++ ++ 2018-07-31 Richard Earnshaw ++ * config/aarch64/aarch64.opt (mtrack-speculation): New target option. ++ ++ 2018-07-31 Richard Earnshaw ++ * config/aarch64.md (unspecv): Add UNSPECV_SPECULAION_BARRIER. ++ (speculation_barrier): New insn. ++ ++ 2018-07-31 Richard Earnshaw ++ * config/arm/unspecs.md (unspecv): Add VUNSPEC_SPECULATION_BARRIER. ++ * config/arm/arm.md (speculation_barrier): New expand. ++ (speculation_barrier_insn): New pattern. ++ ++ 2018-07-31 Richard Earnshaw ++ * builtin-types.def (BT_FN_PTR_PTR_VAR): New function type. ++ (BT_FN_I1_I1_VAR, BT_FN_I2_I2_VAR, BT_FN_I4_I4_VAR): Likewise. ++ (BT_FN_I8_I8_VAR, BT_FN_I16_I16_VAR): Likewise. ++ * builtin-attrs.def (ATTR_NOVOPS_NOTHROW_LEAF_LIST): New attribute ++ list. ++ * builtins.def (BUILT_IN_SPECULATION_SAFE_VALUE_N): New builtin. ++ (BUILT_IN_SPECULATION_SAFE_VALUE_PTR): New internal builtin. ++ (BUILT_IN_SPECULATION_SAFE_VALUE_1): Likewise. ++ (BUILT_IN_SPECULATION_SAFE_VALUE_2): Likewise. ++ (BUILT_IN_SPECULATION_SAFE_VALUE_4): Likewise. ++ (BUILT_IN_SPECULATION_SAFE_VALUE_8): Likewise. ++ (BUILT_IN_SPECULATION_SAFE_VALUE_16): Likewise. ++ * builtins.c (expand_speculation_safe_value): New function. ++ (expand_builtin): Call it. ++ * doc/cpp.texi: Document predefine __HAVE_SPECULATION_SAFE_VALUE. ++ * doc/extend.texi: Document __builtin_speculation_safe_value. ++ * doc/md.texi: Document "speculation_barrier" pattern. ++ * doc/tm.texi.in: Pull in TARGET_SPECULATION_SAFE_VALUE and ++ TARGET_HAVE_SPECULATION_SAFE_VALUE. ++ * doc/tm.texi: Regenerated. ++ * target.def (have_speculation_safe_value, speculation_safe_value): New ++ hooks. ++ * targhooks.c (default_have_speculation_safe_value): New function. ++ (default_speculation_safe_value): New function. ++ * targhooks.h (default_have_speculation_safe_value): Add prototype. ++ (default_speculation_safe_value): Add prototype. ++ ++2018-08-14 Yvan Roux ++ ++ * LINARO-VERSION: New file. ++ * configure.ac: Add Linaro version string. ++ * configure: Regenerate. ++ * Makefile.in (LINAROVER, LINAROVER_C, LINAROVER_S): Define. ++ (CFLAGS-cppbuiltin.o): Add LINAROVER macro definition. ++ (cppbuiltin.o): Depend on $(LINAROVER). ++ * cppbuiltin.c (parse_linarover): New. ++ (define_GNUC__): Define __LINARO_RELEASE__ and __LINARO_SPIN__ macros. ++ ++Copyright (C) 2018 Free Software Foundation, Inc. ++ ++Copying and distribution of this file, with or without modification, ++are permitted in any medium without royalty provided the copyright ++notice and this notice are preserved. +Index: gcc/config.gcc +=================================================================== +--- a/src/gcc/config.gcc (.../gcc-8-branch) ++++ b/src/gcc/config.gcc (.../ARM/arm-8-branch) +@@ -304,7 +304,7 @@ + extra_headers="arm_fp16.h arm_neon.h arm_acle.h" + c_target_objs="aarch64-c.o" + cxx_target_objs="aarch64-c.o" +- extra_objs="aarch64-builtins.o aarch-common.o cortex-a57-fma-steering.o" ++ extra_objs="aarch64-builtins.o aarch-common.o cortex-a57-fma-steering.o aarch64-speculation.o" + target_gtfiles="\$(srcdir)/config/aarch64/aarch64-builtins.c" + target_has_targetm_common=yes + ;; +Index: gcc/Makefile.in +=================================================================== +--- a/src/gcc/Makefile.in (.../gcc-8-branch) ++++ b/src/gcc/Makefile.in (.../ARM/arm-8-branch) +@@ -854,10 +854,12 @@ + 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 := +@@ -884,6 +886,7 @@ + "\"$(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@ +@@ -2883,8 +2886,9 @@ + -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: gcc/config/nvptx/nvptx.c +=================================================================== +--- a/src/gcc/config/nvptx/nvptx.c (.../gcc-8-branch) ++++ b/src/gcc/config/nvptx/nvptx.c (.../ARM/arm-8-branch) +@@ -5864,6 +5864,9 @@ + #undef TARGET_CAN_CHANGE_MODE_CLASS + #define TARGET_CAN_CHANGE_MODE_CLASS nvptx_can_change_mode_class + ++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE ++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed ++ + struct gcc_target targetm = TARGET_INITIALIZER; + + #include "gt-nvptx.h" +Index: gcc/config/frv/frv.c +=================================================================== +--- a/src/gcc/config/frv/frv.c (.../gcc-8-branch) ++++ b/src/gcc/config/frv/frv.c (.../ARM/arm-8-branch) +@@ -528,6 +528,9 @@ + #undef TARGET_CONSTANT_ALIGNMENT + #define TARGET_CONSTANT_ALIGNMENT constant_alignment_word_strings + ++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE ++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed ++ + struct gcc_target targetm = TARGET_INITIALIZER; + + #define FRV_SYMBOL_REF_TLS_P(RTX) \ +Index: gcc/config/spu/spu.c +=================================================================== +--- a/src/gcc/config/spu/spu.c (.../gcc-8-branch) ++++ b/src/gcc/config/spu/spu.c (.../ARM/arm-8-branch) +@@ -7458,6 +7458,9 @@ + #undef TARGET_CONSTANT_ALIGNMENT + #define TARGET_CONSTANT_ALIGNMENT spu_constant_alignment + ++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE ++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed ++ + struct gcc_target targetm = TARGET_INITIALIZER; + + #include "gt-spu.h" +Index: gcc/config/m32r/m32r.c +=================================================================== +--- a/src/gcc/config/m32r/m32r.c (.../gcc-8-branch) ++++ b/src/gcc/config/m32r/m32r.c (.../ARM/arm-8-branch) +@@ -226,6 +226,9 @@ + #undef TARGET_STARTING_FRAME_OFFSET + #define TARGET_STARTING_FRAME_OFFSET m32r_starting_frame_offset + ++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE ++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed ++ + struct gcc_target targetm = TARGET_INITIALIZER; + + /* Called by m32r_option_override to initialize various things. */ +Index: gcc/config/rx/rx.c +=================================================================== +--- a/src/gcc/config/rx/rx.c (.../gcc-8-branch) ++++ b/src/gcc/config/rx/rx.c (.../ARM/arm-8-branch) +@@ -3785,6 +3785,9 @@ + #undef TARGET_RTX_COSTS + #define TARGET_RTX_COSTS rx_rtx_costs + ++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE ++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed ++ + struct gcc_target targetm = TARGET_INITIALIZER; + + #include "gt-rx.h" +Index: gcc/config/i386/i386.md +=================================================================== +--- a/src/gcc/config/i386/i386.md (.../gcc-8-branch) ++++ b/src/gcc/config/i386/i386.md (.../ARM/arm-8-branch) +@@ -291,6 +291,9 @@ + UNSPECV_CLRSSBSY + UNSPECV_MOVDIRI + UNSPECV_MOVDIR64B ++ ++ ;; For Speculation Barrier support ++ UNSPECV_SPECULATION_BARRIER + ]) + + ;; Constants to represent rounding modes in the ROUND instruction +@@ -20777,6 +20780,13 @@ + "movdir64b\t{%1, %0|%0, %1}" + [(set_attr "type" "other")]) + ++(define_insn "speculation_barrier" ++ [(unspec_volatile [(const_int 0)] UNSPECV_SPECULATION_BARRIER)] ++ "" ++ "lfence" ++ [(set_attr "type" "other") ++ (set_attr "length" "3")]) ++ + (include "mmx.md") + (include "sse.md") + (include "sync.md") +Index: gcc/config/pdp11/pdp11.c +=================================================================== +--- a/src/gcc/config/pdp11/pdp11.c (.../gcc-8-branch) ++++ b/src/gcc/config/pdp11/pdp11.c (.../ARM/arm-8-branch) +@@ -251,6 +251,9 @@ + + #undef TARGET_CAN_CHANGE_MODE_CLASS + #define TARGET_CAN_CHANGE_MODE_CLASS pdp11_can_change_mode_class ++ ++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE ++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed + + /* A helper function to determine if REGNO should be saved in the + current function's stack frame. */ +Index: gcc/config/stormy16/stormy16.c +=================================================================== +--- a/src/gcc/config/stormy16/stormy16.c (.../gcc-8-branch) ++++ b/src/gcc/config/stormy16/stormy16.c (.../ARM/arm-8-branch) +@@ -2728,6 +2728,9 @@ + #undef TARGET_CONSTANT_ALIGNMENT + #define TARGET_CONSTANT_ALIGNMENT constant_alignment_word_strings + ++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE ++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed ++ + struct gcc_target targetm = TARGET_INITIALIZER; + + #include "gt-stormy16.h" +Index: gcc/config/fr30/fr30.c +=================================================================== +--- a/src/gcc/config/fr30/fr30.c (.../gcc-8-branch) ++++ b/src/gcc/config/fr30/fr30.c (.../ARM/arm-8-branch) +@@ -195,6 +195,9 @@ + #undef TARGET_CONSTANT_ALIGNMENT + #define TARGET_CONSTANT_ALIGNMENT constant_alignment_word_strings + ++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE ++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed ++ + struct gcc_target targetm = TARGET_INITIALIZER; + + +Index: gcc/config/nios2/nios2.c +=================================================================== +--- a/src/gcc/config/nios2/nios2.c (.../gcc-8-branch) ++++ b/src/gcc/config/nios2/nios2.c (.../ARM/arm-8-branch) +@@ -5572,6 +5572,9 @@ + #undef TARGET_CONSTANT_ALIGNMENT + #define TARGET_CONSTANT_ALIGNMENT constant_alignment_word_strings + ++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE ++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed ++ + struct gcc_target targetm = TARGET_INITIALIZER; + + #include "gt-nios2.h" +Index: gcc/config/iq2000/iq2000.c +=================================================================== +--- a/src/gcc/config/iq2000/iq2000.c (.../gcc-8-branch) ++++ b/src/gcc/config/iq2000/iq2000.c (.../ARM/arm-8-branch) +@@ -274,6 +274,9 @@ + #undef TARGET_STARTING_FRAME_OFFSET + #define TARGET_STARTING_FRAME_OFFSET iq2000_starting_frame_offset + ++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE ++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed ++ + struct gcc_target targetm = TARGET_INITIALIZER; + + /* Return nonzero if we split the address into high and low parts. */ +Index: gcc/config/mn10300/mn10300.c +=================================================================== +--- a/src/gcc/config/mn10300/mn10300.c (.../gcc-8-branch) ++++ b/src/gcc/config/mn10300/mn10300.c (.../ARM/arm-8-branch) +@@ -3437,4 +3437,7 @@ + #undef TARGET_MODES_TIEABLE_P + #define TARGET_MODES_TIEABLE_P mn10300_modes_tieable_p + ++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE ++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed ++ + struct gcc_target targetm = TARGET_INITIALIZER; +Index: gcc/config/m68k/m68k.c +=================================================================== +--- a/src/gcc/config/m68k/m68k.c (.../gcc-8-branch) ++++ b/src/gcc/config/m68k/m68k.c (.../ARM/arm-8-branch) +@@ -352,6 +352,9 @@ + #undef TARGET_PROMOTE_FUNCTION_MODE + #define TARGET_PROMOTE_FUNCTION_MODE m68k_promote_function_mode + ++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE ++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed ++ + static const struct attribute_spec m68k_attribute_table[] = + { + /* { name, min_len, max_len, decl_req, type_req, fn_type_req, +Index: gcc/config/aarch64/aarch64-passes.def +=================================================================== +--- a/src/gcc/config/aarch64/aarch64-passes.def (.../gcc-8-branch) ++++ b/src/gcc/config/aarch64/aarch64-passes.def (.../ARM/arm-8-branch) +@@ -19,3 +19,4 @@ + . */ + + INSERT_PASS_AFTER (pass_regrename, 1, pass_fma_steering); ++INSERT_PASS_BEFORE (pass_reorder_blocks, 1, pass_track_speculation); +Index: gcc/config/aarch64/aarch64-speculation.cc +=================================================================== +--- a/src/gcc/config/aarch64/aarch64-speculation.cc (.../gcc-8-branch) ++++ b/src/gcc/config/aarch64/aarch64-speculation.cc (.../ARM/arm-8-branch) +@@ -0,0 +1,494 @@ ++/* Speculation tracking and mitigation (e.g. CVE 2017-5753) for AArch64. ++ Copyright (C) 2018 Free Software Foundation, Inc. ++ Contributed by ARM Ltd. ++ ++ This file is part of GCC. ++ ++ GCC is free software; you can redistribute it and/or modify it ++ under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 3, or (at your option) ++ any later version. ++ ++ GCC is distributed in the hope that it will be useful, but ++ WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License ++ along with GCC; see the file COPYING3. If not see ++ . */ ++ ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "target.h" ++#include "rtl.h" ++#include "tree-pass.h" ++#include "profile-count.h" ++#include "cfg.h" ++#include "cfgbuild.h" ++#include "print-rtl.h" ++#include "cfgrtl.h" ++#include "function.h" ++#include "basic-block.h" ++#include "memmodel.h" ++#include "emit-rtl.h" ++#include "insn-attr.h" ++#include "df.h" ++#include "tm_p.h" ++#include "insn-config.h" ++#include "recog.h" ++ ++/* This pass scans the RTL just before the final branch ++ re-organisation pass. The aim is to identify all places where ++ there is conditional control flow and to insert code that tracks ++ any speculative execution of a conditional branch. ++ ++ To do this we reserve a call-clobbered register (so that it can be ++ initialized very early in the function prologue) that can then be ++ updated each time there is a conditional branch. At each such ++ branch we then generate a code sequence that uses conditional ++ select operations that are not subject to speculation themselves ++ (we ignore for the moment situations where that might not always be ++ strictly true). For example, a branch sequence such as: ++ ++ B.EQ ++ ... ++ : ++ ++ is transformed to: ++ ++ B.EQ ++ CSEL tracker, tracker, XZr, ne ++ ... ++ : ++ CSEL tracker, tracker, XZr, eq ++ ++ Since we start with the tracker initialized to all bits one, if at any ++ time the predicted control flow diverges from the architectural program ++ behavior, then the tracker will become zero (but not otherwise). ++ ++ The tracker value can be used at any time at which a value needs ++ guarding against incorrect speculation. This can be done in ++ several ways, but they all amount to the same thing. For an ++ untrusted address, or an untrusted offset to a trusted address, we ++ can simply mask the address with the tracker with the untrusted ++ value. If the CPU is not speculating, or speculating correctly, ++ then the value will remain unchanged, otherwise it will be clamped ++ to zero. For more complex scenarios we can compare the tracker ++ against zero and use the flags to form a new selection with an ++ alternate safe value. ++ ++ On implementations where the data processing instructions may ++ themselves produce speculative values, the architecture requires ++ that a CSDB instruction will resolve such data speculation, so each ++ time we use the tracker for protecting a vulnerable value we also ++ emit a CSDB: we do not need to do that each time the tracker itself ++ is updated. ++ ++ At function boundaries, we need to communicate the speculation ++ tracking state with the caller or the callee. This is tricky ++ because there is no register available for such a purpose without ++ creating a new ABI. We deal with this by relying on the principle ++ that in all real programs the stack pointer, SP will never be NULL ++ at a function boundary; we can thus encode the speculation state in ++ SP by clearing SP if the speculation tracker itself is NULL. After ++ the call we recover the tracking state back from SP into the ++ tracker register. The results is that a function call sequence is ++ transformed to ++ ++ MOV tmp, SP ++ AND tmp, tmp, tracker ++ MOV SP, tmp ++ BL ++ CMP SP, #0 ++ CSETM tracker, ne ++ ++ The additional MOV instructions in the pre-call sequence are needed ++ because SP cannot be used directly with the AND instruction. ++ ++ The code inside a function body uses the post-call sequence in the ++ prologue to establish the tracker and the pre-call sequence in the ++ epilogue to re-encode the state for the return. ++ ++ The code sequences have the nice property that if called from, or ++ calling a function that does not track speculation then the stack pointer ++ will always be non-NULL and hence the tracker will be initialized to all ++ bits one as we need: we lose the ability to fully track speculation in that ++ case, but we are still architecturally safe. ++ ++ Tracking speculation in this way is quite expensive, both in code ++ size and execution time. We employ a number of tricks to try to ++ limit this: ++ ++ 1) Simple leaf functions with no conditional branches (or use of ++ the tracker) do not need to establish a new tracker: they simply ++ carry the tracking state through SP for the duration of the call. ++ The same is also true for leaf functions that end in a tail-call. ++ ++ 2) Back-to-back function calls in a single basic block also do not ++ need to re-establish the tracker between the calls. Again, we can ++ carry the tracking state in SP for this period of time unless the ++ tracker value is needed at that point in time. ++ ++ We run the pass just before the final branch reorganization pass so ++ that we can handle most of the conditional branch cases using the ++ standard edge insertion code. The reorg pass will hopefully clean ++ things up for afterwards so that the results aren't too ++ horrible. */ ++ ++/* Generate a code sequence to clobber SP if speculating incorreclty. */ ++static rtx_insn * ++aarch64_speculation_clobber_sp () ++{ ++ rtx sp = gen_rtx_REG (DImode, SP_REGNUM); ++ rtx tracker = gen_rtx_REG (DImode, SPECULATION_TRACKER_REGNUM); ++ rtx scratch = gen_rtx_REG (DImode, SPECULATION_SCRATCH_REGNUM); ++ ++ start_sequence (); ++ emit_insn (gen_rtx_SET (scratch, sp)); ++ emit_insn (gen_anddi3 (scratch, scratch, tracker)); ++ emit_insn (gen_rtx_SET (sp, scratch)); ++ rtx_insn *seq = get_insns (); ++ end_sequence (); ++ return seq; ++} ++ ++/* Generate a code sequence to establish the tracker variable from the ++ contents of SP. */ ++static rtx_insn * ++aarch64_speculation_establish_tracker () ++{ ++ rtx sp = gen_rtx_REG (DImode, SP_REGNUM); ++ rtx tracker = gen_rtx_REG (DImode, SPECULATION_TRACKER_REGNUM); ++ start_sequence (); ++ rtx cc = aarch64_gen_compare_reg (EQ, sp, const0_rtx); ++ emit_insn (gen_cstoredi_neg (tracker, ++ gen_rtx_NE (CCmode, cc, const0_rtx), cc)); ++ rtx_insn *seq = get_insns (); ++ end_sequence (); ++ return seq; ++} ++ ++/* Main speculation tracking pass. */ ++unsigned int ++aarch64_do_track_speculation () ++{ ++ basic_block bb; ++ bool needs_tracking = false; ++ bool need_second_pass = false; ++ rtx_insn *insn; ++ int fixups_pending = 0; ++ ++ FOR_EACH_BB_FN (bb, cfun) ++ { ++ insn = BB_END (bb); ++ ++ if (dump_file) ++ fprintf (dump_file, "Basic block %d:\n", bb->index); ++ ++ while (insn != BB_HEAD (bb) ++ && NOTE_P (insn)) ++ insn = PREV_INSN (insn); ++ ++ if (control_flow_insn_p (insn)) ++ { ++ if (any_condjump_p (insn)) ++ { ++ if (dump_file) ++ { ++ fprintf (dump_file, " condjump\n"); ++ dump_insn_slim (dump_file, insn); ++ } ++ ++ rtx src = SET_SRC (pc_set (insn)); ++ ++ /* Check for an inverted jump, where the fall-through edge ++ appears first. */ ++ bool inverted = GET_CODE (XEXP (src, 2)) != PC; ++ /* The other edge must be the PC (we assume that we don't ++ have conditional return instructions). */ ++ gcc_assert (GET_CODE (XEXP (src, 1 + !inverted)) == PC); ++ ++ rtx cond = copy_rtx (XEXP (src, 0)); ++ gcc_assert (COMPARISON_P (cond) ++ && REG_P (XEXP (cond, 0)) ++ && REGNO (XEXP (cond, 0)) == CC_REGNUM ++ && XEXP (cond, 1) == const0_rtx); ++ enum rtx_code inv_cond_code ++ = reversed_comparison_code (cond, insn); ++ /* We should be able to reverse all conditions. */ ++ gcc_assert (inv_cond_code != UNKNOWN); ++ rtx inv_cond = gen_rtx_fmt_ee (inv_cond_code, GET_MODE (cond), ++ copy_rtx (XEXP (cond, 0)), ++ copy_rtx (XEXP (cond, 1))); ++ if (inverted) ++ std::swap (cond, inv_cond); ++ ++ insert_insn_on_edge (gen_speculation_tracker (cond), ++ BRANCH_EDGE (bb)); ++ insert_insn_on_edge (gen_speculation_tracker (inv_cond), ++ FALLTHRU_EDGE (bb)); ++ needs_tracking = true; ++ } ++ else if (GET_CODE (PATTERN (insn)) == RETURN) ++ { ++ /* If we already know we'll need a second pass, don't put ++ out the return sequence now, or we might end up with ++ two copies. Instead, we'll do all return statements ++ during the second pass. However, if this is the ++ first return insn we've found and we already ++ know that we'll need to emit the code, we can save a ++ second pass by emitting the code now. */ ++ if (needs_tracking && ! need_second_pass) ++ { ++ rtx_insn *seq = aarch64_speculation_clobber_sp (); ++ emit_insn_before (seq, insn); ++ } ++ else ++ { ++ fixups_pending++; ++ need_second_pass = true; ++ } ++ } ++ else if (find_reg_note (insn, REG_NON_LOCAL_GOTO, NULL_RTX)) ++ { ++ rtx_insn *seq = aarch64_speculation_clobber_sp (); ++ emit_insn_before (seq, insn); ++ needs_tracking = true; ++ } ++ } ++ else ++ { ++ if (dump_file) ++ { ++ fprintf (dump_file, " other\n"); ++ dump_insn_slim (dump_file, insn); ++ } ++ } ++ } ++ ++ FOR_EACH_BB_FN (bb, cfun) ++ { ++ rtx_insn *end = BB_END (bb); ++ rtx_insn *call_insn = NULL; ++ ++ if (bb->flags & BB_NON_LOCAL_GOTO_TARGET) ++ { ++ rtx_insn *label = NULL; ++ /* For non-local goto targets we have to recover the ++ speculation state from SP. Find the last code label at ++ the head of the block and place the fixup sequence after ++ that. */ ++ for (insn = BB_HEAD (bb); insn != end; insn = NEXT_INSN (insn)) ++ { ++ if (LABEL_P (insn)) ++ label = insn; ++ /* Never put anything before the basic block note. */ ++ if (NOTE_INSN_BASIC_BLOCK_P (insn)) ++ label = insn; ++ if (INSN_P (insn)) ++ break; ++ } ++ ++ gcc_assert (label); ++ emit_insn_after (aarch64_speculation_establish_tracker (), label); ++ } ++ ++ /* Scan the insns looking for calls. We need to pass the ++ speculation tracking state encoded in to SP. After a call we ++ restore the speculation tracking into the tracker register. ++ To avoid unnecessary transfers we look for two or more calls ++ within a single basic block and eliminate, where possible, ++ any redundant operations. */ ++ for (insn = BB_HEAD (bb); ; insn = NEXT_INSN (insn)) ++ { ++ if (NONDEBUG_INSN_P (insn) ++ && recog_memoized (insn) >= 0 ++ && (get_attr_speculation_barrier (insn) ++ == SPECULATION_BARRIER_TRUE)) ++ { ++ if (call_insn) ++ { ++ /* This instruction requires the speculation ++ tracking to be in the tracker register. If there ++ was an earlier call in this block, we need to ++ copy the speculation tracking back there. */ ++ emit_insn_after (aarch64_speculation_establish_tracker (), ++ call_insn); ++ call_insn = NULL; ++ } ++ ++ needs_tracking = true; ++ } ++ ++ if (CALL_P (insn)) ++ { ++ bool tailcall ++ = (SIBLING_CALL_P (insn) ++ || find_reg_note (insn, REG_NORETURN, NULL_RTX)); ++ ++ /* Tailcalls are like returns, we can eliminate the ++ transfer between the tracker register and SP if we ++ know that this function does not itself need ++ tracking. */ ++ if (tailcall && (need_second_pass || !needs_tracking)) ++ { ++ /* Don't clear call_insn if it is set - needs_tracking ++ will be true in that case and so we will end ++ up putting out mitigation sequences. */ ++ fixups_pending++; ++ need_second_pass = true; ++ break; ++ } ++ ++ needs_tracking = true; ++ ++ /* We always need a transfer before the first call in a BB. */ ++ if (!call_insn) ++ emit_insn_before (aarch64_speculation_clobber_sp (), insn); ++ ++ /* Tail-calls and no-return calls don't need any post-call ++ reestablishment of the tracker. */ ++ if (! tailcall) ++ call_insn = insn; ++ else ++ call_insn = NULL; ++ } ++ ++ if (insn == end) ++ break; ++ } ++ ++ if (call_insn) ++ { ++ rtx_insn *seq = aarch64_speculation_establish_tracker (); ++ ++ /* Handle debug insns at the end of the BB. Put the extra ++ insns after them. This ensures that we have consistent ++ behaviour for the placement of the extra insns between ++ debug and non-debug builds. */ ++ for (insn = call_insn; ++ insn != end && DEBUG_INSN_P (NEXT_INSN (insn)); ++ insn = NEXT_INSN (insn)) ++ ; ++ ++ if (insn == end) ++ { ++ edge e = find_fallthru_edge (bb->succs); ++ /* We need to be very careful about some calls that ++ appear at the end of a basic block. If the call ++ involves exceptions, then the compiler may depend on ++ this being the last instruction in the block. The ++ easiest way to handle this is to commit the new ++ instructions on the fall-through edge and to let ++ commit_edge_insertions clean things up for us. ++ ++ Sometimes, eg with OMP, there may not even be an ++ outgoing edge after the call. In that case, there's ++ not much we can do, presumably the compiler has ++ decided that the call can never return in this ++ context. */ ++ if (e) ++ { ++ /* We need to set the location lists explicitly in ++ this case. */ ++ if (! INSN_P (seq)) ++ { ++ start_sequence (); ++ emit_insn (seq); ++ seq = get_insns (); ++ end_sequence (); ++ } ++ ++ for (rtx_insn *list = seq; list; list = NEXT_INSN (list)) ++ INSN_LOCATION (list) = INSN_LOCATION (call_insn); ++ ++ insert_insn_on_edge (seq, e); ++ } ++ } ++ else ++ emit_insn_after (seq, call_insn); ++ } ++ } ++ ++ if (needs_tracking) ++ { ++ if (need_second_pass) ++ { ++ /* We found a return instruction before we found out whether ++ or not we need to emit the tracking code, but we now ++ know we do. Run quickly over the basic blocks and ++ fix up the return insns. */ ++ FOR_EACH_BB_FN (bb, cfun) ++ { ++ insn = BB_END (bb); ++ ++ while (insn != BB_HEAD (bb) ++ && NOTE_P (insn)) ++ insn = PREV_INSN (insn); ++ ++ if ((control_flow_insn_p (insn) ++ && GET_CODE (PATTERN (insn)) == RETURN) ++ || (CALL_P (insn) ++ && (SIBLING_CALL_P (insn) ++ || find_reg_note (insn, REG_NORETURN, NULL_RTX)))) ++ { ++ rtx_insn *seq = aarch64_speculation_clobber_sp (); ++ emit_insn_before (seq, insn); ++ fixups_pending--; ++ } ++ } ++ gcc_assert (fixups_pending == 0); ++ } ++ ++ /* Set up the initial value of the tracker, using the incoming SP. */ ++ insert_insn_on_edge (aarch64_speculation_establish_tracker (), ++ single_succ_edge (ENTRY_BLOCK_PTR_FOR_FN (cfun))); ++ commit_edge_insertions (); ++ } ++ ++ return 0; ++} ++ ++namespace { ++ ++const pass_data pass_data_aarch64_track_speculation = ++{ ++ RTL_PASS, /* type. */ ++ "speculation", /* name. */ ++ OPTGROUP_NONE, /* optinfo_flags. */ ++ TV_MACH_DEP, /* tv_id. */ ++ 0, /* properties_required. */ ++ 0, /* properties_provided. */ ++ 0, /* properties_destroyed. */ ++ 0, /* todo_flags_start. */ ++ 0 /* todo_flags_finish. */ ++}; ++ ++class pass_track_speculation : public rtl_opt_pass ++{ ++ public: ++ pass_track_speculation(gcc::context *ctxt) ++ : rtl_opt_pass(pass_data_aarch64_track_speculation, ctxt) ++ {} ++ ++ /* opt_pass methods: */ ++ virtual bool gate (function *) ++ { ++ return aarch64_track_speculation; ++ } ++ ++ virtual unsigned int execute (function *) ++ { ++ return aarch64_do_track_speculation (); ++ } ++}; // class pass_track_speculation. ++} // anon namespace. ++ ++/* Create a new pass instance. */ ++rtl_opt_pass * ++make_pass_track_speculation (gcc::context *ctxt) ++{ ++ return new pass_track_speculation (ctxt); ++} +Index: gcc/config/aarch64/iterators.md +=================================================================== +--- a/src/gcc/config/aarch64/iterators.md (.../gcc-8-branch) ++++ b/src/gcc/config/aarch64/iterators.md (.../ARM/arm-8-branch) +@@ -35,6 +35,9 @@ + ;; Iterator for all integer modes (up to 64-bit) + (define_mode_iterator ALLI [QI HI SI DI]) + ++;; Iterator for all integer modes (up to 128-bit) ++(define_mode_iterator ALLI_TI [QI HI SI DI TI]) ++ + ;; Iterator for all integer modes that can be extended (up to 64-bit) + (define_mode_iterator ALLX [QI HI SI]) + +Index: gcc/config/aarch64/aarch64.md +=================================================================== +--- a/src/gcc/config/aarch64/aarch64.md (.../gcc-8-branch) ++++ b/src/gcc/config/aarch64/aarch64.md (.../ARM/arm-8-branch) +@@ -88,6 +88,10 @@ + (P13_REGNUM 81) + (P14_REGNUM 82) + (P15_REGNUM 83) ++ ;; A couple of call-clobbered registers that we need to reserve when ++ ;; tracking speculation this is not ABI, so is subject to change. ++ (SPECULATION_TRACKER_REGNUM 15) ++ (SPECULATION_SCRATCH_REGNUM 14) + ] + ) + +@@ -189,6 +193,7 @@ + UNSPEC_CLASTB + UNSPEC_FADDA + UNSPEC_REV_SUBREG ++ UNSPEC_SPECULATION_TRACKER + ]) + + (define_c_enum "unspecv" [ +@@ -199,6 +204,7 @@ + UNSPECV_SET_FPSR ; Represent assign of FPSR content. + UNSPECV_BLOCKAGE ; Represent a blockage + UNSPECV_PROBE_STACK_RANGE ; Represent stack range probing. ++ UNSPECV_SPECULATION_BARRIER ; Represent speculation barrier. + ] + ) + +@@ -275,6 +281,11 @@ + ;; no predicated insns. + (define_attr "predicated" "yes,no" (const_string "no")) + ++;; Set to true on an insn that requires the speculation tracking state to be ++;; in the tracking register before the insn issues. Otherwise the compiler ++;; may chose to hold the tracking state encoded in SP. ++(define_attr "speculation_barrier" "true,false" (const_string "false")) ++ + ;; ------------------------------------------------------------------- + ;; Pipeline descriptions and scheduling + ;; ------------------------------------------------------------------- +@@ -678,7 +689,7 @@ + (const_int 0)) + (label_ref (match_operand 1 "" "")) + (pc)))] +- "" ++ "!aarch64_track_speculation" + { + if (get_attr_length (insn) == 8) + return aarch64_gen_far_branch (operands, 1, "Lcb", "\\t%0, "); +@@ -708,7 +719,7 @@ + (label_ref (match_operand 2 "" "")) + (pc))) + (clobber (reg:CC CC_REGNUM))] +- "" ++ "!aarch64_track_speculation" + { + if (get_attr_length (insn) == 8) + { +@@ -744,7 +755,7 @@ + (label_ref (match_operand 1 "" "")) + (pc))) + (clobber (reg:CC CC_REGNUM))] +- "" ++ "!aarch64_track_speculation" + { + if (get_attr_length (insn) == 8) + { +@@ -3133,7 +3144,7 @@ + + (define_insn "cmp" + [(set (reg:CC CC_REGNUM) +- (compare:CC (match_operand:GPI 0 "register_operand" "r,r,r") ++ (compare:CC (match_operand:GPI 0 "register_operand" "rk,rk,rk") + (match_operand:GPI 1 "aarch64_plus_operand" "r,I,J")))] + "" + "@ +@@ -6081,6 +6092,21 @@ + DONE; + }) + ++;; Track speculation through conditional branches. We assume that ++;; SPECULATION_TRACKER_REGNUM is reserved for this purpose when necessary. ++(define_insn "speculation_tracker" ++ [(set (reg:DI SPECULATION_TRACKER_REGNUM) ++ (unspec [(reg:DI SPECULATION_TRACKER_REGNUM) (match_operand 0)] ++ UNSPEC_SPECULATION_TRACKER))] ++ "" ++ { ++ operands[1] = gen_rtx_REG (DImode, SPECULATION_TRACKER_REGNUM); ++ output_asm_insn ("csel\\t%1, %1, xzr, %m0", operands); ++ return ""; ++ } ++ [(set_attr "type" "csel")] ++) ++ + ;; Helper for aarch64.c code. + (define_expand "set_clobber_cc" + [(parallel [(set (match_operand 0) +@@ -6087,6 +6113,113 @@ + (match_operand 1)) + (clobber (reg:CC CC_REGNUM))])]) + ++;; Hard speculation barrier. ++(define_insn "speculation_barrier" ++ [(unspec_volatile [(const_int 0)] UNSPECV_SPECULATION_BARRIER)] ++ "" ++ "isb\;dsb\\tsy" ++ [(set_attr "length" "8") ++ (set_attr "type" "block") ++ (set_attr "speculation_barrier" "true")] ++) ++ ++;; Support for __builtin_speculation_safe_value when we have speculation ++;; tracking enabled. Use the speculation tracker to decide whether to ++;; copy operand 1 to the target, or to copy the fail value (operand 2). ++(define_expand "despeculate_copy" ++ [(set (match_operand:ALLI_TI 0 "register_operand" "=r") ++ (unspec_volatile:ALLI_TI ++ [(match_operand:ALLI_TI 1 "register_operand" "r") ++ (match_operand:ALLI_TI 2 "aarch64_reg_or_zero" "rZ") ++ (use (reg:DI SPECULATION_TRACKER_REGNUM)) ++ (clobber (reg:CC CC_REGNUM))] UNSPECV_SPECULATION_BARRIER))] ++ "" ++ " ++ { ++ if (operands[2] == const0_rtx) ++ { ++ rtx tracker; ++ if (mode == TImode) ++ tracker = gen_rtx_REG (DImode, SPECULATION_TRACKER_REGNUM); ++ else ++ tracker = gen_rtx_REG (mode, SPECULATION_TRACKER_REGNUM); ++ ++ emit_insn (gen_despeculate_simple (operands[0], operands[1], ++ tracker)); ++ DONE; ++ } ++ } ++ " ++) ++ ++;; Patterns to match despeculate_copy. Note that "hint 0x14" is the ++;; encoding for CSDB, but will work in older versions of the assembler. ++(define_insn "*despeculate_copy_insn" ++ [(set (match_operand:ALLI 0 "register_operand" "=r") ++ (unspec_volatile:ALLI ++ [(match_operand:ALLI 1 "register_operand" "r") ++ (match_operand:ALLI 2 "aarch64_reg_or_zero" "rZ") ++ (use (reg:DI SPECULATION_TRACKER_REGNUM)) ++ (clobber (reg:CC CC_REGNUM))] UNSPECV_SPECULATION_BARRIER))] ++ "" ++ { ++ operands[3] = gen_rtx_REG (DImode, SPECULATION_TRACKER_REGNUM); ++ output_asm_insn ("cmp\\t%3, #0\;csel\\t%0, %1, %2, ne\;hint\t0x14 // csdb", ++ operands); ++ return ""; ++ } ++ [(set_attr "length" "12") ++ (set_attr "type" "block") ++ (set_attr "speculation_barrier" "true")] ++) ++ ++;; Pattern to match despeculate_copyti ++(define_insn "*despeculate_copyti_insn" ++ [(set (match_operand:TI 0 "register_operand" "=r") ++ (unspec_volatile:TI ++ [(match_operand:TI 1 "register_operand" "r") ++ (match_operand:TI 2 "aarch64_reg_or_zero" "rZ") ++ (use (reg:DI SPECULATION_TRACKER_REGNUM)) ++ (clobber (reg:CC CC_REGNUM))] UNSPECV_SPECULATION_BARRIER))] ++ "" ++ { ++ operands[3] = gen_rtx_REG (DImode, SPECULATION_TRACKER_REGNUM); ++ output_asm_insn ++ ("cmp\\t%3, #0\;csel\\t%0, %1, %2, ne\;csel\\t%H0, %H1, %H2, ne\;hint\t0x14 // csdb", ++ operands); ++ return ""; ++ } ++ [(set_attr "length" "16") ++ (set_attr "type" "block") ++ (set_attr "speculation_barrier" "true")] ++) ++ ++(define_insn "despeculate_simple" ++ [(set (match_operand:ALLI 0 "register_operand" "=r") ++ (unspec_volatile:ALLI ++ [(match_operand:ALLI 1 "register_operand" "r") ++ (use (match_operand:ALLI 2 "register_operand" ""))] ++ UNSPECV_SPECULATION_BARRIER))] ++ "" ++ "and\\t%0, %1, %2\;hint\t0x14 // csdb" ++ [(set_attr "type" "block") ++ (set_attr "length" "8") ++ (set_attr "speculation_barrier" "true")] ++) ++ ++(define_insn "despeculate_simpleti" ++ [(set (match_operand:TI 0 "register_operand" "=r") ++ (unspec_volatile:TI ++ [(match_operand:TI 1 "register_operand" "r") ++ (use (match_operand:DI 2 "register_operand" ""))] ++ UNSPECV_SPECULATION_BARRIER))] ++ "" ++ "and\\t%0, %1, %2\;and\\t%H0, %H1, %2\;hint\t0x14 // csdb" ++ [(set_attr "type" "block") ++ (set_attr "length" "12") ++ (set_attr "speculation_barrier" "true")] ++) ++ + ;; AdvSIMD Stuff + (include "aarch64-simd.md") + +Index: gcc/config/aarch64/aarch64.opt +=================================================================== +--- a/src/gcc/config/aarch64/aarch64.opt (.../gcc-8-branch) ++++ b/src/gcc/config/aarch64/aarch64.opt (.../ARM/arm-8-branch) +@@ -214,3 +214,7 @@ + mverbose-cost-dump + Common Undocumented Var(flag_aarch64_verbose_cost) + Enables verbose cost model dumping in the debug dump files. ++ ++mtrack-speculation ++Target Var(aarch64_track_speculation) ++Generate code to track when the CPU might be speculating incorrectly. +Index: gcc/config/aarch64/t-aarch64 +=================================================================== +--- a/src/gcc/config/aarch64/t-aarch64 (.../gcc-8-branch) ++++ b/src/gcc/config/aarch64/t-aarch64 (.../ARM/arm-8-branch) +@@ -67,6 +67,16 @@ + $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ + $(srcdir)/config/aarch64/cortex-a57-fma-steering.c + ++aarch64-speculation.o: $(srcdir)/config/aarch64/aarch64-speculation.cc \ ++ $(CONFIG_H) \ ++ $(SYSTEM_H) \ ++ $(TM_H) \ ++ $(TARGET_H) \ ++ $(RTL_BASE_H) \ ++ $(TREE_PASS_H) ++ $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_SPPFLAGS) $(INCLUDES) \ ++ $(srcdir)/config/aarch64/aarch64-speculation.cc ++ + comma=, + MULTILIB_OPTIONS = $(subst $(comma),/, $(patsubst %, mabi=%, $(subst $(comma),$(comma)mabi=,$(TM_MULTILIB_CONFIG)))) + MULTILIB_DIRNAMES = $(subst $(comma), ,$(TM_MULTILIB_CONFIG)) +Index: gcc/config/aarch64/aarch64-protos.h +=================================================================== +--- a/src/gcc/config/aarch64/aarch64-protos.h (.../gcc-8-branch) ++++ b/src/gcc/config/aarch64/aarch64-protos.h (.../ARM/arm-8-branch) +@@ -547,7 +547,8 @@ + std::string aarch64_get_extension_string_for_isa_flags (unsigned long, + unsigned long); + +-rtl_opt_pass *make_pass_fma_steering (gcc::context *ctxt); ++rtl_opt_pass *make_pass_fma_steering (gcc::context *); ++rtl_opt_pass *make_pass_track_speculation (gcc::context *); + + poly_uint64 aarch64_regmode_natural_size (machine_mode); + +Index: gcc/config/aarch64/aarch64.c +=================================================================== +--- a/src/gcc/config/aarch64/aarch64.c (.../gcc-8-branch) ++++ b/src/gcc/config/aarch64/aarch64.c (.../ARM/arm-8-branch) +@@ -6704,6 +6704,12 @@ + break; + + case 'H': ++ if (x == const0_rtx) ++ { ++ asm_fprintf (f, "xzr"); ++ break; ++ } ++ + if (!REG_P (x) || !GP_REGNUM_P (REGNO (x) + 1)) + { + output_operand_lossage ("invalid operand for '%%%c'", code); +@@ -12536,6 +12542,19 @@ + fixed_regs[i] = 1; + call_used_regs[i] = 1; + } ++ ++ /* When tracking speculation, we need a couple of call-clobbered registers ++ to track the speculation state. It would be nice to just use ++ IP0 and IP1, but currently there are numerous places that just ++ assume these registers are free for other uses (eg pointer ++ authentication). */ ++ if (aarch64_track_speculation) ++ { ++ fixed_regs[SPECULATION_TRACKER_REGNUM] = 1; ++ call_used_regs[SPECULATION_TRACKER_REGNUM] = 1; ++ fixed_regs[SPECULATION_SCRATCH_REGNUM] = 1; ++ call_used_regs[SPECULATION_SCRATCH_REGNUM] = 1; ++ } + } + + /* Walk down the type tree of TYPE counting consecutive base elements. +@@ -14383,7 +14402,16 @@ + + if (strong_zero_p) + { +- x = gen_rtx_NE (VOIDmode, rval, const0_rtx); ++ if (aarch64_track_speculation) ++ { ++ /* Emit an explicit compare instruction, so that we can correctly ++ track the condition codes. */ ++ rtx cc_reg = aarch64_gen_compare_reg (NE, rval, const0_rtx); ++ x = gen_rtx_NE (GET_MODE (cc_reg), cc_reg, const0_rtx); ++ } ++ else ++ x = gen_rtx_NE (VOIDmode, rval, const0_rtx); ++ + x = gen_rtx_IF_THEN_ELSE (VOIDmode, x, + gen_rtx_LABEL_REF (Pmode, label2), pc_rtx); + aarch64_emit_unlikely_jump (gen_rtx_SET (pc_rtx, x)); +@@ -14401,7 +14429,16 @@ + + if (!is_weak) + { +- x = gen_rtx_NE (VOIDmode, scratch, const0_rtx); ++ if (aarch64_track_speculation) ++ { ++ /* Emit an explicit compare instruction, so that we can correctly ++ track the condition codes. */ ++ rtx cc_reg = aarch64_gen_compare_reg (NE, scratch, const0_rtx); ++ x = gen_rtx_NE (GET_MODE (cc_reg), cc_reg, const0_rtx); ++ } ++ else ++ x = gen_rtx_NE (VOIDmode, scratch, const0_rtx); ++ + x = gen_rtx_IF_THEN_ELSE (VOIDmode, x, + gen_rtx_LABEL_REF (Pmode, label1), pc_rtx); + aarch64_emit_unlikely_jump (gen_rtx_SET (pc_rtx, x)); +@@ -14737,7 +14774,16 @@ + aarch64_emit_store_exclusive (mode, cond, mem, + gen_lowpart (mode, new_out), model_rtx); + +- x = gen_rtx_NE (VOIDmode, cond, const0_rtx); ++ if (aarch64_track_speculation) ++ { ++ /* Emit an explicit compare instruction, so that we can correctly ++ track the condition codes. */ ++ rtx cc_reg = aarch64_gen_compare_reg (NE, cond, const0_rtx); ++ x = gen_rtx_NE (GET_MODE (cc_reg), cc_reg, const0_rtx); ++ } ++ else ++ x = gen_rtx_NE (VOIDmode, cond, const0_rtx); ++ + x = gen_rtx_IF_THEN_ELSE (VOIDmode, x, + gen_rtx_LABEL_REF (Pmode, label), pc_rtx); + aarch64_emit_unlikely_jump (gen_rtx_SET (pc_rtx, x)); +@@ -17416,6 +17462,45 @@ + } + } + ++/* Override the default target speculation_safe_value. */ ++static rtx ++aarch64_speculation_safe_value (machine_mode mode, ++ rtx result, rtx val, rtx failval) ++{ ++ /* Maybe we should warn if falling back to hard barriers. They are ++ likely to be noticably more expensive than the alternative below. */ ++ if (!aarch64_track_speculation) ++ return default_speculation_safe_value (mode, result, val, failval); ++ ++ if (!REG_P (val)) ++ val = copy_to_mode_reg (mode, val); ++ ++ if (!aarch64_reg_or_zero (failval, mode)) ++ failval = copy_to_mode_reg (mode, failval); ++ ++ switch (mode) ++ { ++ case E_QImode: ++ emit_insn (gen_despeculate_copyqi (result, val, failval)); ++ break; ++ case E_HImode: ++ emit_insn (gen_despeculate_copyhi (result, val, failval)); ++ break; ++ case E_SImode: ++ emit_insn (gen_despeculate_copysi (result, val, failval)); ++ break; ++ case E_DImode: ++ emit_insn (gen_despeculate_copydi (result, val, failval)); ++ break; ++ case E_TImode: ++ emit_insn (gen_despeculate_copyti (result, val, failval)); ++ break; ++ default: ++ gcc_unreachable (); ++ } ++ return result; ++} ++ + /* Target-specific selftests. */ + + #if CHECKING_P +@@ -17885,6 +17970,9 @@ + #undef TARGET_SELECT_EARLY_REMAT_MODES + #define TARGET_SELECT_EARLY_REMAT_MODES aarch64_select_early_remat_modes + ++#undef TARGET_SPECULATION_SAFE_VALUE ++#define TARGET_SPECULATION_SAFE_VALUE aarch64_speculation_safe_value ++ + #if CHECKING_P + #undef TARGET_RUN_TARGET_SELFTESTS + #define TARGET_RUN_TARGET_SELFTESTS selftest::aarch64_run_selftests +Index: gcc/config/rs6000/rs6000.c +=================================================================== +--- a/src/gcc/config/rs6000/rs6000.c (.../gcc-8-branch) ++++ b/src/gcc/config/rs6000/rs6000.c (.../ARM/arm-8-branch) +@@ -16900,7 +16900,7 @@ + + case MISC_BUILTIN_SPEC_BARRIER: + { +- emit_insn (gen_rs6000_speculation_barrier ()); ++ emit_insn (gen_speculation_barrier ()); + return NULL_RTX; + } + +Index: gcc/config/rs6000/rs6000.md +=================================================================== +--- a/src/gcc/config/rs6000/rs6000.md (.../gcc-8-branch) ++++ b/src/gcc/config/rs6000/rs6000.md (.../ARM/arm-8-branch) +@@ -12604,7 +12604,7 @@ + return "ori 2,2,0"; + }) + +-(define_insn "rs6000_speculation_barrier" ++(define_insn "speculation_barrier" + [(unspec_volatile:BLK [(const_int 0)] UNSPECV_SPEC_BARRIER)] + "" + "ori 31,31,0") +Index: gcc/config/mcore/mcore.c +=================================================================== +--- a/src/gcc/config/mcore/mcore.c (.../gcc-8-branch) ++++ b/src/gcc/config/mcore/mcore.c (.../ARM/arm-8-branch) +@@ -253,6 +253,9 @@ + #undef TARGET_CONSTANT_ALIGNMENT + #define TARGET_CONSTANT_ALIGNMENT constant_alignment_word_strings + ++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE ++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed ++ + struct gcc_target targetm = TARGET_INITIALIZER; + + /* Adjust the stack and return the number of bytes taken to do it. */ +Index: gcc/config/arm/unspecs.md +=================================================================== +--- a/src/gcc/config/arm/unspecs.md (.../gcc-8-branch) ++++ b/src/gcc/config/arm/unspecs.md (.../ARM/arm-8-branch) +@@ -168,6 +168,7 @@ + VUNSPEC_MCRR2 ; Represent the coprocessor mcrr2 instruction. + VUNSPEC_MRRC ; Represent the coprocessor mrrc instruction. + VUNSPEC_MRRC2 ; Represent the coprocessor mrrc2 instruction. ++ VUNSPEC_SPECULATION_BARRIER ; Represents an unconditional speculation barrier. + ]) + + ;; Enumerators for NEON unspecs. +Index: gcc/config/arm/arm.md +=================================================================== +--- a/src/gcc/config/arm/arm.md (.../gcc-8-branch) ++++ b/src/gcc/config/arm/arm.md (.../ARM/arm-8-branch) +@@ -12012,6 +12012,27 @@ + [(set_attr "length" "4") + (set_attr "type" "coproc")]) + ++(define_expand "speculation_barrier" ++ [(unspec_volatile [(const_int 0)] VUNSPEC_SPECULATION_BARRIER)] ++ "TARGET_EITHER" ++ " ++ /* Don't emit anything for Thumb1 and suppress the warning from the ++ generic expansion. */ ++ if (!TARGET_32BIT) ++ DONE; ++ " ++) ++ ++;; Generate a hard speculation barrier when we have not enabled speculation ++;; tracking. ++(define_insn "*speculation_barrier_insn" ++ [(unspec_volatile [(const_int 0)] VUNSPEC_SPECULATION_BARRIER)] ++ "TARGET_32BIT" ++ "isb\;dsb\\tsy" ++ [(set_attr "type" "block") ++ (set_attr "length" "8")] ++) ++ + ;; Vector bits common to IWMMXT and Neon + (include "vec-common.md") + ;; Load the Intel Wireless Multimedia Extension patterns +Index: gcc/config/pa/pa.c +=================================================================== +--- a/src/gcc/config/pa/pa.c (.../gcc-8-branch) ++++ b/src/gcc/config/pa/pa.c (.../ARM/arm-8-branch) +@@ -428,6 +428,9 @@ + #undef TARGET_STARTING_FRAME_OFFSET + #define TARGET_STARTING_FRAME_OFFSET pa_starting_frame_offset + ++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE ++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed ++ + struct gcc_target targetm = TARGET_INITIALIZER; + + /* Parse the -mfixed-range= option string. */ +Index: gcc/config/msp430/msp430.c +=================================================================== +--- a/src/gcc/config/msp430/msp430.c (.../gcc-8-branch) ++++ b/src/gcc/config/msp430/msp430.c (.../ARM/arm-8-branch) +@@ -3845,6 +3845,9 @@ + return true; + } + ++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE ++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed ++ + struct gcc_target targetm = TARGET_INITIALIZER; + + #include "gt-msp430.h" +Index: gcc/config/h8300/h8300.c +=================================================================== +--- a/src/gcc/config/h8300/h8300.c (.../gcc-8-branch) ++++ b/src/gcc/config/h8300/h8300.c (.../ARM/arm-8-branch) +@@ -6148,4 +6148,7 @@ + #undef TARGET_MODE_DEPENDENT_ADDRESS_P + #define TARGET_MODE_DEPENDENT_ADDRESS_P h8300_mode_dependent_address_p + ++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE ++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed ++ + struct gcc_target targetm = TARGET_INITIALIZER; +Index: gcc/config/v850/v850.c +=================================================================== +--- a/src/gcc/config/v850/v850.c (.../gcc-8-branch) ++++ b/src/gcc/config/v850/v850.c (.../ARM/arm-8-branch) +@@ -3374,6 +3374,9 @@ + #undef TARGET_MODES_TIEABLE_P + #define TARGET_MODES_TIEABLE_P v850_modes_tieable_p + ++#undef TARGET_HAVE_SPECULATION_SAFE_VALUE ++#define TARGET_HAVE_SPECULATION_SAFE_VALUE speculation_safe_value_not_needed ++ + struct gcc_target targetm = TARGET_INITIALIZER; + + #include "gt-v850.h" --- gcc-8-8.2.0.orig/debian/patches/gcc-multiarch.diff +++ gcc-8-8.2.0/debian/patches/gcc-multiarch.diff @@ -0,0 +1,248 @@ +# 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 +@@ -2175,6 +2175,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 +@@ -2185,6 +2190,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" +@@ -3188,6 +3197,16 @@ case ${target} in + ;; + 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-*) +@@ -4693,7 +4712,7 @@ case ${target} in + ;; + i[34567]86-*-linux* | x86_64-*-linux*) + extra_objs="${extra_objs} cet.o" +- tmake_file="$tmake_file i386/t-linux i386/t-cet" ++ tmake_file="i386/t-linux $tmake_file i386/t-cet" + ;; + i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu) + tmake_file="$tmake_file i386/t-kfreebsd" +Index: b/src/gcc/config/mips/mips.h +=================================================================== +--- a/src/gcc/config/mips/mips.h ++++ b/src/gcc/config/mips/mips.h +@@ -3391,16 +3391,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/config/riscv/t-linux +=================================================================== +--- a/src/gcc/config/riscv/t-linux ++++ b/src/gcc/config/riscv/t-linux +@@ -1,3 +1,5 @@ + # Only XLEN and ABI affect Linux multilib dir names, e.g. /lib32/ilp32d/ + MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES))) + MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES)) ++ ++MULTIARCH_DIRNAME := $(call if_multiarch,$(firstword $(subst -, ,$(target)))-linux-gnu) +Index: b/src/gcc/Makefile.in +=================================================================== +--- a/src/gcc/Makefile.in ++++ b/src/gcc/Makefile.in +@@ -530,7 +530,7 @@ BUILD_SYSTEM_HEADER_DIR = `echo @BUILD_S + STMP_FIXINC = @STMP_FIXINC@ + + # Test to see whether exists in the system header files. +-LIMITS_H_TEST = [ -f $(BUILD_SYSTEM_HEADER_DIR)/limits.h ] ++LIMITS_H_TEST = [ -f $(BUILD_SYSTEM_HEADER_DIR)/limits.h -o -f $(BUILD_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/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) ++MULTILIB_OSDIRNAMES = mabi.lp64=../lib$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu) + MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu) + + MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32) --- gcc-8-8.2.0.orig/debian/patches/gcc-multilib-multiarch.diff +++ gcc-8-8.2.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 + MULTIARCH_DIRNAME := powerpc-linux-gnu + endif --- gcc-8-8.2.0.orig/debian/patches/gcc-search-prefixed-as-ld.diff +++ gcc-8-8.2.0/debian/patches/gcc-search-prefixed-as-ld.diff @@ -0,0 +1,39 @@ +# DP: Search for the -as / -ld before serching for as / ld. + +Index: b/src/gcc/gcc.c +=================================================================== +--- a/src/gcc/gcc.c ++++ b/src/gcc/gcc.c +@@ -2533,6 +2533,7 @@ for_each_path (const struct path_prefix + { + len = paths->max_len + extra_space + 1; + len += MAX (MAX (suffix_len, multi_os_dir_len), multiarch_len); ++ len += multiarch_len + 2; /* triplet prefix for as, ld. */ + path = XNEWVEC (char, len); + } + +@@ -2746,6 +2747,24 @@ file_at_path (char *path, void *data) + struct file_at_path_info *info = (struct file_at_path_info *) data; + size_t len = strlen (path); + ++ /* search for the -as / -ld first. */ ++ if (! strcmp (info->name, "as") || ! strcmp (info->name, "ld")) ++ { ++ struct file_at_path_info prefix_info = *info; ++ char *prefixed_name = XNEWVEC (char, info->name_len + 2 ++ + strlen (DEFAULT_REAL_TARGET_MACHINE)); ++ strcpy (prefixed_name, DEFAULT_REAL_TARGET_MACHINE); ++ strcat (prefixed_name, "-"); ++ strcat (prefixed_name, info->name); ++ prefix_info.name = (const char *) prefixed_name; ++ prefix_info.name_len = strlen (prefixed_name); ++ if (file_at_path (path, &prefix_info)) ++ { ++ XDELETEVEC (prefixed_name); ++ return path; ++ } ++ XDELETEVEC (prefixed_name); ++ } + memcpy (path + len, info->name, info->name_len); + len += info->name_len; + --- gcc-8-8.2.0.orig/debian/patches/gcc-target-include-asm.diff +++ gcc-8-8.2.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 +@@ -3187,7 +3187,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-8-8.2.0.orig/debian/patches/gcc-textdomain.diff +++ gcc-8-8.2.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-8", LOCALEDIR); ++ (void) textdomain ("gcc-8"); + + /* Opening quotation mark. */ + open_quote = _("`"); +Index: b/src/gcc/Makefile.in +=================================================================== +--- a/src/gcc/Makefile.in ++++ b/src/gcc/Makefile.in +@@ -4201,8 +4201,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-8.mo; \ ++ $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc-8.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 +@@ -161,7 +161,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 = -8 + 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-8-8.2.0.orig/debian/patches/gdc-8-doc.diff +++ gcc-8-8.2.0/debian/patches/gdc-8-doc.diff @@ -0,0 +1,112 @@ +# DP: This implements D language support in the GCC back end, and adds +# DP: relevant documentation about the GDC front end (documentation part). + +--- 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, D, Go, and BRIG (HSAIL). + + The abbreviation @dfn{GCC} has multiple meanings in common use. The + current official meaning is ``GNU Compiler Collection'', which refers +--- a/src/gcc/doc/install.texi ++++ b/src/gcc/doc/install.texi +@@ -916,7 +916,7 @@ only for the listed packages. For other packages, only static libraries + will be built. Package names currently recognized in the GCC tree are + @samp{libgcc} (also known as @samp{gcc}), @samp{libstdc++} (not + @samp{libstdc++-v3}), @samp{libffi}, @samp{zlib}, @samp{boehm-gc}, +-@samp{ada}, @samp{libada}, @samp{libgo}, and @samp{libobjc}. ++@samp{ada}, @samp{libada}, @samp{libgo}, @samp{libobjc}, and @samp{libphobos}. + Note @samp{libiberty} does not support shared libraries at all. + + Use @option{--disable-shared} to build only static libraries. Note that +@@ -1601,12 +1601,12 @@ their runtime libraries should be built. For a list of valid values for + grep ^language= */config-lang.in + @end smallexample + Currently, you can use any of the following: +-@code{all}, @code{default}, @code{ada}, @code{c}, @code{c++}, @code{fortran}, +-@code{go}, @code{jit}, @code{lto}, @code{objc}, @code{obj-c++}. ++@code{all}, @code{default}, @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{default}, then the + 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. If + @code{all} is specified, then all available languages are built. An +@@ -2699,7 +2699,7 @@ on a simulator as described at @uref{http://gcc.gnu.org/simtest-howto.html}. + + In order to run sets of tests selectively, there are targets + @samp{make check-gcc} and language specific @samp{make check-c}, +-@samp{make check-c++}, @samp{make check-fortran}, ++@samp{make check-c++}, @samp{make check-d} @samp{make check-fortran}, + @samp{make check-ada}, @samp{make check-objc}, @samp{make check-obj-c++}, + @samp{make check-lto} + in the @file{gcc} subdirectory of the object directory. You can also +--- a/src/gcc/doc/invoke.texi ++++ b/src/gcc/doc/invoke.texi +@@ -1354,6 +1354,15 @@ Go source code. + @item @var{file}.brig + BRIG files (binary representation of HSAIL). + ++@item @var{file}.d ++D source code. ++ ++@item @var{file}.di ++D interface file. ++ ++@item @var{file}.dd ++D documentation code (Ddoc). ++ + @item @var{file}.ads + Ada source code file that contains a library unit declaration (a + declaration of a package, subprogram, or generic, or a generic +@@ -1400,6 +1409,7 @@ objective-c objective-c-header objective-c-cpp-output + 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 +--- a/src/gcc/doc/sourcebuild.texi ++++ b/src/gcc/doc/sourcebuild.texi +@@ -106,6 +106,10 @@ The Objective-C and Objective-C++ runtime library. + @item libquadmath + The runtime support library for quad-precision math operations. + ++@item libphobos ++The D standard and runtime library. The bulk of this library is mirrored ++from the @uref{https://github.com/@/dlang, master D repositories}. ++ + @item libssp + The Stack protector runtime library. + +--- a/src/gcc/doc/standards.texi ++++ b/src/gcc/doc/standards.texi +@@ -313,6 +313,12 @@ capability is typically utilized to implement the HSA runtime API's HSAIL + finalization extension for a gcc supported processor. HSA standards are + freely available at @uref{http://www.hsafoundation.com/standards/}. + ++@section D language ++ ++GCC supports the D 2.0 programming language. The D language itself is ++currently defined by its reference implementation and supporting language ++specification, described at @uref{https://dlang.org/spec/spec.html}. ++ + @section References for Other Languages + + @xref{Top, GNAT Reference Manual, About This Guide, gnat_rm, --- gcc-8-8.2.0.orig/debian/patches/gdc-8.diff +++ gcc-8-8.2.0/debian/patches/gdc-8.diff @@ -0,0 +1,167 @@ +# 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/powerpcspe/powerpcspe.c +=================================================================== +--- a/src/gcc/config/powerpcspe/powerpcspe.c ++++ b/src/gcc/config/powerpcspe/powerpcspe.c +@@ -32034,11 +32034,12 @@ rs6000_output_function_epilogue (FILE *f + use language_string. + C is 0. Fortran is 1. Pascal is 2. Ada is 3. C++ is 9. + Java is 13. Objective-C is 14. Objective-C++ isn't assigned +- a number, so for now use 9. LTO, Go and JIT aren't assigned numbers +- either, so for now use 0. */ ++ a number, so for now use 9. LTO, Go, D and JIT aren't assigned ++ numbers either, so for now use 0. */ + if (lang_GNU_C () + || ! strcmp (language_string, "GNU GIMPLE") + || ! strcmp (language_string, "GNU Go") ++ || ! strcmp (language_string, "GNU D") + || ! strcmp (language_string, "libgccjit")) + i = 0; + else if (! strcmp (language_string, "GNU F77") +Index: b/src/gcc/config/rs6000/rs6000.c +=================================================================== +--- a/src/gcc/config/rs6000/rs6000.c ++++ b/src/gcc/config/rs6000/rs6000.c +@@ -29305,11 +29305,12 @@ rs6000_output_function_epilogue (FILE *f + use language_string. + C is 0. Fortran is 1. Pascal is 2. Ada is 3. C++ is 9. + Java is 13. Objective-C is 14. Objective-C++ isn't assigned +- a number, so for now use 9. LTO, Go and JIT aren't assigned numbers +- either, so for now use 0. */ ++ a number, so for now use 9. LTO, Go, D, and JIT aren't assigned ++ numbers either, so for now use 0. */ + if (lang_GNU_C () + || ! strcmp (language_string, "GNU GIMPLE") + || ! strcmp (language_string, "GNU Go") ++ || ! strcmp (language_string, "GNU D") + || ! strcmp (language_string, "libgccjit")) + i = 0; + else if (! strcmp (language_string, "GNU F77") +Index: b/src/gcc/dwarf2out.c +=================================================================== +--- a/src/gcc/dwarf2out.c ++++ b/src/gcc/dwarf2out.c +@@ -5464,6 +5464,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. */ + +@@ -24417,6 +24427,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) +@@ -26017,7 +26029,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); +@@ -26040,7 +26052,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. */ +@@ -26112,7 +26124,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. */ +@@ -26709,7 +26721,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 +@@ -1305,6 +1305,7 @@ static const struct compiler default_com + {".f08", "#Fortran", 0, 0, 0}, {".F08", "#Fortran", 0, 0, 0}, + {".r", "#Ratfor", 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", +Index: b/src/gcc/po/EXCLUDES +=================================================================== +--- a/src/gcc/po/EXCLUDES ++++ b/src/gcc/po/EXCLUDES +@@ -53,3 +53,43 @@ genrecog.c + gensupport.c + gensupport.h + read-md.c ++ ++# These files are part of the front end to D, and have no i18n support. ++d/dfrontend/arrayop.c ++d/dfrontend/attrib.c ++d/dfrontend/canthrow.c ++d/dfrontend/cond.c ++d/dfrontend/constfold.c ++d/dfrontend/cppmangle.c ++d/dfrontend/ctfeexpr.c ++d/dfrontend/dcast.c ++d/dfrontend/dclass.c ++d/dfrontend/declaration.c ++d/dfrontend/denum.c ++d/dfrontend/dimport.c ++d/dfrontend/dinterpret.c ++d/dfrontend/dmangle.c ++d/dfrontend/dmodule.c ++d/dfrontend/doc.c ++d/dfrontend/dscope.c ++d/dfrontend/dstruct.c ++d/dfrontend/dsymbol.c ++d/dfrontend/dtemplate.c ++d/dfrontend/dversion.c ++d/dfrontend/expression.c ++d/dfrontend/func.c ++d/dfrontend/init.c ++d/dfrontend/inline.c ++d/dfrontend/lexer.c ++d/dfrontend/mtype.c ++d/dfrontend/nogc.c ++d/dfrontend/nspace.c ++d/dfrontend/objc.c ++d/dfrontend/opover.c ++d/dfrontend/optimize.c ++d/dfrontend/parse.c ++d/dfrontend/sideeffect.c ++d/dfrontend/statement.c ++d/dfrontend/statementsem.c ++d/dfrontend/staticassert.c ++d/dfrontend/traits.c --- gcc-8-8.2.0.orig/debian/patches/gdc-cross-biarch.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/gdc-cross-install-location.diff +++ gcc-8-8.2.0/debian/patches/gdc-cross-install-location.diff @@ -0,0 +1,25 @@ +Index: b/src/libphobos/configure.ac +=================================================================== +--- a/src/libphobos/configure.ac ++++ b/src/libphobos/configure.ac +@@ -154,6 +154,8 @@ PHOBOS_SOVERSION="76:2:0" + AC_SUBST([DRUNTIME_SOVERSION]) + AC_SUBST([PHOBOS_SOVERSION]) + ++# trigger rebuild of the configure file ++ + # Set default flags (after DRUNTIME_WERROR!) + if test -z "$GDCFLAGS"; then + GDCFLAGS="-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 +@@ -98,6 +98,7 @@ AC_DEFUN([DRUNTIME_INSTALL_DIRECTORIES], + + # Default case for install directory for D sources files. + gdc_include_dir='$(libdir)/gcc/${target_alias}/${gcc_version}/include/d' ++ gdc_include_dir='${libdir}/gcc-cross/${target_alias}'/${gcc_version}/include/d + AC_SUBST(gdc_include_dir) + ]) + --- gcc-8-8.2.0.orig/debian/patches/gdc-driver-nophobos.diff +++ gcc-8-8.2.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 +@@ -309,7 +309,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 +@@ -60,7 +60,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-8-8.2.0.orig/debian/patches/gdc-frontend-posix.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/gdc-libphobos-build.diff +++ gcc-8-8.2.0/debian/patches/gdc-libphobos-build.diff @@ -0,0 +1,1010 @@ +# 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 +@@ -165,6 +165,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; +@@ -310,6 +311,8 @@ 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= GDCFLAGS_FOR_TARGET ; }; + flags_to_pass = { flag= LD_FOR_TARGET ; }; + flags_to_pass = { flag= LIPO_FOR_TARGET ; }; + flags_to_pass = { flag= LDFLAGS_FOR_TARGET ; }; +@@ -582,6 +585,11 @@ 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-libbacktrace; }; ++dependencies = { module=configure-target-libphobos; on=configure-target-zlib; }; ++dependencies = { module=all-target-libphobos; on=all-target-libbacktrace; }; ++dependencies = { module=all-target-libphobos; on=all-target-zlib; }; ++dependencies = { module=all-target-libphobos; on=all-target-libatomic; }; + 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; }; +@@ -595,6 +603,7 @@ dependencies = { module=all-target-libof + dependencies = { module=install-target-libgo; on=install-target-libatomic; }; + dependencies = { module=install-target-libgfortran; on=install-target-libquadmath; }; + dependencies = { module=install-target-libgfortran; on=install-target-libgcc; }; ++dependencies = { module=install-target-libphobos; on=install-target-libatomic; }; + dependencies = { module=install-target-libsanitizer; on=install-target-libstdc++-v3; }; + dependencies = { module=install-target-libsanitizer; on=install-target-libgcc; }; + dependencies = { module=install-target-libvtv; on=install-target-libstdc++-v3; }; +@@ -635,6 +644,8 @@ languages = { language=go; gcc-check-tar + lib-check-target=check-gotools; }; + 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.in +=================================================================== +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -156,6 +156,8 @@ 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; \ ++ GDCFLAGS="$(GDCFLAGS_FOR_BUILD)"; export GDCFLAGS; \ + DLLTOOL="$(DLLTOOL_FOR_BUILD)"; export DLLTOOL; \ + LD="$(LD_FOR_BUILD)"; export LD; \ + LDFLAGS="$(LDFLAGS_FOR_BUILD)"; export LDFLAGS; \ +@@ -192,6 +194,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 +281,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 +346,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@ +@@ -408,6 +413,7 @@ LIBCFLAGS = $(CFLAGS) + CXXFLAGS = @CXXFLAGS@ + LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates + GOCFLAGS = $(CFLAGS) ++GDCFLAGS = $(CFLAGS) + + CREATE_GCOV = create_gcov + +@@ -564,6 +570,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@ + +@@ -588,6 +595,7 @@ LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARG + LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates + LDFLAGS_FOR_TARGET = @LDFLAGS_FOR_TARGET@ + GOCFLAGS_FOR_TARGET = -O2 -g ++GDCFLAGS_FOR_TARGET = -O2 -g + + FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@ + SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@ +@@ -783,6 +791,8 @@ 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)" \ ++ "GDCFLAGS_FOR_TARGET=$(GDCFLAGS_FOR_TARGET)" \ + "LD_FOR_TARGET=$(LD_FOR_TARGET)" \ + "LIPO_FOR_TARGET=$(LIPO_FOR_TARGET)" \ + "LDFLAGS_FOR_TARGET=$(LDFLAGS_FOR_TARGET)" \ +@@ -845,6 +855,7 @@ EXTRA_HOST_FLAGS = \ + 'DLLTOOL=$(DLLTOOL)' \ + 'GFORTRAN=$(GFORTRAN)' \ + 'GOC=$(GOC)' \ ++ 'GDC=$(GDC)' \ + 'LD=$(LD)' \ + 'LIPO=$(LIPO)' \ + 'NM=$(NM)' \ +@@ -901,6 +912,8 @@ 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)' \ ++ 'GDCFLAGS=$$(GDCFLAGS_FOR_TARGET)' \ + 'LD=$(COMPILER_LD_FOR_TARGET)' \ + 'LDFLAGS=$$(LDFLAGS_FOR_TARGET)' \ + 'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \ +@@ -1003,6 +1016,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 \ +@@ -1168,6 +1182,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 +@@ -1260,6 +1275,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 +@@ -1345,6 +1361,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 +@@ -1430,6 +1447,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 +@@ -1515,6 +1533,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 +@@ -1600,6 +1619,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 +@@ -1685,6 +1705,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 +@@ -1770,6 +1791,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 +@@ -1855,6 +1877,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 +@@ -1940,6 +1963,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 +2049,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 +@@ -2110,6 +2135,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 +@@ -2195,6 +2221,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 +@@ -2280,6 +2307,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 +@@ -2421,6 +2449,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 \ +@@ -2602,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 \ +@@ -2707,6 +2737,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 \ +@@ -48201,6 +48232,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 +@@ -53582,6 +54071,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. +@@ -56783,6 +57280,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 +@@ -56818,6 +57316,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 +@@ -57934,6 +58433,11 @@ 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-libbacktrace ++configure-target-libphobos: maybe-configure-target-zlib ++all-target-libphobos: maybe-all-target-libbacktrace ++all-target-libphobos: maybe-all-target-zlib ++all-target-libphobos: maybe-all-target-libatomic + configure-target-libstdc++-v3: maybe-configure-target-libgomp + + configure-stage1-target-libstdc++-v3: maybe-configure-stage1-target-libgomp +@@ -57983,6 +58487,7 @@ all-target-liboffloadmic: maybe-all-targ + install-target-libgo: maybe-install-target-libatomic + install-target-libgfortran: maybe-install-target-libquadmath + install-target-libgfortran: maybe-install-target-libgcc ++install-target-libphobos: maybe-install-target-libatomic + install-target-libsanitizer: maybe-install-target-libstdc++-v3 + install-target-libsanitizer: maybe-install-target-libgcc + install-target-libvtv: maybe-install-target-libstdc++-v3 +@@ -58067,6 +58572,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 +@@ -58107,6 +58613,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 +Index: b/src/Makefile.tpl +=================================================================== +--- a/src/Makefile.tpl ++++ b/src/Makefile.tpl +@@ -159,6 +159,8 @@ 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; \ ++ GDCFLAGS="$(GDCFLAGS_FOR_BUILD)"; export GDCFLAGS; \ + DLLTOOL="$(DLLTOOL_FOR_BUILD)"; export DLLTOOL; \ + LD="$(LD_FOR_BUILD)"; export LD; \ + LDFLAGS="$(LDFLAGS_FOR_BUILD)"; export LDFLAGS; \ +@@ -195,6 +197,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 +284,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 +349,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@ +@@ -411,6 +416,7 @@ LIBCFLAGS = $(CFLAGS) + CXXFLAGS = @CXXFLAGS@ + LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates + GOCFLAGS = $(CFLAGS) ++GDCFLAGS = $(CFLAGS) + + CREATE_GCOV = create_gcov + +@@ -487,6 +493,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@ + +@@ -511,6 +518,7 @@ LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARG + LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates + LDFLAGS_FOR_TARGET = @LDFLAGS_FOR_TARGET@ + GOCFLAGS_FOR_TARGET = -O2 -g ++GDCFLAGS_FOR_TARGET = -O2 -g + + FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@ + SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@ +@@ -612,6 +620,7 @@ EXTRA_HOST_FLAGS = \ + 'DLLTOOL=$(DLLTOOL)' \ + 'GFORTRAN=$(GFORTRAN)' \ + 'GOC=$(GOC)' \ ++ 'GDC=$(GDC)' \ + 'LD=$(LD)' \ + 'LIPO=$(LIPO)' \ + 'NM=$(NM)' \ +@@ -668,6 +677,8 @@ 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)' \ ++ 'GDCFLAGS=$$(GDCFLAGS_FOR_TARGET)' \ + '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}" \ +@@ -745,7 +746,7 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n + break + 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 +754,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 +819,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 +@@ -172,7 +172,8 @@ target_libraries="target-libgcc \ + target-libada-sjlj \ + ${target_libiberty} \ + target-libgnatvsn \ +- target-libgo" ++ target-libgo \ ++ target-libphobos" + + # these tools are built using the target libraries, and are intended to + # run only in the target environment +@@ -1256,6 +1257,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} +@@ -1269,6 +1271,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)" +@@ -3256,6 +3259,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) +@@ -3365,6 +3369,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) +@@ -3398,6 +3403,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]) --- gcc-8-8.2.0.orig/debian/patches/gdc-multiarch.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/gdc-profiledbuild.diff +++ gcc-8-8.2.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 +@@ -314,6 +314,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-8-8.2.0.orig/debian/patches/gdc-shared-by-default.diff +++ gcc-8-8.2.0/debian/patches/gdc-shared-by-default.diff @@ -0,0 +1,18 @@ +# DP: Link with the shared libphobos library by default. + +Index: b/src/gcc/d/d-spec.c +=================================================================== +--- a/src/gcc/d/d-spec.c ++++ b/src/gcc/d/d-spec.c +@@ -395,9 +395,9 @@ lang_specific_driver (cl_decoded_option + /* Add `-lgphobos' if we haven't already done so. */ + if (library > 0 && need_phobos) + { +- /* Default to static linking. */ ++ /* Default to shared linking. */ + if (library == 1) +- library = 2; ++ library = 3; + + #ifdef HAVE_LD_STATIC_DYNAMIC + if (library == 3 && static_link) --- gcc-8-8.2.0.orig/debian/patches/gdc-sparc-fix.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/gdc-targetdm-doc.diff +++ gcc-8-8.2.0/debian/patches/gdc-targetdm-doc.diff @@ -0,0 +1,90 @@ +--- a/src/gcc/doc/tm.texi ++++ b/src/gcc/doc/tm.texi +@@ -52,6 +52,7 @@ through the macros defined in the @file{.h} file. + * MIPS Coprocessors:: MIPS coprocessor support and how to customize it. + * PCH Target:: Validity checking for precompiled headers. + * C++ ABI:: Controlling C++ ABI changes. ++* D Language and ABI:: Controlling D ABI changes. + * Named Address Spaces:: Adding support for named address spaces + * Misc:: Everything else. + @end menu +@@ -106,6 +107,14 @@ documented as ``Common Target Hook''. This is declared in + @code{target_has_targetm_common=yes} in @file{config.gcc}; otherwise a + default definition is used. + ++Similarly, there is a @code{targetdm} variable for hooks that are ++specific to the D language front end, documented as ``D Target Hook''. ++This is declared in @file{d/d-target.h}, the initializer ++@code{TARGETDM_INITIALIZER} in @file{d/d-target-def.h}. If targets ++initialize @code{targetdm} themselves, they should set ++@code{target_has_targetdm=yes} in @file{config.gcc}; otherwise a default ++definition is used. ++ + @node Driver + @section Controlling the Compilation Driver, @file{gcc} + @cindex driver +@@ -10488,6 +10497,22 @@ unloaded. The default is to return false. + Return target-specific mangling context of @var{decl} or @code{NULL_TREE}. + @end deftypefn + ++@node D Language and ABI ++@section D ABI parameters ++@cindex parameters, d abi ++ ++@deftypefn {D Target Hook} void TARGET_D_CPU_VERSIONS (void) ++Declare all environmental version identifiers relating to the target CPU using the function @code{builtin_version}, which takes a string representing the name of the version. Version identifiers predefined by this hook apply to all modules and being compiled and imported. ++@end deftypefn ++ ++@deftypefn {D Target Hook} void TARGET_D_OS_VERSIONS (void) ++Similarly to @code{TARGET_D_CPU_VERSIONS}, but is used for versions relating to the target operating system. ++@end deftypefn ++ ++@deftypefn {D Target Hook} unsigned TARGET_D_CRITSEC_SIZE (void) ++Returns the size of the data structure used by the targeted operating system for critical sections and monitors. For example, on Microsoft Windows this would return the @code{sizeof(CRITICAL_SECTION)}, while other platforms that implement pthreads would return @code{sizeof(pthread_mutex_t)}. ++@end deftypefn ++ + @node Named Address Spaces + @section Adding support for named address spaces + @cindex named address spaces +--- a/src/gcc/doc/tm.texi.in ++++ b/src/gcc/doc/tm.texi.in +@@ -52,6 +52,7 @@ through the macros defined in the @file{.h} file. + * MIPS Coprocessors:: MIPS coprocessor support and how to customize it. + * PCH Target:: Validity checking for precompiled headers. + * C++ ABI:: Controlling C++ ABI changes. ++* D Language and ABI:: Controlling D ABI changes. + * Named Address Spaces:: Adding support for named address spaces + * Misc:: Everything else. + @end menu +@@ -106,6 +107,14 @@ documented as ``Common Target Hook''. This is declared in + @code{target_has_targetm_common=yes} in @file{config.gcc}; otherwise a + default definition is used. + ++Similarly, there is a @code{targetdm} variable for hooks that are ++specific to the D language front end, documented as ``D Target Hook''. ++This is declared in @file{d/d-target.h}, the initializer ++@code{TARGETDM_INITIALIZER} in @file{d/d-target-def.h}. If targets ++initialize @code{targetdm} themselves, they should set ++@code{target_has_targetdm=yes} in @file{config.gcc}; otherwise a default ++definition is used. ++ + @node Driver + @section Controlling the Compilation Driver, @file{gcc} + @cindex driver +@@ -7234,6 +7243,16 @@ floating-point support; they are not included in this mechanism. + + @hook TARGET_CXX_DECL_MANGLING_CONTEXT + ++@node D Language and ABI ++@section D ABI parameters ++@cindex parameters, d abi ++ ++@hook TARGET_D_CPU_VERSIONS ++ ++@hook TARGET_D_OS_VERSIONS ++ ++@hook TARGET_D_CRITSEC_SIZE ++ + @node Named Address Spaces + @section Adding support for named address spaces + @cindex named address spaces --- gcc-8-8.2.0.orig/debian/patches/gdc-targetdm.diff +++ gcc-8-8.2.0/debian/patches/gdc-targetdm.diff @@ -0,0 +1,1514 @@ +This patch implements the support for the D language specific target hooks. + +The following versions are available for all supported architectures. +* D_HardFloat +* D_SoftFloat + +The following CPU versions are implemented: +* ARM +** Thumb (deprecated) +** ARM_Thumb +** ARM_HardFloat +** ARM_SoftFloat +** ARM_SoftFP +* AArch64 +* Alpha +** Alpha_SoftFloat +** Alpha_HardFloat +* X86 +* X86_64 +** D_X32 +* MIPS32 +* MIPS64 +** MIPS_O32 +** MIPS_O64 +** MIPS_N32 +** MIPS_N64 +** MIPS_EABI +** MIPS_HardFloat +** MIPS_SoftFloat +* PPC +* PPC64 +** PPC_HardFloat +** PPC_SoftFloat +* S390 +* S390X (deprecated) +* SystemZ +* SPARC +* SPARC64 +* SPARC_V8Plus +** SPARC_HardFloat +** SPARC_SoftFloat + +The following OS versions are implemented: +* linux +* Posix +* Hurd +* Android +* CRuntime_Bionic +* CRuntime_Glibc +* CRuntime_Musl +* CRuntime_UClibc +--- + +--- a/src/gcc/Makefile.in ++++ b/src/gcc/Makefile.in +@@ -552,6 +552,8 @@ tm_include_list=@tm_include_list@ + tm_defines=@tm_defines@ + tm_p_file_list=@tm_p_file_list@ + tm_p_include_list=@tm_p_include_list@ ++tm_d_file_list=@tm_d_file_list@ ++tm_d_include_list=@tm_d_include_list@ + build_xm_file_list=@build_xm_file_list@ + build_xm_include_list=@build_xm_include_list@ + build_xm_defines=@build_xm_defines@ +@@ -846,6 +848,7 @@ BCONFIG_H = bconfig.h $(build_xm_file_li + CONFIG_H = config.h $(host_xm_file_list) + TCONFIG_H = tconfig.h $(xm_file_list) + TM_P_H = tm_p.h $(tm_p_file_list) ++TM_D_H = tm_d.h $(tm_d_file_list) + GTM_H = tm.h $(tm_file_list) insn-constants.h + TM_H = $(GTM_H) insn-flags.h $(OPTIONS_H) + +@@ -903,9 +906,11 @@ EXCEPT_H = except.h $(HASHTAB_H) + TARGET_DEF = target.def target-hooks-macros.h target-insns.def + C_TARGET_DEF = c-family/c-target.def target-hooks-macros.h + COMMON_TARGET_DEF = common/common-target.def target-hooks-macros.h ++D_TARGET_DEF = d/d-target.def target-hooks-macros.h + TARGET_H = $(TM_H) target.h $(TARGET_DEF) insn-modes.h insn-codes.h + C_TARGET_H = c-family/c-target.h $(C_TARGET_DEF) + COMMON_TARGET_H = common/common-target.h $(INPUT_H) $(COMMON_TARGET_DEF) ++D_TARGET_H = d/d-target.h $(D_TARGET_DEF) + MACHMODE_H = machmode.h mode-classes.def + HOOKS_H = hooks.h + HOSTHOOKS_DEF_H = hosthooks-def.h $(HOOKS_H) +@@ -1185,6 +1190,9 @@ C_TARGET_OBJS=@c_target_objs@ + # Target specific, C++ specific object file + CXX_TARGET_OBJS=@cxx_target_objs@ + ++# Target specific, D specific object file ++D_TARGET_OBJS=@d_target_objs@ ++ + # Target specific, Fortran specific object file + FORTRAN_TARGET_OBJS=@fortran_target_objs@ + +@@ -1783,6 +1791,7 @@ bconfig.h: cs-bconfig.h ; @true + tconfig.h: cs-tconfig.h ; @true + tm.h: cs-tm.h ; @true + tm_p.h: cs-tm_p.h ; @true ++tm_d.h: cs-tm_d.h ; @true + + cs-config.h: Makefile + TARGET_CPU_DEFAULT="" \ +@@ -1809,6 +1818,11 @@ cs-tm_p.h: Makefile + HEADERS="$(tm_p_include_list)" DEFINES="" \ + $(SHELL) $(srcdir)/mkconfig.sh tm_p.h + ++cs-tm_d.h: Makefile ++ TARGET_CPU_DEFAULT="" \ ++ HEADERS="$(tm_d_include_list)" DEFINES="" \ ++ $(SHELL) $(srcdir)/mkconfig.sh tm_d.h ++ + # Don't automatically run autoconf, since configure.ac might be accidentally + # newer than configure. Also, this writes into the source directory which + # might be on a read-only file system. If configured for maintainer mode +@@ -2175,6 +2189,12 @@ default-c.o: config/default-c.c + CFLAGS-prefix.o += -DPREFIX=\"$(prefix)\" -DBASEVER=$(BASEVER_s) + prefix.o: $(BASEVER) + ++# Files used by the D language front end. ++ ++default-d.o: config/default-d.c ++ $(COMPILE) $< ++ $(POSTCOMPILE) ++ + # Language-independent files. + + DRIVER_DEFINES = \ +@@ -2470,6 +2490,15 @@ s-common-target-hooks-def-h: build/genho + common/common-target-hooks-def.h + $(STAMP) s-common-target-hooks-def-h + ++d/d-target-hooks-def.h: s-d-target-hooks-def-h; @true ++ ++s-d-target-hooks-def-h: build/genhooks$(build_exeext) ++ $(RUN_GEN) build/genhooks$(build_exeext) "D Target Hook" \ ++ > tmp-d-target-hooks-def.h ++ $(SHELL) $(srcdir)/../move-if-change tmp-d-target-hooks-def.h \ ++ d/d-target-hooks-def.h ++ $(STAMP) s-d-target-hooks-def-h ++ + # check if someone mistakenly only changed tm.texi. + # We use a different pathname here to avoid a circular dependency. + s-tm-texi: $(srcdir)/doc/../doc/tm.texi +@@ -2609,14 +2638,15 @@ s-gtype: build/gengtype$(build_exeext) $ + -r gtype.state + $(STAMP) s-gtype + +-generated_files = config.h tm.h $(TM_P_H) $(TM_H) multilib.h \ ++generated_files = config.h tm.h $(TM_P_H) $(TM_D_H) $(TM_H) multilib.h \ + $(simple_generated_h) specs.h \ + tree-check.h genrtl.h insn-modes.h insn-modes-inline.h \ + tm-preds.h tm-constrs.h \ + $(ALL_GTFILES_H) gtype-desc.c gtype-desc.h gcov-iov.h \ + options.h target-hooks-def.h insn-opinit.h \ + common/common-target-hooks-def.h pass-instances.def \ +- c-family/c-target-hooks-def.h params.list params.options case-cfn-macros.h \ ++ c-family/c-target-hooks-def.h d/d-target-hooks-def.h \ ++ params.list params.options case-cfn-macros.h \ + cfn-operators.pd + + # +@@ -2759,7 +2789,7 @@ build/genrecog.o : genrecog.c $(RTL_BASE + $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H) \ + $(HASH_TABLE_H) inchash.h + build/genhooks.o : genhooks.c $(TARGET_DEF) $(C_TARGET_DEF) \ +- $(COMMON_TARGET_DEF) $(BCONFIG_H) $(SYSTEM_H) errors.h ++ $(COMMON_TARGET_DEF) $(D_TARGET_DEF) $(BCONFIG_H) $(SYSTEM_H) errors.h + build/genmddump.o : genmddump.c $(RTL_BASE_H) $(BCONFIG_H) $(SYSTEM_H) \ + $(CORETYPES_H) $(GTM_H) errors.h $(READ_MD_H) $(GENSUPPORT_H) + build/genmatch.o : genmatch.c $(BCONFIG_H) $(SYSTEM_H) \ +--- a/src/gcc/config.gcc ++++ b/src/gcc/config.gcc +@@ -86,6 +86,9 @@ + # tm_p_file Location of file with declarations for functions + # in $out_file. + # ++# tm_d_file A list of headers with definitions of target hook ++# macros for the D compiler. ++# + # out_file The name of the machine description C support + # file, if different from "$cpu_type/$cpu_type.c". + # +@@ -139,6 +142,9 @@ + # cxx_target_objs List of extra target-dependent objects that be + # linked into the C++ compiler only. + # ++# d_target_objs List of extra target-dependent objects that be ++# linked into the D compiler only. ++# + # fortran_target_objs List of extra target-dependent objects that be + # linked into the fortran compiler only. + # +@@ -191,6 +197,9 @@ + # + # target_has_targetm_common Set to yes or no depending on whether the + # target has its own definition of targetm_common. ++# ++# target_has_targetdm Set to yes or no depending on whether the target ++# has its own definition of targetdm. + + out_file= + common_out_file= +@@ -206,9 +215,11 @@ extra_gcc_objs= + extra_options= + c_target_objs= + cxx_target_objs= ++d_target_objs= + fortran_target_objs= + target_has_targetcm=no + target_has_targetm_common=yes ++target_has_targetdm=no + tm_defines= + xm_defines= + # Set this to force installation and use of collect2. +@@ -300,6 +311,7 @@ m32c*-*-*) + target_has_targetm_common=no + ;; + aarch64*-*-*) ++ d_target_objs="aarch64-d.o" + cpu_type=aarch64 + extra_headers="arm_fp16.h arm_neon.h arm_acle.h" + c_target_objs="aarch64-c.o" +@@ -311,6 +323,7 @@ aarch64*-*-*) + alpha*-*-*) + cpu_type=alpha + extra_options="${extra_options} g.opt" ++ d_target_objs="alpha-d.o" + ;; + am33_2.0-*-linux*) + cpu_type=mn10300 +@@ -329,6 +342,7 @@ arm*-*-*) + target_type_format_char='%' + c_target_objs="arm-c.o" + cxx_target_objs="arm-c.o" ++ d_target_objs="arm-d.o" + extra_options="${extra_options} arm/arm-tables.opt" + target_gtfiles="\$(srcdir)/config/arm/arm-builtins.c" + ;; +@@ -361,6 +375,7 @@ i[34567]86-*-*) + cpu_type=i386 + c_target_objs="i386-c.o" + cxx_target_objs="i386-c.o" ++ d_target_objs="i386-d.o" + extra_objs="x86-tune-sched.o x86-tune-sched-bd.o x86-tune-sched-atom.o x86-tune-sched-core.o" + extra_options="${extra_options} fused-madd.opt" + extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h +@@ -390,6 +405,7 @@ x86_64-*-*) + cpu_type=i386 + c_target_objs="i386-c.o" + cxx_target_objs="i386-c.o" ++ d_target_objs="i386-d.o" + extra_options="${extra_options} fused-madd.opt" + extra_objs="x86-tune-sched.o x86-tune-sched-bd.o x86-tune-sched-atom.o x86-tune-sched-core.o" + extra_headers="cpuid.h mmintrin.h mm3dnow.h xmmintrin.h emmintrin.h +@@ -439,6 +455,7 @@ microblaze*-*-*) + ;; + mips*-*-*) + cpu_type=mips ++ d_target_objs="mips-d.o" + extra_headers="loongson.h msa.h" + extra_objs="frame-header-opt.o" + extra_options="${extra_options} g.opt fused-madd.opt mips/mips-tables.opt" +@@ -494,6 +511,7 @@ sparc*-*-*) + cpu_type=sparc + c_target_objs="sparc-c.o" + cxx_target_objs="sparc-c.o" ++ d_target_objs="sparc-d.o" + extra_headers="visintrin.h" + ;; + spu*-*-*) +@@ -501,6 +519,7 @@ spu*-*-*) + ;; + s390*-*-*) + cpu_type=s390 ++ d_target_objs="s390-d.o" + extra_options="${extra_options} fused-madd.opt" + extra_headers="s390intrin.h htmintrin.h htmxlintrin.h vecintrin.h" + ;; +@@ -530,10 +549,13 @@ tilepro*-*-*) + esac + + tm_file=${cpu_type}/${cpu_type}.h ++tm_d_file=${cpu_type}/${cpu_type}.h + if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-protos.h + then + tm_p_file=${cpu_type}/${cpu_type}-protos.h ++ tm_d_file="${tm_d_file} ${cpu_type}/${cpu_type}-protos.h" + fi ++ + extra_modes= + if test -f ${srcdir}/config/${cpu_type}/${cpu_type}-modes.def + then +@@ -802,8 +824,10 @@ case ${target} in + esac + c_target_objs="${c_target_objs} glibc-c.o" + cxx_target_objs="${cxx_target_objs} glibc-c.o" ++ d_target_objs="${d_target_objs} glibc-d.o" + tmake_file="${tmake_file} t-glibc" + target_has_targetcm=yes ++ target_has_targetdm=yes + ;; + *-*-netbsd*) + tm_p_file="${tm_p_file} netbsd-protos.h" +@@ -3185,6 +3209,10 @@ if [ "$common_out_file" = "" ]; then + fi + fi + ++if [ "$target_has_targetdm" = "no" ]; then ++ d_target_objs="$d_target_objs default-d.o" ++fi ++ + # Support for --with-cpu and related options (and a few unrelated options, + # too). + case ${with_cpu} in +@@ -4726,6 +4754,7 @@ case ${target} in + out_file="${cpu_type}/${cpu_type}.c" + c_target_objs="${c_target_objs} ${cpu_type}-c.o" + cxx_target_objs="${cxx_target_objs} ${cpu_type}-c.o" ++ d_target_objs="${d_target_objs} ${cpu_type}-d.o" + tmake_file="${cpu_type}/t-${cpu_type} ${tmake_file}" + ;; + +--- /dev/null ++++ b/src/gcc/config/aarch64/aarch64-d.c +@@ -0,0 +1,31 @@ ++/* Subroutines for the D front end on the AArch64 architecture. ++ Copyright (C) 2017 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 ++. */ ++ ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "d/d-target.h" ++#include "d/d-target-def.h" ++ ++/* Implement TARGET_D_CPU_VERSIONS for AArch64 targets. */ ++ ++void ++aarch64_d_target_versions (void) ++{ ++ d_add_builtin_version ("AArch64"); ++ d_add_builtin_version ("D_HardFloat"); ++} +--- a/src/gcc/config/aarch64/aarch64-linux.h ++++ b/src/gcc/config/aarch64/aarch64-linux.h +@@ -82,6 +82,8 @@ + } \ + while (0) + ++#define GNU_USER_TARGET_D_CRITSEC_SIZE 48 ++ + #define TARGET_ASM_FILE_END file_end_indicate_exec_stack + + /* Uninitialized common symbols in non-PIE executables, even with +--- a/src/gcc/config/aarch64/aarch64-protos.h ++++ b/src/gcc/config/aarch64/aarch64-protos.h +@@ -538,6 +538,9 @@ bool aarch64_operands_adjust_ok_for_ldps + extern void aarch64_asm_output_pool_epilogue (FILE *, const char *, + tree, HOST_WIDE_INT); + ++/* Defined in aarch64-d.c */ ++extern void aarch64_d_target_versions (void); ++ + /* Defined in common/config/aarch64-common.c. */ + bool aarch64_handle_option (struct gcc_options *, struct gcc_options *, + const struct cl_decoded_option *, location_t); +--- a/src/gcc/config/aarch64/aarch64.h ++++ b/src/gcc/config/aarch64/aarch64.h +@@ -26,6 +26,9 @@ + #define TARGET_CPU_CPP_BUILTINS() \ + aarch64_cpu_cpp_builtins (pfile) + ++/* Target CPU versions for D. */ ++#define TARGET_D_CPU_VERSIONS aarch64_d_target_versions ++ + + + #define REGISTER_TARGET_PRAGMAS() aarch64_register_pragmas () +--- a/src/gcc/config/aarch64/t-aarch64 ++++ b/src/gcc/config/aarch64/t-aarch64 +@@ -56,6 +56,10 @@ aarch64-c.o: $(srcdir)/config/aarch64/aa + $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ + $(srcdir)/config/aarch64/aarch64-c.c + ++aarch64-d.o: $(srcdir)/config/aarch64/aarch64-d.c ++ $(COMPILE) $< ++ $(POSTCOMPILE) ++ + PASSES_EXTRA += $(srcdir)/config/aarch64/aarch64-passes.def + + cortex-a57-fma-steering.o: $(srcdir)/config/aarch64/cortex-a57-fma-steering.c \ +--- /dev/null ++++ b/src/gcc/config/alpha/alpha-d.c +@@ -0,0 +1,41 @@ ++/* Subroutines for the D front end on the Alpha architecture. ++ Copyright (C) 2017 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 ++. */ ++ ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tm.h" ++#include "d/d-target.h" ++#include "d/d-target-def.h" ++ ++/* Implement TARGET_D_CPU_VERSIONS for Alpha targets. */ ++ ++void ++alpha_d_target_versions (void) ++{ ++ d_add_builtin_version ("Alpha"); ++ if (TARGET_SOFT_FP) ++ { ++ d_add_builtin_version ("D_SoftFloat"); ++ d_add_builtin_version ("Alpha_SoftFloat"); ++ } ++ else ++ { ++ d_add_builtin_version ("D_HardFloat"); ++ d_add_builtin_version ("Alpha_HardFloat"); ++ } ++} +--- a/src/gcc/config/alpha/alpha-protos.h ++++ b/src/gcc/config/alpha/alpha-protos.h +@@ -118,3 +118,6 @@ class rtl_opt_pass; + + extern rtl_opt_pass *make_pass_handle_trap_shadows (gcc::context *); + extern rtl_opt_pass *make_pass_align_insns (gcc::context *); ++ ++/* Routines implemented in alpha-d.c */ ++extern void alpha_d_target_versions (void); +--- a/src/gcc/config/alpha/alpha.h ++++ b/src/gcc/config/alpha/alpha.h +@@ -94,6 +94,9 @@ along with GCC; see the file COPYING3. + while (0) + #endif + ++/* Target CPU versions for D. */ ++#define TARGET_D_CPU_VERSIONS alpha_d_target_versions ++ + /* Run-time compilation parameters selecting different hardware subsets. */ + + /* Which processor to schedule for. The cpu attribute defines a list that +--- a/src/gcc/config/alpha/linux.h ++++ b/src/gcc/config/alpha/linux.h +@@ -33,6 +33,19 @@ along with GCC; see the file COPYING3. + builtin_define ("_GNU_SOURCE"); \ + } while (0) + ++#define GNU_USER_TARGET_D_OS_VERSIONS() \ ++ do { \ ++ builtin_version ("linux"); \ ++ if (OPTION_GLIBC) \ ++ builtin_version ("CRuntime_Glibc"); \ ++ else if (OPTION_UCLIBC) \ ++ d_add_builtin_version ("CRuntime_UClibc"); \ ++ else if (OPTION_BIONIC) \ ++ d_add_builtin_version ("CRuntime_Bionic"); \ ++ else if (OPTION_MUSL) \ ++ d_add_builtin_version ("CRuntime_Musl"); \ ++ } while (0) ++ + #undef LIB_SPEC + #define LIB_SPEC \ + "%{pthread:-lpthread} \ +--- a/src/gcc/config/alpha/t-alpha ++++ b/src/gcc/config/alpha/t-alpha +@@ -16,4 +16,8 @@ + # along with GCC; see the file COPYING3. If not see + # . + ++alpha-d.o: $(srcdir)/config/alpha/alpha-d.c ++ $(COMPILE) $< ++ $(POSTCOMPILE) ++ + PASSES_EXTRA += $(srcdir)/config/alpha/alpha-passes.def +--- /dev/null ++++ b/src/gcc/config/arm/arm-d.c +@@ -0,0 +1,53 @@ ++/* Subroutines for the D front end on the ARM architecture. ++ Copyright (C) 2017 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 ++. */ ++ ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tm.h" ++#include "tm_p.h" ++#include "d/d-target.h" ++#include "d/d-target-def.h" ++ ++/* Implement TARGET_D_CPU_VERSIONS for ARM targets. */ ++ ++void ++arm_d_target_versions (void) ++{ ++ d_add_builtin_version ("ARM"); ++ ++ if (TARGET_THUMB || TARGET_THUMB2) ++ { ++ d_add_builtin_version ("Thumb"); ++ d_add_builtin_version ("ARM_Thumb"); ++ } ++ ++ if (TARGET_HARD_FLOAT_ABI) ++ d_add_builtin_version ("ARM_HardFloat"); ++ else ++ { ++ if (TARGET_SOFT_FLOAT) ++ d_add_builtin_version ("ARM_SoftFloat"); ++ else if (TARGET_HARD_FLOAT) ++ d_add_builtin_version ("ARM_SoftFP"); ++ } ++ ++ if (TARGET_SOFT_FLOAT) ++ d_add_builtin_version ("D_SoftFloat"); ++ else if (TARGET_HARD_FLOAT) ++ d_add_builtin_version ("D_HardFloat"); ++} +--- a/src/gcc/config/arm/arm-protos.h ++++ b/src/gcc/config/arm/arm-protos.h +@@ -373,6 +373,9 @@ extern void arm_lang_object_attributes_i + extern void arm_register_target_pragmas (void); + extern void arm_cpu_cpp_builtins (struct cpp_reader *); + ++/* Defined in arm-d.c */ ++extern void arm_d_target_versions (void); ++ + extern bool arm_is_constant_pool_ref (rtx); + + /* The bits in this mask specify which instruction scheduling options should +--- a/src/gcc/config/arm/arm.h ++++ b/src/gcc/config/arm/arm.h +@@ -47,6 +47,9 @@ extern char arm_arch_name[]; + /* Target CPU builtins. */ + #define TARGET_CPU_CPP_BUILTINS() arm_cpu_cpp_builtins (pfile) + ++/* Target CPU versions for D. */ ++#define TARGET_D_CPU_VERSIONS arm_d_target_versions ++ + #include "config/arm/arm-opts.h" + + /* The processor for which instructions should be scheduled. */ +--- a/src/gcc/config/arm/linux-eabi.h ++++ b/src/gcc/config/arm/linux-eabi.h +@@ -30,6 +30,9 @@ + } \ + while (false) + ++#define EXTRA_TARGET_D_OS_VERSIONS() \ ++ ANDROID_TARGET_D_OS_VERSIONS(); ++ + /* 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. */ +--- a/src/gcc/config/arm/t-arm ++++ b/src/gcc/config/arm/t-arm +@@ -144,4 +144,8 @@ arm-c.o: $(srcdir)/config/arm/arm-c.c $( + $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ + $(srcdir)/config/arm/arm-c.c + ++arm-d.o: $(srcdir)/config/arm/arm-d.c ++ $(COMPILE) $< ++ $(POSTCOMPILE) ++ + arm-common.o: arm-cpu-cdata.h +--- /dev/null ++++ b/src/gcc/config/default-d.c +@@ -0,0 +1,25 @@ ++/* Default D language target hooks initializer. ++ Copyright (C) 2017 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 ++. */ ++ ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tm_d.h" ++#include "d/d-target.h" ++#include "d/d-target-def.h" ++ ++struct gcc_targetdm targetdm = TARGETDM_INITIALIZER; +--- /dev/null ++++ b/src/gcc/config/glibc-d.c +@@ -0,0 +1,64 @@ ++/* Glibc support needed only by D front-end. ++ Copyright (C) 2017 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 ++. */ ++ ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tm.h" ++#include "memmodel.h" ++#include "tm_p.h" ++#include "d/d-target.h" ++#include "d/d-target-def.h" ++ ++/* Implement TARGET_D_OS_VERSIONS for Glibc targets. */ ++ ++static void ++glibc_d_os_builtins (void) ++{ ++ d_add_builtin_version ("Posix"); ++ ++#define builtin_version(TXT) d_add_builtin_version (TXT) ++ ++#ifdef GNU_USER_TARGET_D_OS_VERSIONS ++ GNU_USER_TARGET_D_OS_VERSIONS (); ++#endif ++ ++#ifdef EXTRA_TARGET_D_OS_VERSIONS ++ EXTRA_TARGET_D_OS_VERSIONS (); ++#endif ++} ++ ++/* Implement TARGET_D_CRITSEC_SIZE for Glibc targets. */ ++ ++static unsigned ++glibc_d_critsec_size (void) ++{ ++ /* This is the sizeof pthread_mutex_t. */ ++#ifdef GNU_USER_TARGET_D_CRITSEC_SIZE ++ return GNU_USER_TARGET_D_CRITSEC_SIZE; ++#else ++ return (POINTER_SIZE == 64) ? 40 : 24; ++#endif ++} ++ ++#undef TARGET_D_OS_VERSIONS ++#define TARGET_D_OS_VERSIONS glibc_d_os_builtins ++ ++#undef TARGET_D_CRITSEC_SIZE ++#define TARGET_D_CRITSEC_SIZE glibc_d_critsec_size ++ ++struct gcc_targetdm targetdm = TARGETDM_INITIALIZER; +--- a/src/gcc/config/gnu.h ++++ b/src/gcc/config/gnu.h +@@ -31,3 +31,9 @@ along with GCC. If not, see . */ ++ ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tm.h" ++#include "d/d-target.h" ++#include "d/d-target-def.h" ++ ++/* Implement TARGET_D_CPU_VERSIONS for x86 targets. */ ++ ++void ++ix86_d_target_versions (void) ++{ ++ if (TARGET_64BIT) ++ { ++ d_add_builtin_version ("X86_64"); ++ ++ if (TARGET_X32) ++ d_add_builtin_version ("D_X32"); ++ } ++ else ++ d_add_builtin_version ("X86"); ++ ++ if (TARGET_80387) ++ d_add_builtin_version ("D_HardFloat"); ++ else ++ d_add_builtin_version ("D_SoftFloat"); ++} +--- a/src/gcc/config/i386/i386-protos.h ++++ b/src/gcc/config/i386/i386-protos.h +@@ -238,6 +238,9 @@ extern bool ix86_bnd_prefixed_insn_p (rt + extern void ix86_target_macros (void); + extern void ix86_register_pragmas (void); + ++/* In i386-d.c */ ++extern void ix86_d_target_versions (void); ++ + /* In winnt.c */ + extern void i386_pe_unique_section (tree, int); + extern void i386_pe_declare_function_type (FILE *, const char *, int); +--- a/src/gcc/config/i386/i386.h ++++ b/src/gcc/config/i386/i386.h +@@ -705,6 +705,9 @@ extern const char *host_detect_local_cpu + /* Target Pragmas. */ + #define REGISTER_TARGET_PRAGMAS() ix86_register_pragmas () + ++/* Target CPU versions for D. */ ++#define TARGET_D_CPU_VERSIONS ix86_d_target_versions ++ + #ifndef CC1_SPEC + #define CC1_SPEC "%(cc1_cpu) " + #endif +--- a/src/gcc/config/i386/linux-common.h ++++ b/src/gcc/config/i386/linux-common.h +@@ -27,6 +27,12 @@ along with GCC; see the file COPYING3. + } \ + while (0) + ++#define EXTRA_TARGET_D_OS_VERSIONS() \ ++ ANDROID_TARGET_D_OS_VERSIONS(); ++ ++#define GNU_USER_TARGET_D_CRITSEC_SIZE \ ++ (TARGET_64BIT ? (POINTER_SIZE == 64 ? 40 : 32) : 24) ++ + #undef CC1_SPEC + #define CC1_SPEC \ + LINUX_OR_ANDROID_CC (GNU_USER_TARGET_CC1_SPEC, \ +--- a/src/gcc/config/i386/t-i386 ++++ b/src/gcc/config/i386/t-i386 +@@ -40,6 +40,10 @@ x86-tune-sched-core.o: $(srcdir)/config/ + $(COMPILE) $< + $(POSTCOMPILE) + ++i386-d.o: $(srcdir)/config/i386/i386-d.c ++ $(COMPILE) $< ++ $(POSTCOMPILE) ++ + i386.o: i386-builtin-types.inc + + i386-builtin-types.inc: s-i386-bt ; @true +--- a/src/gcc/config/kfreebsd-gnu.h ++++ b/src/gcc/config/kfreebsd-gnu.h +@@ -29,6 +29,12 @@ along with GCC; see the file COPYING3. + } \ + while (0) + ++#define GNU_USER_TARGET_D_OS_VERSIONS() \ ++ do { \ ++ builtin_version ("FreeBSD"); \ ++ builtin_version ("CRuntime_Glibc"); \ ++ } while (0) ++ + #define GNU_USER_DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER + #define GNU_USER_DYNAMIC_LINKER32 GLIBC_DYNAMIC_LINKER32 + #define GNU_USER_DYNAMIC_LINKER64 GLIBC_DYNAMIC_LINKER64 +--- a/src/gcc/config/kopensolaris-gnu.h ++++ b/src/gcc/config/kopensolaris-gnu.h +@@ -30,5 +30,11 @@ along with GCC; see the file COPYING3. + } \ + while (0) + ++#define GNU_USER_TARGET_D_OS_VERSIONS() \ ++ do { \ ++ builtin_version ("Solaris"); \ ++ builtin_version ("CRuntime_Glibc"); \ ++ } while (0) ++ + #undef GNU_USER_DYNAMIC_LINKER + #define GNU_USER_DYNAMIC_LINKER "/lib/ld.so.1" +--- a/src/gcc/config/linux-android.h ++++ b/src/gcc/config/linux-android.h +@@ -25,6 +25,12 @@ + builtin_define ("__ANDROID__"); \ + } while (0) + ++#define ANDROID_TARGET_D_OS_VERSIONS() \ ++ do { \ ++ if (TARGET_ANDROID) \ ++ builtin_version ("Android"); \ ++ } while (0) ++ + #if ANDROID_DEFAULT + # define NOANDROID "mno-android" + #else +--- a/src/gcc/config/linux.h ++++ b/src/gcc/config/linux.h +@@ -53,6 +53,19 @@ see the files COPYING3 and COPYING.RUNTI + builtin_assert ("system=posix"); \ + } while (0) + ++#define GNU_USER_TARGET_D_OS_VERSIONS() \ ++ do { \ ++ builtin_version ("linux"); \ ++ if (OPTION_GLIBC) \ ++ builtin_version ("CRuntime_Glibc"); \ ++ else if (OPTION_UCLIBC) \ ++ d_add_builtin_version ("CRuntime_UClibc"); \ ++ else if (OPTION_BIONIC) \ ++ d_add_builtin_version ("CRuntime_Bionic"); \ ++ else if (OPTION_MUSL) \ ++ d_add_builtin_version ("CRuntime_Musl"); \ ++ } while (0) ++ + /* Determine which dynamic linker to use depending on whether GLIBC or + uClibc or Bionic or musl is the default C library and whether + -muclibc or -mglibc or -mbionic or -mmusl has been passed to change +--- a/src/gcc/config/mips/linux-common.h ++++ b/src/gcc/config/mips/linux-common.h +@@ -27,6 +27,9 @@ along with GCC; see the file COPYING3. + ANDROID_TARGET_OS_CPP_BUILTINS(); \ + } while (0) + ++#define EXTRA_TARGET_D_OS_VERSIONS() \ ++ ANDROID_TARGET_D_OS_VERSIONS(); ++ + #undef LINK_SPEC + #define LINK_SPEC \ + LINUX_OR_ANDROID_LD (GNU_USER_TARGET_LINK_SPEC, \ +--- /dev/null ++++ b/src/gcc/config/mips/mips-d.c +@@ -0,0 +1,56 @@ ++/* Subroutines for the D front end on the MIPS architecture. ++ Copyright (C) 2017 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 ++. */ ++ ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tm.h" ++#include "d/d-target.h" ++#include "d/d-target-def.h" ++ ++/* Implement TARGET_D_CPU_VERSIONS for MIPS targets. */ ++ ++void ++mips_d_target_versions (void) ++{ ++ if (TARGET_64BIT) ++ d_add_builtin_version ("MIPS64"); ++ else ++ d_add_builtin_version ("MIPS32"); ++ ++ if (mips_abi == ABI_32) ++ d_add_builtin_version ("MIPS_O32"); ++ else if (mips_abi == ABI_EABI) ++ d_add_builtin_version ("MIPS_EABI"); ++ else if (mips_abi == ABI_N32) ++ d_add_builtin_version ("MIPS_N32"); ++ else if (mips_abi == ABI_64) ++ d_add_builtin_version ("MIPS_N64"); ++ else if (mips_abi == ABI_O64) ++ d_add_builtin_version ("MIPS_O64"); ++ ++ if (TARGET_HARD_FLOAT_ABI) ++ { ++ d_add_builtin_version ("MIPS_HardFloat"); ++ d_add_builtin_version ("D_HardFloat"); ++ } ++ else if (TARGET_SOFT_FLOAT_ABI) ++ { ++ d_add_builtin_version ("MIPS_SoftFloat"); ++ d_add_builtin_version ("D_SoftFloat"); ++ } ++} +--- a/src/gcc/config/mips/mips-protos.h ++++ b/src/gcc/config/mips/mips-protos.h +@@ -385,4 +385,7 @@ extern mulsidi3_gen_fn mips_mulsidi3_gen + extern void mips_register_frame_header_opt (void); + extern void mips_expand_vec_cond_expr (machine_mode, machine_mode, rtx *); + ++/* Routines implemented in mips-d.c */ ++extern void mips_d_target_versions (void); ++ + #endif /* ! GCC_MIPS_PROTOS_H */ +--- a/src/gcc/config/mips/mips.h ++++ b/src/gcc/config/mips/mips.h +@@ -644,6 +644,9 @@ struct mips_cpu_info { + } \ + while (0) + ++/* Target CPU versions for D. */ ++#define TARGET_D_CPU_VERSIONS mips_d_target_versions ++ + /* Default target_flags if no switches are specified */ + + #ifndef TARGET_DEFAULT +--- a/src/gcc/config/mips/t-mips ++++ b/src/gcc/config/mips/t-mips +@@ -24,3 +24,7 @@ $(srcdir)/config/mips/mips-tables.opt: $ + frame-header-opt.o: $(srcdir)/config/mips/frame-header-opt.c + $(COMPILE) $< + $(POSTCOMPILE) ++ ++mips-d.o: $(srcdir)/config/mips/mips-d.c ++ $(COMPILE) $< ++ $(POSTCOMPILE) +--- a/src/gcc/config/powerpcspe/linux.h ++++ b/src/gcc/config/powerpcspe/linux.h +@@ -57,6 +57,19 @@ + } \ + while (0) + ++#define GNU_USER_TARGET_D_OS_VERSIONS() \ ++ do { \ ++ builtin_version ("linux"); \ ++ if (OPTION_GLIBC) \ ++ builtin_version ("CRuntime_Glibc"); \ ++ else if (OPTION_UCLIBC) \ ++ d_add_builtin_version ("CRuntime_UClibc"); \ ++ else if (OPTION_BIONIC) \ ++ d_add_builtin_version ("CRuntime_Bionic"); \ ++ else if (OPTION_MUSL) \ ++ d_add_builtin_version ("CRuntime_Musl"); \ ++ } while (0) ++ + #undef CPP_OS_DEFAULT_SPEC + #define CPP_OS_DEFAULT_SPEC "%(cpp_os_linux)" + +--- a/src/gcc/config/powerpcspe/linux64.h ++++ b/src/gcc/config/powerpcspe/linux64.h +@@ -391,6 +391,19 @@ extern int dot_symbols; + } \ + while (0) + ++#define GNU_USER_TARGET_D_OS_VERSIONS() \ ++ do { \ ++ builtin_version ("linux"); \ ++ if (OPTION_GLIBC) \ ++ builtin_version ("CRuntime_Glibc"); \ ++ else if (OPTION_UCLIBC) \ ++ d_add_builtin_version ("CRuntime_UClibc"); \ ++ else if (OPTION_BIONIC) \ ++ d_add_builtin_version ("CRuntime_Bionic"); \ ++ else if (OPTION_MUSL) \ ++ d_add_builtin_version ("CRuntime_Musl"); \ ++ } while (0) ++ + #undef CPP_OS_DEFAULT_SPEC + #define CPP_OS_DEFAULT_SPEC "%(cpp_os_linux) %(include_extra)" + +--- /dev/null ++++ b/src/gcc/config/powerpcspe/powerpcspe-d.c +@@ -0,0 +1,45 @@ ++/* Subroutines for the D front end on the PowerPC architecture. ++ Copyright (C) 2017 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 ++. */ ++ ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tm.h" ++#include "d/d-target.h" ++#include "d/d-target-def.h" ++ ++/* Implement TARGET_D_CPU_VERSIONS for PowerPC targets. */ ++ ++void ++rs6000_d_target_versions (void) ++{ ++ if (TARGET_64BIT) ++ d_add_builtin_version ("PPC64"); ++ else ++ d_add_builtin_version ("PPC"); ++ ++ if (TARGET_HARD_FLOAT) ++ { ++ d_add_builtin_version ("PPC_HardFloat"); ++ d_add_builtin_version ("D_HardFloat"); ++ } ++ else if (TARGET_SOFT_FLOAT) ++ { ++ d_add_builtin_version ("PPC_SoftFloat"); ++ d_add_builtin_version ("D_SoftFloat"); ++ } ++} +--- a/src/gcc/config/powerpcspe/powerpcspe-protos.h ++++ b/src/gcc/config/powerpcspe/powerpcspe-protos.h +@@ -231,6 +231,9 @@ extern void rs6000_target_modify_macros + extern void (*rs6000_target_modify_macros_ptr) (bool, HOST_WIDE_INT, + HOST_WIDE_INT); + ++/* Declare functions in powerpcspe-d.c */ ++extern void rs6000_d_target_versions (void); ++ + #if TARGET_MACHO + char *output_call (rtx_insn *, rtx *, int, int); + #endif +--- a/src/gcc/config/powerpcspe/powerpcspe.h ++++ b/src/gcc/config/powerpcspe/powerpcspe.h +@@ -829,6 +829,9 @@ extern unsigned char rs6000_recip_bits[] + #define TARGET_CPU_CPP_BUILTINS() \ + rs6000_cpu_cpp_builtins (pfile) + ++/* Target CPU versions for D. */ ++#define TARGET_D_CPU_VERSIONS rs6000_d_target_versions ++ + /* 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() \ +--- a/src/gcc/config/powerpcspe/t-powerpcspe ++++ b/src/gcc/config/powerpcspe/t-powerpcspe +@@ -26,6 +26,10 @@ powerpcspe-c.o: $(srcdir)/config/powerpc + $(COMPILE) $< + $(POSTCOMPILE) + ++powerpcspe-d.o: $(srcdir)/config/powerpcspe/powerpcspe-d.c ++ $(COMPILE) $< ++ $(POSTCOMPILE) ++ + $(srcdir)/config/powerpcspe/powerpcspe-tables.opt: $(srcdir)/config/powerpcspe/genopt.sh \ + $(srcdir)/config/powerpcspe/powerpcspe-cpus.def + $(SHELL) $(srcdir)/config/powerpcspe/genopt.sh $(srcdir)/config/powerpcspe > \ +--- a/src/gcc/config/rs6000/linux.h ++++ b/src/gcc/config/rs6000/linux.h +@@ -57,6 +57,19 @@ + } \ + while (0) + ++#define GNU_USER_TARGET_D_OS_VERSIONS() \ ++ do { \ ++ builtin_version ("linux"); \ ++ if (OPTION_GLIBC) \ ++ builtin_version ("CRuntime_Glibc"); \ ++ else if (OPTION_UCLIBC) \ ++ d_add_builtin_version ("CRuntime_UClibc"); \ ++ else if (OPTION_BIONIC) \ ++ d_add_builtin_version ("CRuntime_Bionic"); \ ++ else if (OPTION_MUSL) \ ++ d_add_builtin_version ("CRuntime_Musl"); \ ++ } while (0) ++ + #undef CPP_OS_DEFAULT_SPEC + #define CPP_OS_DEFAULT_SPEC "%(cpp_os_linux)" + +--- a/src/gcc/config/rs6000/linux64.h ++++ b/src/gcc/config/rs6000/linux64.h +@@ -391,6 +391,19 @@ extern int dot_symbols; + } \ + while (0) + ++#define GNU_USER_TARGET_D_OS_VERSIONS() \ ++ do { \ ++ builtin_version ("linux"); \ ++ if (OPTION_GLIBC) \ ++ builtin_version ("CRuntime_Glibc"); \ ++ else if (OPTION_UCLIBC) \ ++ d_add_builtin_version ("CRuntime_UClibc"); \ ++ else if (OPTION_BIONIC) \ ++ d_add_builtin_version ("CRuntime_Bionic"); \ ++ else if (OPTION_MUSL) \ ++ d_add_builtin_version ("CRuntime_Musl"); \ ++ } while (0) ++ + #undef CPP_OS_DEFAULT_SPEC + #define CPP_OS_DEFAULT_SPEC "%(cpp_os_linux) %(include_extra)" + +--- /dev/null ++++ b/src/gcc/config/rs6000/rs6000-d.c +@@ -0,0 +1,45 @@ ++/* Subroutines for the D front end on the PowerPC architecture. ++ Copyright (C) 2017 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 ++. */ ++ ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tm.h" ++#include "d/d-target.h" ++#include "d/d-target-def.h" ++ ++/* Implement TARGET_D_CPU_VERSIONS for PowerPC targets. */ ++ ++void ++rs6000_d_target_versions (void) ++{ ++ if (TARGET_64BIT) ++ d_add_builtin_version ("PPC64"); ++ else ++ d_add_builtin_version ("PPC"); ++ ++ if (TARGET_HARD_FLOAT) ++ { ++ d_add_builtin_version ("PPC_HardFloat"); ++ d_add_builtin_version ("D_HardFloat"); ++ } ++ else if (TARGET_SOFT_FLOAT) ++ { ++ d_add_builtin_version ("PPC_SoftFloat"); ++ d_add_builtin_version ("D_SoftFloat"); ++ } ++} +--- a/src/gcc/config/rs6000/rs6000-protos.h ++++ b/src/gcc/config/rs6000/rs6000-protos.h +@@ -233,6 +233,9 @@ extern void rs6000_target_modify_macros + extern void (*rs6000_target_modify_macros_ptr) (bool, HOST_WIDE_INT, + HOST_WIDE_INT); + ++/* Declare functions in rs6000-d.c */ ++extern void rs6000_d_target_versions (void); ++ + #if TARGET_MACHO + char *output_call (rtx_insn *, rtx *, int, int); + #endif +--- a/src/gcc/config/rs6000/rs6000.h ++++ b/src/gcc/config/rs6000/rs6000.h +@@ -800,6 +800,9 @@ extern unsigned char rs6000_recip_bits[] + #define TARGET_CPU_CPP_BUILTINS() \ + rs6000_cpu_cpp_builtins (pfile) + ++/* Target CPU versions for D. */ ++#define TARGET_D_CPU_VERSIONS rs6000_d_target_versions ++ + /* 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() \ +--- a/src/gcc/config/rs6000/t-rs6000 ++++ b/src/gcc/config/rs6000/t-rs6000 +@@ -35,6 +35,10 @@ rs6000-p8swap.o: $(srcdir)/config/rs6000 + $(COMPILE) $< + $(POSTCOMPILE) + ++rs6000-d.o: $(srcdir)/config/rs6000/rs6000-d.c ++ $(COMPILE) $< ++ $(POSTCOMPILE) ++ + $(srcdir)/config/rs6000/rs6000-tables.opt: $(srcdir)/config/rs6000/genopt.sh \ + $(srcdir)/config/rs6000/rs6000-cpus.def + $(SHELL) $(srcdir)/config/rs6000/genopt.sh $(srcdir)/config/rs6000 > \ +--- /dev/null ++++ b/src/gcc/config/s390/s390-d.c +@@ -0,0 +1,41 @@ ++/* Subroutines for the D front end on the IBM S/390 and zSeries architectures. ++ Copyright (C) 2017 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 ++. */ ++ ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tm.h" ++#include "d/d-target.h" ++#include "d/d-target-def.h" ++ ++/* Implement TARGET_D_CPU_VERSIONS for S/390 and zSeries targets. */ ++ ++void ++s390_d_target_versions (void) ++{ ++ if (TARGET_ZARCH) ++ d_add_builtin_version ("SystemZ"); ++ else if (TARGET_64BIT) ++ d_add_builtin_version ("S390X"); ++ else ++ d_add_builtin_version ("S390"); ++ ++ if (TARGET_SOFT_FLOAT) ++ d_add_builtin_version ("D_SoftFloat"); ++ else if (TARGET_HARD_FLOAT) ++ d_add_builtin_version ("D_HardFloat"); ++} +--- a/src/gcc/config/s390/s390-protos.h ++++ b/src/gcc/config/s390/s390-protos.h +@@ -165,3 +165,6 @@ extern void s390_register_target_pragmas + + /* Routines for s390-c.c */ + extern bool s390_const_operand_ok (tree, int, int, tree); ++ ++/* Routines for s390-d.c */ ++extern void s390_d_target_versions (void); +--- a/src/gcc/config/s390/s390.h ++++ b/src/gcc/config/s390/s390.h +@@ -194,6 +194,9 @@ enum processor_flags + /* Target CPU builtins. */ + #define TARGET_CPU_CPP_BUILTINS() s390_cpu_cpp_builtins (pfile) + ++/* Target CPU versions for D. */ ++#define TARGET_D_CPU_VERSIONS s390_d_target_versions ++ + #ifdef DEFAULT_TARGET_64BIT + #define TARGET_DEFAULT (MASK_64BIT | MASK_ZARCH | MASK_HARD_DFP \ + | MASK_OPT_HTM | MASK_OPT_VX) +--- a/src/gcc/config/s390/t-s390 ++++ b/src/gcc/config/s390/t-s390 +@@ -25,3 +25,7 @@ s390-c.o: $(srcdir)/config/s390/s390-c.c + $(TARGET_H) $(TARGET_DEF_H) $(CPPLIB_H) $(C_PRAGMA_H) + $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ + $(srcdir)/config/s390/s390-c.c ++ ++s390-d.o: $(srcdir)/config/s390/s390-d.c ++ $(COMPILE) $< ++ $(POSTCOMPILE) +--- /dev/null ++++ b/src/gcc/config/sparc/sparc-d.c +@@ -0,0 +1,48 @@ ++/* Subroutines for the D front end on the SPARC architecture. ++ Copyright (C) 2017 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 ++. */ ++ ++#include "config.h" ++#include "system.h" ++#include "coretypes.h" ++#include "tm.h" ++#include "d/d-target.h" ++#include "d/d-target-def.h" ++ ++/* Implement TARGET_D_CPU_VERSIONS for SPARC targets. */ ++ ++void ++sparc_d_target_versions (void) ++{ ++ if (TARGET_64BIT) ++ d_add_builtin_version ("SPARC64"); ++ else ++ d_add_builtin_version ("SPARC"); ++ ++ if (TARGET_V8PLUS) ++ d_add_builtin_version ("SPARC_V8Plus"); ++ ++ if (TARGET_FPU) ++ { ++ d_add_builtin_version ("D_HardFloat"); ++ d_add_builtin_version ("SPARC_HardFloat"); ++ } ++ else ++ { ++ d_add_builtin_version ("D_SoftFloat"); ++ d_add_builtin_version ("SPARC_SoftFloat"); ++ } ++} +--- a/src/gcc/config/sparc/sparc-protos.h ++++ b/src/gcc/config/sparc/sparc-protos.h +@@ -111,4 +111,7 @@ unsigned int sparc_regmode_natural_size + + extern rtl_opt_pass *make_pass_work_around_errata (gcc::context *); + ++/* Routines implemented in sparc-d.c */ ++extern void sparc_d_target_versions (void); ++ + #endif /* __SPARC_PROTOS_H__ */ +--- a/src/gcc/config/sparc/sparc.h ++++ b/src/gcc/config/sparc/sparc.h +@@ -27,6 +27,9 @@ along with GCC; see the file COPYING3. + + #define TARGET_CPU_CPP_BUILTINS() sparc_target_macros () + ++/* Target CPU versions for D. */ ++#define TARGET_D_CPU_VERSIONS sparc_d_target_versions ++ + /* Specify this in a cover file to provide bi-architecture (32/64) support. */ + /* #define SPARC_BI_ARCH */ + +--- a/src/gcc/config/sparc/t-sparc ++++ b/src/gcc/config/sparc/t-sparc +@@ -23,3 +23,7 @@ PASSES_EXTRA += $(srcdir)/config/sparc/s + sparc-c.o: $(srcdir)/config/sparc/sparc-c.c + $(COMPILE) $< + $(POSTCOMPILE) ++ ++sparc-d.o: $(srcdir)/config/sparc/sparc-d.c ++ $(COMPILE) $< ++ $(POSTCOMPILE) +--- a/src/gcc/config/t-glibc ++++ b/src/gcc/config/t-glibc +@@ -19,3 +19,7 @@ + glibc-c.o: config/glibc-c.c + $(COMPILE) $< + $(POSTCOMPILE) ++ ++glibc-d.o: config/glibc-d.c ++ $(COMPILE) $< ++ $(POSTCOMPILE) +--- a/src/gcc/configure ++++ b/src/gcc/configure +@@ -612,6 +612,7 @@ ISLLIBS + GMPINC + GMPLIBS + target_cpu_default ++d_target_objs + fortran_target_objs + cxx_target_objs + c_target_objs +@@ -619,6 +620,8 @@ use_gcc_stdint + xm_defines + xm_include_list + xm_file_list ++tm_d_include_list ++tm_d_file_list + tm_p_include_list + tm_p_file_list + tm_defines +@@ -11811,6 +11814,7 @@ fi + + tm_file="${tm_file} defaults.h" + tm_p_file="${tm_p_file} tm-preds.h" ++tm_d_file="${tm_d_file} defaults.h" + host_xm_file="auto-host.h ansidecl.h ${host_xm_file}" + build_xm_file="${build_auto} ansidecl.h ${build_xm_file}" + # We don't want ansidecl.h in target files, write code there in ISO/GNU C. +@@ -12180,6 +12184,21 @@ for f in $tm_p_file; do + esac + done + ++tm_d_file_list= ++tm_d_include_list="options.h insn-constants.h" ++for f in $tm_d_file; do ++ case $f in ++ defaults.h ) ++ tm_d_file_list="${tm_d_file_list} \$(srcdir)/$f" ++ tm_d_include_list="${tm_d_include_list} $f" ++ ;; ++ * ) ++ tm_d_file_list="${tm_d_file_list} \$(srcdir)/config/$f" ++ tm_d_include_list="${tm_d_include_list} config/$f" ++ ;; ++ esac ++done ++ + xm_file_list= + xm_include_list= + for f in $xm_file; do +--- a/src/gcc/configure.ac ++++ b/src/gcc/configure.ac +@@ -1725,6 +1725,7 @@ AC_SUBST(build_subdir) + + tm_file="${tm_file} defaults.h" + tm_p_file="${tm_p_file} tm-preds.h" ++tm_d_file="${tm_d_file} defaults.h" + host_xm_file="auto-host.h ansidecl.h ${host_xm_file}" + build_xm_file="${build_auto} ansidecl.h ${build_xm_file}" + # We don't want ansidecl.h in target files, write code there in ISO/GNU C. +@@ -1947,6 +1948,21 @@ for f in $tm_p_file; do + esac + done + ++tm_d_file_list= ++tm_d_include_list="options.h insn-constants.h" ++for f in $tm_d_file; do ++ case $f in ++ defaults.h ) ++ tm_d_file_list="${tm_d_file_list} \$(srcdir)/$f" ++ tm_d_include_list="${tm_d_include_list} $f" ++ ;; ++ * ) ++ tm_d_file_list="${tm_d_file_list} \$(srcdir)/config/$f" ++ tm_d_include_list="${tm_d_include_list} config/$f" ++ ;; ++ esac ++done ++ + xm_file_list= + xm_include_list= + for f in $xm_file; do +@@ -6390,6 +6406,8 @@ AC_SUBST(tm_include_list) + AC_SUBST(tm_defines) + AC_SUBST(tm_p_file_list) + AC_SUBST(tm_p_include_list) ++AC_SUBST(tm_d_file_list) ++AC_SUBST(tm_d_include_list) + AC_SUBST(xm_file_list) + AC_SUBST(xm_include_list) + AC_SUBST(xm_defines) +@@ -6397,6 +6415,7 @@ AC_SUBST(use_gcc_stdint) + AC_SUBST(c_target_objs) + AC_SUBST(cxx_target_objs) + AC_SUBST(fortran_target_objs) ++AC_SUBST(d_target_objs) + AC_SUBST(target_cpu_default) + + AC_SUBST_FILE(language_hooks) +--- a/src/gcc/genhooks.c ++++ b/src/gcc/genhooks.c +@@ -34,6 +34,7 @@ static struct hook_desc hook_array[] = { + #include "target.def" + #include "c-family/c-target.def" + #include "common/common-target.def" ++#include "d/d-target.def" + #undef DEFHOOK + }; + --- gcc-8-8.2.0.orig/debian/patches/gdc-texinfo.diff +++ gcc-8-8.2.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 +@@ -138,6 +154,25 @@ the options specific to @command{gdc}. + * Developer Options:: Options you won't use + @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-8-8.2.0.orig/debian/patches/gdc-updates.diff +++ gcc-8-8.2.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)) + + # Also filter out warnings for missing format attributes in the D Frontend. + DMD_WARN_CXXFLAGS = $(filter-out -Wmissing-format-attribute, $(WARN_CXXFLAGS)) +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 +@@ -460,7 +460,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-8-8.2.0.orig/debian/patches/go-testsuite.diff +++ gcc-8-8.2.0/debian/patches/go-testsuite.diff @@ -0,0 +1,21 @@ +# DP: Skip Go testcase on AArch64 which hangs on the buildds. + +Index: b/src/gcc/testsuite/go.test/go-test.exp +=================================================================== +--- a/src/gcc/testsuite/go.test/go-test.exp ++++ b/src/gcc/testsuite/go.test/go-test.exp +@@ -405,6 +405,14 @@ proc go-gc-tests { } { + continue + } + ++ # Hangs on the buildds ++ if { [istarget "aarch64*-*-*"] } { ++ if { [string match "*go.test/test/chan/select5.go" $test] } { ++ untested $test ++ continue ++ } ++ } ++ + if { [file tail $test] == "init1.go" } { + # This tests whether GC runs during init, which for gccgo + # it currently does not. --- gcc-8-8.2.0.orig/debian/patches/hurd-changes.diff +++ gcc-8-8.2.0/debian/patches/hurd-changes.diff @@ -0,0 +1,20 @@ +# DP: Traditional GNU systems don't have a /usr directory. However, Debian +# DP: systems do, and we support both having a /usr -> . 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-8-8.2.0.orig/debian/patches/ia64-disable-selective-scheduling.diff +++ gcc-8-8.2.0/debian/patches/ia64-disable-selective-scheduling.diff @@ -0,0 +1,16 @@ +--- a/src/gcc/config/ia64/ia64.c 2018-01-03 11:03:58.000000000 +0100 ++++ b/src/gcc/config/ia64/ia64.c 2018-12-16 12:19:05.420184086 +0100 +@@ -6122,13 +6122,6 @@ + static void + ia64_override_options_after_change (void) + { +- if (optimize >= 3 +- && !global_options_set.x_flag_selective_scheduling +- && !global_options_set.x_flag_selective_scheduling2) +- { +- flag_selective_scheduling2 = 1; +- flag_sel_sched_pipelining = 1; +- } + if (mflag_sched_control_spec == 2) + { + /* Control speculation is on by default for the selective scheduler, --- gcc-8-8.2.0.orig/debian/patches/ignore-pie-specs-when-not-enabled.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/kfreebsd-decimal-float.diff +++ gcc-8-8.2.0/debian/patches/kfreebsd-decimal-float.diff @@ -0,0 +1,51 @@ +# DP: Enable decimal float support on kfreebsd-amd64 + +Index: b/src/gcc/configure.ac +=================================================================== +--- a/src/gcc/configure.ac ++++ b/src/gcc/configure.ac +@@ -817,6 +817,7 @@ AC_ARG_ENABLE(__cxa_atexit, + [], []) + + # Enable C extension for decimal float if target supports it. ++# touch the file, adding decimal support for kfreebsd-amd64 in config/dfp.m4 + GCC_AC_ENABLE_DECIMAL_FLOAT([$target]) + + dfp=`if test $enable_decimal_float != no; then echo 1; else echo 0; fi` +Index: b/src/config/dfp.m4 +=================================================================== +--- a/src/config/dfp.m4 ++++ b/src/config/dfp.m4 +@@ -21,7 +21,7 @@ Valid choices are 'yes', 'bid', 'dpd', a + [ + case $1 in + powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux* | s390*-*-linux* | \ +- i?86*-*-elfiamcu | i?86*-*-gnu* | \ ++ i?86*-*-elfiamcu | i?86*-*-gnu* | x86_64*-*-gnu* | \ + i?86*-*-mingw* | x86_64*-*-mingw* | \ + i?86*-*-cygwin* | x86_64*-*-cygwin*) + enable_decimal_float=yes +Index: b/src/libdecnumber/configure.ac +=================================================================== +--- a/src/libdecnumber/configure.ac ++++ b/src/libdecnumber/configure.ac +@@ -77,6 +77,7 @@ AC_CANONICAL_TARGET + + # Default decimal format + # If you change the defaults here, be sure to change them in the GCC directory also ++# touch the file, adding decimal support for kfreebsd-amd64 in config/dfp.m4 + AC_MSG_CHECKING([for decimal floating point]) + + GCC_AC_ENABLE_DECIMAL_FLOAT([$target]) +Index: b/src/libgcc/configure.ac +=================================================================== +--- a/src/libgcc/configure.ac ++++ b/src/libgcc/configure.ac +@@ -207,6 +207,7 @@ AC_CHECK_HEADERS(inttypes.h stdint.h std + AC_HEADER_STDC + + # Check for decimal float support. ++# touch the file, adding decimal support for kfreebsd-amd64 in config/dfp.m4 + AC_CACHE_CHECK([whether decimal floating point is supported], [libgcc_cv_dfp], + [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include --- gcc-8-8.2.0.orig/debian/patches/kfreebsd-unwind.diff +++ gcc-8-8.2.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 +@@ -647,7 +647,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" +@@ -662,6 +668,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 +@@ -210,3 +212,5 @@ x86_freebsd_fallback_frame_state + return _URC_NO_REASON; + } + #endif /* ifdef __x86_64__ */ ++ ++#endif /* ifndef inhibit_libc */ --- gcc-8-8.2.0.orig/debian/patches/libasan-sparc.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/libffi-mips.diff +++ gcc-8-8.2.0/debian/patches/libffi-mips.diff @@ -0,0 +1,711 @@ +# DP: Backport Mips go closure support, taken from libffi issue #197. + +Index: b/src/libffi/src/mips/ffi.c +=================================================================== +--- 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 + /* 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)(v + 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)(v + #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)(v + } + } + ++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 +@@ -770,17 +787,17 @@ ffi_prep_closure_loc (ffi_closure *closu + * 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)); + +@@ -848,7 +865,7 @@ ffi_closure_mips_inner_O32 (ffi_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) + { +@@ -924,11 +941,12 @@ copy_struct_N32(char *target, unsigned o + * + */ + 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; +@@ -936,7 +954,6 @@ ffi_closure_mips_inner_N32 (ffi_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)); +@@ -1048,11 +1065,49 @@ ffi_closure_mips_inner_N32 (ffi_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 */ +Index: b/src/libffi/src/mips/ffitarget.h +=================================================================== +--- 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 +Index: b/src/libffi/src/mips/n32.S +=================================================================== +--- 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 +@@ -51,24 +55,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 +@@ -200,6 +205,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 +@@ -348,7 +356,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 +@@ -408,6 +416,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: +@@ -416,18 +459,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) + +@@ -441,12 +495,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 +@@ -533,46 +581,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 +Index: b/src/libffi/src/mips/o32.S +=================================================================== +--- 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-8-8.2.0.orig/debian/patches/libffi-mipsen-r6.diff +++ gcc-8-8.2.0/debian/patches/libffi-mipsen-r6.diff @@ -0,0 +1,44 @@ +# DP: libffi: mips/n32.S: disable .set mips4 on mips r6 + +Index: b/src/libffi/src/mips/n32.S +=================================================================== +--- a/src/libffi/src/mips/n32.S ++++ b/src/libffi/src/mips/n32.S +@@ -43,7 +43,9 @@ + #ifdef __GNUC__ + .abicalls + #endif ++#if !defined(__mips_isa_rev) || (__mips_isa_rev<6) + .set mips4 ++#endif + .text + .align 2 + .globl ffi_call_N32 +Index: b/src/libffi/src/mips/ffi.c +=================================================================== +--- a/src/libffi/src/mips/ffi.c ++++ b/src/libffi/src/mips/ffi.c +@@ -698,7 +698,11 @@ ffi_prep_closure_loc (ffi_closure *closu + /* lui $12,high(codeloc) */ + tramp[2] = 0x3c0c0000 | ((unsigned)codeloc >> 16); + /* jr $25 */ ++#if !defined(__mips_isa_rev) || (__mips_isa_rev<6) + tramp[3] = 0x03200008; ++#else ++ tramp[3] = 0x03200009; ++#endif + /* ori $12,low(codeloc) */ + tramp[4] = 0x358c0000 | ((unsigned)codeloc & 0xffff); + #else +@@ -726,7 +730,11 @@ ffi_prep_closure_loc (ffi_closure *closu + /* ori $25,low(fn) */ + tramp[10] = 0x37390000 | ((unsigned long)fn & 0xffff); + /* jr $25 */ ++#if !defined(__mips_isa_rev) || (__mips_isa_rev<6) + tramp[11] = 0x03200008; ++#else ++ tramp[11] = 0x03200009; ++#endif + /* ori $12,low(codeloc) */ + tramp[12] = 0x358c0000 | ((unsigned long)codeloc & 0xffff); + --- gcc-8-8.2.0.orig/debian/patches/libffi-pax.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/libffi-race-condition.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/libffi-riscv.diff +++ gcc-8-8.2.0/debian/patches/libffi-riscv.diff @@ -0,0 +1,872 @@ +# DP: Backport RISC-V support, taken from libffi commit 3840d49aaa + +Index: b/src/libffi/Makefile.am +=================================================================== +--- a/src/libffi/Makefile.am ++++ b/src/libffi/Makefile.am +@@ -138,6 +138,7 @@ noinst_HEADERS = \ + src/or1k/ffitarget.h \ + src/pa/ffitarget.h \ + src/powerpc/ffitarget.h src/powerpc/asm.h src/powerpc/ffi_powerpc.h \ ++ src/riscv/ffitarget.h \ + src/s390/ffitarget.h \ + src/sh/ffitarget.h \ + src/sh64/ffitarget.h \ +@@ -173,6 +174,7 @@ EXTRA_libffi_la_SOURCES = \ + src/powerpc/linux64_closure.S src/powerpc/ppc_closure.S \ + src/powerpc/aix.S src/powerpc/darwin.S src/powerpc/aix_closure.S \ + src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c \ ++ src/riscv/ffi.c src/riscv/sysv.S \ + src/s390/ffi.c src/s390/sysv.S \ + src/sh/ffi.c src/sh/sysv.S \ + src/sh64/ffi.c src/sh64/sysv.S \ +Index: b/src/libffi/Makefile.in +=================================================================== +--- a/src/libffi/Makefile.in ++++ b/src/libffi/Makefile.in +@@ -432,6 +432,7 @@ noinst_HEADERS = \ + src/or1k/ffitarget.h \ + src/pa/ffitarget.h \ + src/powerpc/ffitarget.h src/powerpc/asm.h src/powerpc/ffi_powerpc.h \ ++ src/riscv/ffitarget.h \ + src/s390/ffitarget.h \ + src/sh/ffitarget.h \ + src/sh64/ffitarget.h \ +@@ -467,6 +468,7 @@ EXTRA_libffi_la_SOURCES = \ + src/powerpc/linux64_closure.S src/powerpc/ppc_closure.S \ + src/powerpc/aix.S src/powerpc/darwin.S src/powerpc/aix_closure.S \ + src/powerpc/darwin_closure.S src/powerpc/ffi_darwin.c \ ++ src/riscv/ffi.c src/riscv/sysv.S \ + src/s390/ffi.c src/s390/sysv.S \ + src/sh/ffi.c src/sh/sysv.S \ + src/sh64/ffi.c src/sh64/sysv.S \ +@@ -831,6 +833,16 @@ src/powerpc/darwin_closure.lo: src/power + src/powerpc/$(DEPDIR)/$(am__dirstamp) + src/powerpc/ffi_darwin.lo: src/powerpc/$(am__dirstamp) \ + src/powerpc/$(DEPDIR)/$(am__dirstamp) ++src/riscv/$(am__dirstamp): ++ @$(MKDIR_P) src/riscv ++ @: > src/riscv/$(am__dirstamp) ++src/riscv/$(DEPDIR)/$(am__dirstamp): ++ @$(MKDIR_P) src/riscv/$(DEPDIR) ++ @: > src/riscv/$(DEPDIR)/$(am__dirstamp) ++src/riscv/ffi.lo: src/riscv/$(am__dirstamp) \ ++ src/riscv/$(DEPDIR)/$(am__dirstamp) ++src/riscv/sysv.lo: src/riscv/$(am__dirstamp) \ ++ src/riscv/$(DEPDIR)/$(am__dirstamp) + src/s390/$(am__dirstamp): + @$(MKDIR_P) src/s390 + @: > src/s390/$(am__dirstamp) +@@ -1051,6 +1063,10 @@ mostlyclean-compile: + -rm -f src/prep_cif.lo + -rm -f src/raw_api.$(OBJEXT) + -rm -f src/raw_api.lo ++ -rm -f src/riscv/ffi.$(OBJEXT) ++ -rm -f src/riscv/ffi.lo ++ -rm -f src/riscv/sysv.$(OBJEXT) ++ -rm -f src/riscv/sysv.lo + -rm -f src/s390/ffi.$(OBJEXT) + -rm -f src/s390/ffi.lo + -rm -f src/s390/sysv.$(OBJEXT) +@@ -1167,6 +1183,8 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/linux64_closure.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/ppc_closure.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/sysv.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@src/riscv/$(DEPDIR)/ffi.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@src/riscv/$(DEPDIR)/sysv.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@src/s390/$(DEPDIR)/ffi.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@src/s390/$(DEPDIR)/sysv.Plo@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@src/sh/$(DEPDIR)/ffi.Plo@am__quote@ +@@ -1268,6 +1286,7 @@ clean-libtool: + -rm -rf src/or1k/.libs src/or1k/_libs + -rm -rf src/pa/.libs src/pa/_libs + -rm -rf src/powerpc/.libs src/powerpc/_libs ++ -rm -rf src/riscv/.libs src/riscv/_libs + -rm -rf src/s390/.libs src/s390/_libs + -rm -rf src/sh/.libs src/sh/_libs + -rm -rf src/sh64/.libs src/sh64/_libs +@@ -1672,6 +1691,8 @@ distclean-generic: + -rm -f src/pa/$(am__dirstamp) + -rm -f src/powerpc/$(DEPDIR)/$(am__dirstamp) + -rm -f src/powerpc/$(am__dirstamp) ++ -rm -f src/riscv/$(DEPDIR)/$(am__dirstamp) ++ -rm -f src/riscv/$(am__dirstamp) + -rm -f src/s390/$(DEPDIR)/$(am__dirstamp) + -rm -f src/s390/$(am__dirstamp) + -rm -f src/sh/$(DEPDIR)/$(am__dirstamp) +@@ -1701,7 +1722,7 @@ clean-am: clean-aminfo clean-generic cle + + distclean: distclean-multi distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) +- -rm -rf src/$(DEPDIR) src/aarch64/$(DEPDIR) src/alpha/$(DEPDIR) src/arc/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/bfin/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/m88k/$(DEPDIR) src/metag/$(DEPDIR) src/microblaze/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/nios2/$(DEPDIR) src/or1k/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/tile/$(DEPDIR) src/vax/$(DEPDIR) src/x86/$(DEPDIR) src/xtensa/$(DEPDIR) ++ -rm -rf src/$(DEPDIR) src/aarch64/$(DEPDIR) src/alpha/$(DEPDIR) src/arc/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/bfin/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/m88k/$(DEPDIR) src/metag/$(DEPDIR) src/microblaze/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/nios2/$(DEPDIR) src/or1k/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/riscv/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/tile/$(DEPDIR) src/vax/$(DEPDIR) src/x86/$(DEPDIR) src/xtensa/$(DEPDIR) + -rm -f Makefile + distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-libtool distclean-tags +@@ -1840,7 +1861,7 @@ installcheck-am: + maintainer-clean: maintainer-clean-multi maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache +- -rm -rf src/$(DEPDIR) src/aarch64/$(DEPDIR) src/alpha/$(DEPDIR) src/arc/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/bfin/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/m88k/$(DEPDIR) src/metag/$(DEPDIR) src/microblaze/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/nios2/$(DEPDIR) src/or1k/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/tile/$(DEPDIR) src/vax/$(DEPDIR) src/x86/$(DEPDIR) src/xtensa/$(DEPDIR) ++ -rm -rf src/$(DEPDIR) src/aarch64/$(DEPDIR) src/alpha/$(DEPDIR) src/arc/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/bfin/$(DEPDIR) src/cris/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR) src/m32r/$(DEPDIR) src/m68k/$(DEPDIR) src/m88k/$(DEPDIR) src/metag/$(DEPDIR) src/microblaze/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR) src/nios2/$(DEPDIR) src/or1k/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/riscv/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR) src/tile/$(DEPDIR) src/vax/$(DEPDIR) src/x86/$(DEPDIR) src/xtensa/$(DEPDIR) + -rm -f Makefile + maintainer-clean-am: distclean-am maintainer-clean-aminfo \ + maintainer-clean-generic maintainer-clean-vti +Index: b/src/libffi/configure.host +=================================================================== +--- a/src/libffi/configure.host ++++ b/src/libffi/configure.host +@@ -195,6 +195,11 @@ case "${host}" in + TARGET=POWERPC; TARGETDIR=powerpc + ;; + ++ riscv*-*) ++ TARGET=RISCV; TARGETDIR=riscv ++ SOURCES="ffi.c sysv.S" ++ ;; ++ + s390-*-* | s390x-*-*) + TARGET=S390; TARGETDIR=s390 + SOURCES="ffi.c sysv.S" +Index: b/src/libffi/src/riscv/ffi.c +=================================================================== +--- /dev/null ++++ b/src/libffi/src/riscv/ffi.c +@@ -0,0 +1,445 @@ ++/* ----------------------------------------------------------------------- ++ ffi.c - Copyright (c) 2015 Michael Knyszek ++ 2015 Andrew Waterman ++ 2018 Stef O'Rear ++ Based on MIPS N32/64 port ++ ++ RISC-V Foreign Function Interface ++ ++ 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. ++ ----------------------------------------------------------------------- */ ++ ++#include ++#include ++ ++#include ++#include ++ ++#if __riscv_float_abi_double ++#define ABI_FLEN 64 ++#define ABI_FLOAT double ++#elif __riscv_float_abi_single ++#define ABI_FLEN 32 ++#define ABI_FLOAT float ++#endif ++ ++#define NARGREG 8 ++#define STKALIGN 16 ++#define MAXCOPYARG (2 * sizeof(double)) ++ ++typedef struct call_context ++{ ++#if ABI_FLEN ++ ABI_FLOAT fa[8]; ++#endif ++ size_t a[8]; ++ /* used by the assembly code to in-place construct its own stack frame */ ++ char frame[16]; ++} call_context; ++ ++typedef struct call_builder ++{ ++ call_context *aregs; ++ int used_integer; ++ int used_float; ++ size_t *used_stack; ++} call_builder; ++ ++/* integer (not pointer) less than ABI XLEN */ ++/* FFI_TYPE_INT does not appear to be used */ ++#if __SIZEOF_POINTER__ == 8 ++#define IS_INT(type) ((type) >= FFI_TYPE_UINT8 && (type) <= FFI_TYPE_SINT64) ++#else ++#define IS_INT(type) ((type) >= FFI_TYPE_UINT8 && (type) <= FFI_TYPE_SINT32) ++#endif ++ ++#if ABI_FLEN ++typedef struct { ++ char as_elements, type1, offset2, type2; ++} float_struct_info; ++ ++#if ABI_FLEN >= 64 ++#define IS_FLOAT(type) ((type) >= FFI_TYPE_FLOAT && (type) <= FFI_TYPE_DOUBLE) ++#else ++#define IS_FLOAT(type) ((type) == FFI_TYPE_FLOAT) ++#endif ++ ++static ffi_type **flatten_struct(ffi_type *in, ffi_type **out, ffi_type **out_end) { ++ int i; ++ if (out == out_end) return out; ++ if (in->type != FFI_TYPE_STRUCT) { ++ *(out++) = in; ++ } else { ++ for (i = 0; in->elements[i]; i++) ++ out = flatten_struct(in->elements[i], out, out_end); ++ } ++ return out; ++} ++ ++/* Structs with at most two fields after flattening, one of which is of ++ floating point type, are passed in multiple registers if sufficient ++ registers are available. */ ++static float_struct_info struct_passed_as_elements(call_builder *cb, ffi_type *top) { ++ float_struct_info ret = {0, 0, 0, 0}; ++ ffi_type *fields[3]; ++ int num_floats, num_ints; ++ int num_fields = flatten_struct(top, fields, fields + 3) - fields; ++ ++ if (num_fields == 1) { ++ if (IS_FLOAT(fields[0]->type)) { ++ ret.as_elements = 1; ++ ret.type1 = fields[0]->type; ++ } ++ } else if (num_fields == 2) { ++ num_floats = IS_FLOAT(fields[0]->type) + IS_FLOAT(fields[1]->type); ++ num_ints = IS_INT(fields[0]->type) + IS_INT(fields[1]->type); ++ if (num_floats == 0 || num_floats + num_ints != 2) ++ return ret; ++ if (cb->used_float + num_floats > NARGREG || cb->used_integer + (2 - num_floats) > NARGREG) ++ return ret; ++ if (!IS_FLOAT(fields[0]->type) && !IS_FLOAT(fields[1]->type)) ++ return ret; ++ ++ ret.type1 = fields[0]->type; ++ ret.type2 = fields[1]->type; ++ ret.offset2 = ALIGN(fields[0]->size, fields[1]->alignment); ++ ret.as_elements = 1; ++ } ++ ++ return ret; ++} ++#endif ++ ++/* allocates a single register, float register, or XLEN-sized stack slot to a datum */ ++static void marshal_atom(call_builder *cb, int type, void *data) { ++ size_t value = 0; ++ switch (type) { ++ case FFI_TYPE_UINT8: value = *(uint8_t *)data; break; ++ case FFI_TYPE_SINT8: value = *(int8_t *)data; break; ++ case FFI_TYPE_UINT16: value = *(uint16_t *)data; break; ++ case FFI_TYPE_SINT16: value = *(int16_t *)data; break; ++ /* 32-bit quantities are always sign-extended in the ABI */ ++ case FFI_TYPE_UINT32: value = *(int32_t *)data; break; ++ case FFI_TYPE_SINT32: value = *(int32_t *)data; break; ++#if __SIZEOF_POINTER__ == 8 ++ case FFI_TYPE_UINT64: value = *(uint64_t *)data; break; ++ case FFI_TYPE_SINT64: value = *(int64_t *)data; break; ++#endif ++ case FFI_TYPE_POINTER: value = *(size_t *)data; break; ++ ++ /* float values may be recoded in an implementation-defined way ++ by hardware conforming to 2.1 or earlier, so use asm to ++ reinterpret floats as doubles */ ++#if ABI_FLEN >= 32 ++ case FFI_TYPE_FLOAT: ++ asm("" : "=f"(cb->aregs->fa[cb->used_float++]) : "0"(*(float *)data)); ++ return; ++#endif ++#if ABI_FLEN >= 64 ++ case FFI_TYPE_DOUBLE: ++ asm("" : "=f"(cb->aregs->fa[cb->used_float++]) : "0"(*(double *)data)); ++ return; ++#endif ++ default: FFI_ASSERT(0); break; ++ } ++ ++ if (cb->used_integer == NARGREG) { ++ *cb->used_stack++ = value; ++ } else { ++ cb->aregs->a[cb->used_integer++] = value; ++ } ++} ++ ++static void unmarshal_atom(call_builder *cb, int type, void *data) { ++ size_t value; ++ switch (type) { ++#if ABI_FLEN >= 32 ++ case FFI_TYPE_FLOAT: ++ asm("" : "=f"(*(float *)data) : "0"(cb->aregs->fa[cb->used_float++])); ++ return; ++#endif ++#if ABI_FLEN >= 64 ++ case FFI_TYPE_DOUBLE: ++ asm("" : "=f"(*(double *)data) : "0"(cb->aregs->fa[cb->used_float++])); ++ return; ++#endif ++ } ++ ++ if (cb->used_integer == NARGREG) { ++ value = *cb->used_stack++; ++ } else { ++ value = cb->aregs->a[cb->used_integer++]; ++ } ++ ++ switch (type) { ++ case FFI_TYPE_UINT8: *(uint8_t *)data = value; break; ++ case FFI_TYPE_SINT8: *(uint8_t *)data = value; break; ++ case FFI_TYPE_UINT16: *(uint16_t *)data = value; break; ++ case FFI_TYPE_SINT16: *(uint16_t *)data = value; break; ++ case FFI_TYPE_UINT32: *(uint32_t *)data = value; break; ++ case FFI_TYPE_SINT32: *(uint32_t *)data = value; break; ++#if __SIZEOF_POINTER__ == 8 ++ case FFI_TYPE_UINT64: *(uint64_t *)data = value; break; ++ case FFI_TYPE_SINT64: *(uint64_t *)data = value; break; ++#endif ++ case FFI_TYPE_POINTER: *(size_t *)data = value; break; ++ default: FFI_ASSERT(0); break; ++ } ++} ++ ++/* adds an argument to a call, or a not by reference return value */ ++static void marshal(call_builder *cb, ffi_type *type, int var, void *data) { ++ size_t realign[2]; ++ ++#if ABI_FLEN ++ if (!var && type->type == FFI_TYPE_STRUCT) { ++ float_struct_info fsi = struct_passed_as_elements(cb, type); ++ if (fsi.as_elements) { ++ marshal_atom(cb, fsi.type1, data); ++ if (fsi.offset2) ++ marshal_atom(cb, fsi.type2, ((char*)data) + fsi.offset2); ++ return; ++ } ++ } ++ ++ if (!var && cb->used_float < NARGREG && IS_FLOAT(type->type)) { ++ marshal_atom(cb, type->type, data); ++ return; ++ } ++#endif ++ ++ if (type->size > 2 * __SIZEOF_POINTER__) { ++ /* pass by reference */ ++ marshal_atom(cb, FFI_TYPE_POINTER, &data); ++ } else if (IS_INT(type->type) || type->type == FFI_TYPE_POINTER) { ++ marshal_atom(cb, type->type, data); ++ } else { ++ /* overlong integers, soft-float floats, and structs without special ++ float handling are treated identically from this point on */ ++ ++ /* variadics are aligned even in registers */ ++ if (type->alignment > __SIZEOF_POINTER__) { ++ if (var) ++ cb->used_integer = ALIGN(cb->used_integer, 2); ++ cb->used_stack = (size_t *)ALIGN(cb->used_stack, 2*__SIZEOF_POINTER__); ++ } ++ ++ memcpy(realign, data, type->size); ++ if (type->size > 0) ++ marshal_atom(cb, FFI_TYPE_POINTER, realign); ++ if (type->size > __SIZEOF_POINTER__) ++ marshal_atom(cb, FFI_TYPE_POINTER, realign + 1); ++ } ++} ++ ++/* for arguments passed by reference returns the pointer, otherwise the arg is copied (up to MAXCOPYARG bytes) */ ++static void *unmarshal(call_builder *cb, ffi_type *type, int var, void *data) { ++ size_t realign[2]; ++ void *pointer; ++ ++#if ABI_FLEN ++ if (!var && type->type == FFI_TYPE_STRUCT) { ++ float_struct_info fsi = struct_passed_as_elements(cb, type); ++ if (fsi.as_elements) { ++ unmarshal_atom(cb, fsi.type1, data); ++ if (fsi.offset2) ++ unmarshal_atom(cb, fsi.type2, ((char*)data) + fsi.offset2); ++ return data; ++ } ++ } ++ ++ if (!var && cb->used_float < NARGREG && IS_FLOAT(type->type)) { ++ unmarshal_atom(cb, type->type, data); ++ return data; ++ } ++#endif ++ ++ if (type->size > 2 * __SIZEOF_POINTER__) { ++ /* pass by reference */ ++ unmarshal_atom(cb, FFI_TYPE_POINTER, (char*)&pointer); ++ return pointer; ++ } else if (IS_INT(type->type) || type->type == FFI_TYPE_POINTER) { ++ unmarshal_atom(cb, type->type, data); ++ return data; ++ } else { ++ /* overlong integers, soft-float floats, and structs without special ++ float handling are treated identically from this point on */ ++ ++ /* variadics are aligned even in registers */ ++ if (type->alignment > __SIZEOF_POINTER__) { ++ if (var) ++ cb->used_integer = ALIGN(cb->used_integer, 2); ++ cb->used_stack = (size_t *)ALIGN(cb->used_stack, 2*__SIZEOF_POINTER__); ++ } ++ ++ if (type->size > 0) ++ unmarshal_atom(cb, FFI_TYPE_POINTER, realign); ++ if (type->size > __SIZEOF_POINTER__) ++ unmarshal_atom(cb, FFI_TYPE_POINTER, realign + 1); ++ memcpy(data, realign, type->size); ++ return data; ++ } ++} ++ ++static int passed_by_ref(call_builder *cb, ffi_type *type, int var) { ++#if ABI_FLEN ++ if (!var && type->type == FFI_TYPE_STRUCT) { ++ float_struct_info fsi = struct_passed_as_elements(cb, type); ++ if (fsi.as_elements) return 0; ++ } ++#endif ++ ++ return type->size > 2 * __SIZEOF_POINTER__; ++} ++ ++/* Perform machine dependent cif processing */ ++ffi_status ffi_prep_cif_machdep(ffi_cif *cif) { ++ cif->riscv_nfixedargs = cif->nargs; ++ return FFI_OK; ++} ++ ++/* Perform machine dependent cif processing when we have a variadic function */ ++ ++ffi_status ffi_prep_cif_machdep_var(ffi_cif *cif, unsigned int nfixedargs, unsigned int ntotalargs) { ++ cif->riscv_nfixedargs = nfixedargs; ++ return FFI_OK; ++} ++ ++/* Low level routine for calling functions */ ++extern void ffi_call_asm(void *stack, struct call_context *regs, void (*fn)(void)) FFI_HIDDEN; ++ ++void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) ++{ ++ /* this is a conservative estimate, assuming a complex return value and ++ that all remaining arguments are long long / __int128 */ ++ size_t arg_bytes = cif->nargs <= 3 ? 0 : ++ ALIGN(2 * sizeof(size_t) * (cif->nargs - 3), STKALIGN); ++ size_t rval_bytes = 0; ++ if (rvalue == NULL && cif->rtype->size > 2*__SIZEOF_POINTER__) ++ rval_bytes = ALIGN(cif->rtype->size, STKALIGN); ++ size_t alloc_size = arg_bytes + rval_bytes + sizeof(call_context); ++ ++ /* the assembly code will deallocate all stack data at lower addresses ++ than the argument region, so we need to allocate the frame and the ++ return value after the arguments in a single allocation */ ++ size_t alloc_base; ++ /* Argument region must be 16-byte aligned */ ++ if (_Alignof(max_align_t) >= STKALIGN) { ++ /* since sizeof long double is normally 16, the compiler will ++ guarantee alloca alignment to at least that much */ ++ alloc_base = (size_t)alloca(alloc_size); ++ } else { ++ alloc_base = ALIGN(alloca(alloc_size + STKALIGN - 1), STKALIGN); ++ } ++ ++ if (rval_bytes) ++ rvalue = (void*)(alloc_base + arg_bytes); ++ ++ call_builder cb; ++ cb.used_float = cb.used_integer = 0; ++ cb.aregs = (call_context*)(alloc_base + arg_bytes + rval_bytes); ++ cb.used_stack = (void*)alloc_base; ++ ++ int return_by_ref = passed_by_ref(&cb, cif->rtype, 0); ++ if (return_by_ref) ++ marshal(&cb, &ffi_type_pointer, 0, &rvalue); ++ ++ int i; ++ for (i = 0; i < cif->nargs; i++) ++ marshal(&cb, cif->arg_types[i], i >= cif->riscv_nfixedargs, avalue[i]); ++ ++ ffi_call_asm((void*)alloc_base, cb.aregs, fn); ++ ++ cb.used_float = cb.used_integer = 0; ++ if (!return_by_ref && rvalue) ++ unmarshal(&cb, cif->rtype, 0, rvalue); ++} ++ ++extern void ffi_closure_asm(void) FFI_HIDDEN; ++ ++ffi_status ffi_prep_closure_loc(ffi_closure *closure, ffi_cif *cif, void (*fun)(ffi_cif*,void*,void**,void*), void *user_data, void *codeloc) ++{ ++ uint32_t *tramp = (uint32_t *) &closure->tramp[0]; ++ uint64_t fn = (uint64_t) (uintptr_t) ffi_closure_asm; ++ ++ if (cif->abi <= FFI_FIRST_ABI || cif->abi >= FFI_LAST_ABI) ++ return FFI_BAD_ABI; ++ ++ /* we will call ffi_closure_inner with codeloc, not closure, but as long ++ as the memory is readable it should work */ ++ ++ tramp[0] = 0x00000317; /* auipc t1, 0 (i.e. t0 <- codeloc) */ ++#if __SIZEOF_POINTER__ == 8 ++ tramp[1] = 0x01033383; /* ld t2, 16(t1) */ ++#else ++ tramp[1] = 0x01032383; /* lw t2, 16(t1) */ ++#endif ++ tramp[2] = 0x00038067; /* jr t2 */ ++ tramp[3] = 0x00000013; /* nop */ ++ tramp[4] = fn; ++ tramp[5] = fn >> 32; ++ ++ closure->cif = cif; ++ closure->fun = fun; ++ closure->user_data = user_data; ++ ++ __builtin___clear_cache(codeloc, codeloc + FFI_TRAMPOLINE_SIZE); ++ ++ return FFI_OK; ++} ++ ++/* Called by the assembly code with aregs pointing to saved argument registers ++ and stack pointing to the stacked arguments. Return values passed in ++ registers will be reloaded from aregs. */ ++void FFI_HIDDEN ffi_closure_inner(size_t *stack, call_context *aregs, ffi_closure *closure) { ++ ffi_cif *cif = closure->cif; ++ void **avalue = alloca(cif->nargs * sizeof(void*)); ++ /* storage for arguments which will be copied by unmarshal(). We could ++ theoretically avoid the copies in many cases and use at most 128 bytes ++ of memory, but allocating disjoint storage for each argument is ++ simpler. */ ++ char *astorage = alloca(cif->nargs * MAXCOPYARG); ++ void *rvalue; ++ call_builder cb; ++ int return_by_ref; ++ int i; ++ ++ cb.aregs = aregs; ++ cb.used_integer = cb.used_float = 0; ++ cb.used_stack = stack; ++ ++ return_by_ref = passed_by_ref(&cb, cif->rtype, 0); ++ if (return_by_ref) ++ unmarshal(&cb, &ffi_type_pointer, 0, &rvalue); ++ else ++ rvalue = alloca(cif->rtype->size); ++ ++ for (i = 0; i < cif->nargs; i++) ++ avalue[i] = unmarshal(&cb, cif->arg_types[i], ++ i >= cif->riscv_nfixedargs, astorage + i*MAXCOPYARG); ++ ++ (closure->fun)(cif, rvalue, avalue, closure->user_data); ++ ++ if (!return_by_ref && cif->rtype->type != FFI_TYPE_VOID) { ++ cb.used_integer = cb.used_float = 0; ++ marshal(&cb, cif->rtype, 0, rvalue); ++ } ++} +Index: b/src/libffi/src/riscv/ffitarget.h +=================================================================== +--- /dev/null ++++ b/src/libffi/src/riscv/ffitarget.h +@@ -0,0 +1,68 @@ ++/* -----------------------------------------------------------------*-C-*- ++ ffitarget.h - 2014 Michael Knyszek ++ ++ Target configuration macros for RISC-V. ++ ++ 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. ++ ++ ----------------------------------------------------------------------- */ ++ ++#ifndef LIBFFI_TARGET_H ++#define LIBFFI_TARGET_H ++ ++#ifndef LIBFFI_H ++#error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." ++#endif ++ ++#ifndef __riscv ++#error "libffi was configured for a RISC-V target but this does not appear to be a RISC-V compiler." ++#endif ++ ++#ifndef LIBFFI_ASM ++ ++typedef unsigned long ffi_arg; ++typedef signed long ffi_sarg; ++ ++/* FFI_UNUSED_NN and riscv_unused are to maintain ABI compatibility with a ++ distributed Berkeley patch from 2014, and can be removed at SONAME bump */ ++typedef enum ffi_abi { ++ FFI_FIRST_ABI = 0, ++ FFI_SYSV, ++ FFI_UNUSED_1, ++ FFI_UNUSED_2, ++ FFI_UNUSED_3, ++ FFI_LAST_ABI, ++ ++ FFI_DEFAULT_ABI = FFI_SYSV ++} ffi_abi; ++ ++#endif /* LIBFFI_ASM */ ++ ++/* ---- Definitions for closures ----------------------------------------- */ ++ ++#define FFI_CLOSURES 1 ++#define FFI_TRAMPOLINE_SIZE 24 ++#define FFI_NATIVE_RAW_API 0 ++#define FFI_EXTRA_CIF_FIELDS unsigned riscv_nfixedargs; unsigned riscv_unused; ++#define FFI_TARGET_SPECIFIC_VARIADIC ++ ++#endif ++ +Index: b/src/libffi/src/riscv/sysv.S +=================================================================== +--- /dev/null ++++ b/src/libffi/src/riscv/sysv.S +@@ -0,0 +1,214 @@ ++/* ----------------------------------------------------------------------- ++ ffi.c - Copyright (c) 2015 Michael Knyszek ++ 2015 Andrew Waterman ++ 2018 Stef O'Rear ++ ++ RISC-V Foreign Function Interface ++ ++ 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. ++ ----------------------------------------------------------------------- */ ++ ++#define LIBFFI_ASM ++#include ++#include ++ ++/* Define aliases so that we can handle all ABIs uniformly */ ++ ++#if __SIZEOF_POINTER__ == 8 ++#define PTRS 8 ++#define LARG ld ++#define SARG sd ++#else ++#define PTRS 4 ++#define LARG lw ++#define SARG sw ++#endif ++ ++#if __riscv_float_abi_double ++#define FLTS 8 ++#define FLARG fld ++#define FSARG fsd ++#elif __riscv_float_abi_single ++#define FLTS 4 ++#define FLARG flw ++#define FSARG fsw ++#else ++#define FLTS 0 ++#endif ++ ++#define fp s0 ++ ++ .text ++ .globl ffi_call_asm ++ .type ffi_call_asm, @function ++ .hidden ffi_call_asm ++/* ++ struct call_context { ++ floatreg fa[8]; ++ intreg a[8]; ++ intreg pad[rv32 ? 2 : 0]; ++ intreg save_fp, save_ra; ++ } ++ void ffi_call_asm(size_t *stackargs, struct call_context *regargs, ++ void (*fn)(void)); ++*/ ++ ++#define FRAME_LEN (8 * FLTS + 8 * PTRS + 16) ++ ++ffi_call_asm: ++ .cfi_startproc ++ ++ /* ++ We are NOT going to set up an ordinary stack frame. In order to pass ++ the stacked args to the called function, we adjust our stack pointer to ++ a0, which is in the _caller's_ alloca area. We establish our own stack ++ frame at the end of the call_context. ++ ++ Anything below the arguments will be freed at this point, although we ++ preserve the call_context so that it can be read back in the caller. ++ */ ++ ++ .cfi_def_cfa 11, FRAME_LEN # interim CFA based on a1 ++ SARG fp, FRAME_LEN - 2*PTRS(a1) ++ .cfi_offset 8, -2*PTRS ++ SARG ra, FRAME_LEN - 1*PTRS(a1) ++ .cfi_offset 1, -1*PTRS ++ ++ addi fp, a1, FRAME_LEN ++ mv sp, a0 ++ .cfi_def_cfa 8, 0 # our frame is fully set up ++ ++ # Load arguments ++ mv t1, a2 ++ ++#if FLTS ++ FLARG fa0, -FRAME_LEN+0*FLTS(fp) ++ FLARG fa1, -FRAME_LEN+1*FLTS(fp) ++ FLARG fa2, -FRAME_LEN+2*FLTS(fp) ++ FLARG fa3, -FRAME_LEN+3*FLTS(fp) ++ FLARG fa4, -FRAME_LEN+4*FLTS(fp) ++ FLARG fa5, -FRAME_LEN+5*FLTS(fp) ++ FLARG fa6, -FRAME_LEN+6*FLTS(fp) ++ FLARG fa7, -FRAME_LEN+7*FLTS(fp) ++#endif ++ ++ LARG a0, -FRAME_LEN+8*FLTS+0*PTRS(fp) ++ LARG a1, -FRAME_LEN+8*FLTS+1*PTRS(fp) ++ LARG a2, -FRAME_LEN+8*FLTS+2*PTRS(fp) ++ LARG a3, -FRAME_LEN+8*FLTS+3*PTRS(fp) ++ LARG a4, -FRAME_LEN+8*FLTS+4*PTRS(fp) ++ LARG a5, -FRAME_LEN+8*FLTS+5*PTRS(fp) ++ LARG a6, -FRAME_LEN+8*FLTS+6*PTRS(fp) ++ LARG a7, -FRAME_LEN+8*FLTS+7*PTRS(fp) ++ ++ /* Call */ ++ jalr t1 ++ ++ /* Save return values - only a0/a1 (fa0/fa1) are used */ ++#if FLTS ++ FSARG fa0, -FRAME_LEN+0*FLTS(fp) ++ FSARG fa1, -FRAME_LEN+1*FLTS(fp) ++#endif ++ ++ SARG a0, -FRAME_LEN+8*FLTS+0*PTRS(fp) ++ SARG a1, -FRAME_LEN+8*FLTS+1*PTRS(fp) ++ ++ /* Restore and return */ ++ addi sp, fp, -FRAME_LEN ++ .cfi_def_cfa 2, FRAME_LEN ++ LARG ra, -1*PTRS(fp) ++ .cfi_restore 1 ++ LARG fp, -2*PTRS(fp) ++ .cfi_restore 8 ++ ret ++ .cfi_endproc ++ .size ffi_call_asm, .-ffi_call_asm ++ ++ ++/* ++ ffi_closure_asm. Expects address of the passed-in ffi_closure in t1. ++ void ffi_closure_inner(size_t *stackargs, struct call_context *regargs, ++ ffi_closure *closure); ++*/ ++ ++ .globl ffi_closure_asm ++ .hidden ffi_closure_asm ++ .type ffi_closure_asm, @function ++ffi_closure_asm: ++ .cfi_startproc ++ ++ addi sp, sp, -FRAME_LEN ++ .cfi_def_cfa_offset FRAME_LEN ++ ++ /* make a frame */ ++ SARG fp, FRAME_LEN - 2*PTRS(sp) ++ .cfi_offset 8, -2*PTRS ++ SARG ra, FRAME_LEN - 1*PTRS(sp) ++ .cfi_offset 1, -1*PTRS ++ addi fp, sp, FRAME_LEN ++ ++ /* save arguments */ ++#if FLTS ++ FSARG fa0, 0*FLTS(sp) ++ FSARG fa1, 1*FLTS(sp) ++ FSARG fa2, 2*FLTS(sp) ++ FSARG fa3, 3*FLTS(sp) ++ FSARG fa4, 4*FLTS(sp) ++ FSARG fa5, 5*FLTS(sp) ++ FSARG fa6, 6*FLTS(sp) ++ FSARG fa7, 7*FLTS(sp) ++#endif ++ ++ SARG a0, 8*FLTS+0*PTRS(sp) ++ SARG a1, 8*FLTS+1*PTRS(sp) ++ SARG a2, 8*FLTS+2*PTRS(sp) ++ SARG a3, 8*FLTS+3*PTRS(sp) ++ SARG a4, 8*FLTS+4*PTRS(sp) ++ SARG a5, 8*FLTS+5*PTRS(sp) ++ SARG a6, 8*FLTS+6*PTRS(sp) ++ SARG a7, 8*FLTS+7*PTRS(sp) ++ ++ /* enter C */ ++ addi a0, sp, FRAME_LEN ++ mv a1, sp ++ mv a2, t1 ++ ++ call ffi_closure_inner ++ ++ /* return values */ ++#if FLTS ++ FLARG fa0, 0*FLTS(sp) ++ FLARG fa1, 1*FLTS(sp) ++#endif ++ ++ LARG a0, 8*FLTS+0*PTRS(sp) ++ LARG a1, 8*FLTS+1*PTRS(sp) ++ ++ /* restore and return */ ++ LARG ra, FRAME_LEN-1*PTRS(sp) ++ .cfi_restore 1 ++ LARG fp, FRAME_LEN-2*PTRS(sp) ++ .cfi_restore 8 ++ addi sp, sp, FRAME_LEN ++ .cfi_def_cfa_offset 0 ++ ret ++ .cfi_endproc ++ .size ffi_closure_asm, .-ffi_closure_asm --- gcc-8-8.2.0.orig/debian/patches/libffi-riscv64-go.diff +++ gcc-8-8.2.0/debian/patches/libffi-riscv64-go.diff @@ -0,0 +1,227 @@ +# DP: libffi: RISC-V go closures + +--- a/src/libffi/src/riscv/ffi.c ++++ b/src/libffi/src/riscv/ffi.c +@@ -324,9 +324,12 @@ ffi_status ffi_prep_cif_machdep_var(ffi_cif *cif, unsigned int nfixedargs, unsig + } + + /* Low level routine for calling functions */ +-extern void ffi_call_asm(void *stack, struct call_context *regs, void (*fn)(void)) FFI_HIDDEN; ++extern void ffi_call_asm (void *stack, struct call_context *regs, ++ void (*fn) (void), void *closure) FFI_HIDDEN; + +-void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) ++static void ++ffi_call_int (ffi_cif *cif, void (*fn) (void), void *rvalue, void **avalue, ++ void *closure) + { + /* this is a conservative estimate, assuming a complex return value and + that all remaining arguments are long long / __int128 */ +@@ -366,13 +369,26 @@ void ffi_call(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue) + for (i = 0; i < cif->nargs; i++) + marshal(&cb, cif->arg_types[i], i >= cif->riscv_nfixedargs, avalue[i]); + +- ffi_call_asm((void*)alloc_base, cb.aregs, fn); ++ ffi_call_asm ((void *) alloc_base, cb.aregs, fn, closure); + + cb.used_float = cb.used_integer = 0; + if (!return_by_ref && rvalue) + unmarshal(&cb, cif->rtype, 0, rvalue); + } + ++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); ++} ++ + extern void ffi_closure_asm(void) FFI_HIDDEN; + + ffi_status ffi_prep_closure_loc(ffi_closure *closure, ffi_cif *cif, void (*fun)(ffi_cif*,void*,void**,void*), void *user_data, void *codeloc) +@@ -406,11 +422,31 @@ ffi_status ffi_prep_closure_loc(ffi_closure *closure, ffi_cif *cif, void (*fun)( + return FFI_OK; + } + ++extern void ffi_go_closure_asm (void) FFI_HIDDEN; ++ ++ffi_status ++ffi_prep_go_closure (ffi_go_closure *closure, ffi_cif *cif, ++ void (*fun) (ffi_cif *, void *, void **, void *)) ++{ ++ if (cif->abi <= FFI_FIRST_ABI || cif->abi >= FFI_LAST_ABI) ++ return FFI_BAD_ABI; ++ ++ closure->tramp = (void *) ffi_go_closure_asm; ++ closure->cif = cif; ++ closure->fun = fun; ++ ++ return FFI_OK; ++} ++ + /* Called by the assembly code with aregs pointing to saved argument registers + and stack pointing to the stacked arguments. Return values passed in + registers will be reloaded from aregs. */ +-void FFI_HIDDEN ffi_closure_inner(size_t *stack, call_context *aregs, ffi_closure *closure) { +- ffi_cif *cif = closure->cif; ++void FFI_HIDDEN ++ffi_closure_inner (ffi_cif *cif, ++ void (*fun) (ffi_cif *, void *, void **, void *), ++ void *user_data, ++ size_t *stack, call_context *aregs) ++{ + void **avalue = alloca(cif->nargs * sizeof(void*)); + /* storage for arguments which will be copied by unmarshal(). We could + theoretically avoid the copies in many cases and use at most 128 bytes +@@ -436,7 +472,7 @@ void FFI_HIDDEN ffi_closure_inner(size_t *stack, call_context *aregs, ffi_closur + avalue[i] = unmarshal(&cb, cif->arg_types[i], + i >= cif->riscv_nfixedargs, astorage + i*MAXCOPYARG); + +- (closure->fun)(cif, rvalue, avalue, closure->user_data); ++ fun (cif, rvalue, avalue, user_data); + + if (!return_by_ref && cif->rtype->type != FFI_TYPE_VOID) { + cb.used_integer = cb.used_float = 0; +--- a/src/libffi/src/riscv/ffitarget.h ++++ b/src/libffi/src/riscv/ffitarget.h +@@ -59,6 +59,7 @@ typedef enum ffi_abi { + /* ---- Definitions for closures ----------------------------------------- */ + + #define FFI_CLOSURES 1 ++#define FFI_GO_CLOSURES 1 + #define FFI_TRAMPOLINE_SIZE 24 + #define FFI_NATIVE_RAW_API 0 + #define FFI_EXTRA_CIF_FIELDS unsigned riscv_nfixedargs; unsigned riscv_unused; +--- a/src/libffi/src/riscv/sysv.S ++++ b/src/libffi/src/riscv/sysv.S +@@ -67,8 +67,8 @@ + intreg pad[rv32 ? 2 : 0]; + intreg save_fp, save_ra; + } +- void ffi_call_asm(size_t *stackargs, struct call_context *regargs, +- void (*fn)(void)); ++ void ffi_call_asm (size_t *stackargs, struct call_context *regargs, ++ void (*fn) (void), void *closure); + */ + + #define FRAME_LEN (8 * FLTS + 8 * PTRS + 16) +@@ -98,6 +98,7 @@ ffi_call_asm: + + # Load arguments + mv t1, a2 ++ mv t2, a3 + + #if FLTS + FLARG fa0, -FRAME_LEN+0*FLTS(fp) +@@ -145,8 +146,10 @@ ffi_call_asm: + + /* + ffi_closure_asm. Expects address of the passed-in ffi_closure in t1. +- void ffi_closure_inner(size_t *stackargs, struct call_context *regargs, +- ffi_closure *closure); ++ void ffi_closure_inner (ffi_cif *cif, ++ void (*fun) (ffi_cif *, void *, void **, void *), ++ void *user_data, ++ size_t *stackargs, struct call_context *regargs) + */ + + .globl ffi_closure_asm +@@ -187,9 +190,11 @@ ffi_closure_asm: + SARG a7, 8*FLTS+7*PTRS(sp) + + /* enter C */ +- addi a0, sp, FRAME_LEN +- mv a1, sp +- mv a2, t1 ++ LARG a0, FFI_TRAMPOLINE_SIZE+0*PTRS(t1) ++ LARG a1, FFI_TRAMPOLINE_SIZE+1*PTRS(t1) ++ LARG a2, FFI_TRAMPOLINE_SIZE+2*PTRS(t1) ++ addi a3, sp, FRAME_LEN ++ mv a4, sp + + call ffi_closure_inner + +@@ -212,3 +217,77 @@ ffi_closure_asm: + ret + .cfi_endproc + .size ffi_closure_asm, .-ffi_closure_asm ++ ++/* ++ ffi_go_closure_asm. Expects address of the passed-in ffi_go_closure in t2. ++ void ffi_closure_inner (ffi_cif *cif, ++ void (*fun) (ffi_cif *, void *, void **, void *), ++ void *user_data, ++ size_t *stackargs, struct call_context *regargs) ++*/ ++ ++ .globl ffi_go_closure_asm ++ .hidden ffi_go_closure_asm ++ .type ffi_go_closure_asm, @function ++ffi_go_closure_asm: ++ .cfi_startproc ++ ++ addi sp, sp, -FRAME_LEN ++ .cfi_def_cfa_offset FRAME_LEN ++ ++ /* make a frame */ ++ SARG fp, FRAME_LEN - 2*PTRS(sp) ++ .cfi_offset 8, -2*PTRS ++ SARG ra, FRAME_LEN - 1*PTRS(sp) ++ .cfi_offset 1, -1*PTRS ++ addi fp, sp, FRAME_LEN ++ ++ /* save arguments */ ++#if FLTS ++ FSARG fa0, 0*FLTS(sp) ++ FSARG fa1, 1*FLTS(sp) ++ FSARG fa2, 2*FLTS(sp) ++ FSARG fa3, 3*FLTS(sp) ++ FSARG fa4, 4*FLTS(sp) ++ FSARG fa5, 5*FLTS(sp) ++ FSARG fa6, 6*FLTS(sp) ++ FSARG fa7, 7*FLTS(sp) ++#endif ++ ++ SARG a0, 8*FLTS+0*PTRS(sp) ++ SARG a1, 8*FLTS+1*PTRS(sp) ++ SARG a2, 8*FLTS+2*PTRS(sp) ++ SARG a3, 8*FLTS+3*PTRS(sp) ++ SARG a4, 8*FLTS+4*PTRS(sp) ++ SARG a5, 8*FLTS+5*PTRS(sp) ++ SARG a6, 8*FLTS+6*PTRS(sp) ++ SARG a7, 8*FLTS+7*PTRS(sp) ++ ++ /* enter C */ ++ LARG a0, 1*PTRS(t2) ++ LARG a1, 2*PTRS(t2) ++ mv a2, t2 ++ addi a3, sp, FRAME_LEN ++ mv a4, sp ++ ++ call ffi_closure_inner ++ ++ /* return values */ ++#if FLTS ++ FLARG fa0, 0*FLTS(sp) ++ FLARG fa1, 1*FLTS(sp) ++#endif ++ ++ LARG a0, 8*FLTS+0*PTRS(sp) ++ LARG a1, 8*FLTS+1*PTRS(sp) ++ ++ /* restore and return */ ++ LARG ra, FRAME_LEN-1*PTRS(sp) ++ .cfi_restore 1 ++ LARG fp, FRAME_LEN-2*PTRS(sp) ++ .cfi_restore 8 ++ addi sp, sp, FRAME_LEN ++ .cfi_def_cfa_offset 0 ++ ret ++ .cfi_endproc ++ .size ffi_go_closure_asm, .-ffi_go_closure_asm --- gcc-8-8.2.0.orig/debian/patches/libffi-ro-eh_frame_sect.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/libgo-cleanfiles.diff +++ gcc-8-8.2.0/debian/patches/libgo-cleanfiles.diff @@ -0,0 +1,30 @@ +Index: b/src/libgo/Makefile.am +=================================================================== +--- a/src/libgo/Makefile.am ++++ b/src/libgo/Makefile.am +@@ -1570,7 +1570,9 @@ mostlyclean-local: + find . -name '*-testsum' -print | xargs rm -f + find . -name '*-testlog' -print | xargs rm -f + +-CLEANFILES = *.go *.c s-* libgo.sum libgo.log runtime.inc ++CLEANFILES = *.go *.c s-* libgo.sum libgo.log runtime.inc \ ++ *.dep */*.dep */*/*.dep */*/*/*.dep */*/*.dep */*/*/*/*.dep \ ++ */*/*/*/*/*.dep + + clean-local: + find . -name '*.la' -print | xargs $(LIBTOOL) --mode=clean rm -f +Index: b/src/libgo/Makefile.in +=================================================================== +--- a/src/libgo/Makefile.in ++++ b/src/libgo/Makefile.in +@@ -1417,7 +1417,9 @@ MOSTLYCLEANFILES = \ + libgo.head libgo.sum.sep libgo.log.sep libgo.var \ + libcalls-list runtime.inc runtime.inc.tmp2 runtime.inc.tmp3 + +-CLEANFILES = *.go *.c s-* libgo.sum libgo.log runtime.inc ++CLEANFILES = *.go *.c s-* libgo.sum libgo.log runtime.inc \ ++ *.dep */*.dep */*/*.dep */*/*/*.dep */*/*.dep */*/*/*/*.dep \ ++ */*/*/*/*/*.dep + all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + --- gcc-8-8.2.0.orig/debian/patches/libgo-revert-timeout-exp.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/libgo-setcontext-config.diff +++ gcc-8-8.2.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 +@@ -780,6 +780,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-8-8.2.0.orig/debian/patches/libgo-testsuite.diff +++ gcc-8-8.2.0/debian/patches/libgo-testsuite.diff @@ -0,0 +1,70 @@ +# 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 +@@ -1029,7 +1029,7 @@ BUILDGOX = \ + $(SHELL) $(srcdir)/mvifdiff.sh $@.tmp `echo $@ | sed -e 's/s-gox/gox/'` + + GOTESTFLAGS = +-GOBENCH = ++GOBENCH = + + # Check a package. + CHECK = \ +@@ -1050,6 +1050,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)))`; \ ++ run_check=yes; \ ++ MULTILIBDIR="$(MULTILIBDIR)"; \ ++ case "$$MULTILIBDIR" in /64|/x32) \ ++ echo "$$RUNTESTFLAGS" | grep -q "$${MULTILIBDIR\#/*}" || run_check=; \ ++ esac; \ ++ if test "$$run_check" = "yes"; then \ + if test "$(USE_DEJAGNU)" = "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 \ +@@ -1065,6 +1071,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 +@@ -1118,7 +1118,7 @@ BUILDGOX = \ + $(SHELL) $(srcdir)/mvifdiff.sh $@.tmp `echo $@ | sed -e 's/s-gox/gox/'` + + GOTESTFLAGS = +-GOBENCH = ++GOBENCH = + + # Check a package. + CHECK = \ +@@ -1139,6 +1139,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)))`; \ ++ run_check=yes; \ ++ MULTILIBDIR="$(MULTILIBDIR)"; \ ++ case "$$MULTILIBDIR" in /64|/x32) \ ++ echo "$$RUNTESTFLAGS" | grep -q "$${MULTILIBDIR\#/*}" || run_check=; \ ++ esac; \ ++ if test "$$run_check" = "yes"; then \ + if test "$(USE_DEJAGNU)" = "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 \ +@@ -1154,6 +1160,7 @@ CHECK = \ + echo "FAIL: $(@D)" > $@-testsum; \ + exit 1; \ + fi; \ ++ fi; \ + fi + + --- gcc-8-8.2.0.orig/debian/patches/libgomp-kfreebsd-testsuite.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/libgomp-omp_h-multilib.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/libitm-no-fortify-source.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/libjit-ldflags.diff +++ gcc-8-8.2.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 +@@ -99,7 +99,7 @@ $(LIBGCCJIT_FILENAME): $(jit_OBJS) \ + $(CPPLIB) $(LIBDECNUMBER) $(EXTRA_GCC_LIBS) $(LIBS) $(BACKENDLIBS) \ + $(EXTRA_GCC_OBJS) \ + $(LIBGCCJIT_VERSION_SCRIPT_OPTION) \ +- $(LIBGCCJIT_SONAME_OPTION) ++ $(LIBGCCJIT_SONAME_OPTION) $(LDFLAGS) + + $(LIBGCCJIT_SONAME_SYMLINK): $(LIBGCCJIT_FILENAME) + ln -sf $(LIBGCCJIT_FILENAME) $(LIBGCCJIT_SONAME_SYMLINK) --- gcc-8-8.2.0.orig/debian/patches/libphobos-zlib.diff +++ gcc-8-8.2.0/debian/patches/libphobos-zlib.diff @@ -0,0 +1,75 @@ +# 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 +@@ -142,6 +142,7 @@ DRUNTIME_LIBRARIES_BACKTRACE + DRUNTIME_LIBRARIES_DLOPEN + DRUNTIME_LIBRARIES_ZLIB + DRUNTIME_INSTALL_DIRECTORIES ++dnl fake change to regenerate the configure file + + # Add dependencies for libgphobos.spec file + SPEC_PHOBOS_DEPS="$LIBS" +Index: b/src/libphobos/m4/druntime/libraries.m4 +=================================================================== +--- a/src/libphobos/m4/druntime/libraries.m4 ++++ b/src/libphobos/m4/druntime/libraries.m4 +@@ -52,19 +52,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-8-8.2.0.orig/debian/patches/libstdc++-doclink.diff +++ gcc-8-8.2.0/debian/patches/libstdc++-doclink.diff @@ -0,0 +1,74 @@ +# 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. +@@ -82,8 +82,11 @@ + +

License, Copyright, and Other Lawyerly Verbosity

+

The libstdc++ documentation is released under ++ these terms ++ (read offline or + +- these terms. ++ 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-8-8.2.0.orig/debian/patches/libstdc++-man-3cxx.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/libstdc++-no-testsuite.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/libstdc++-nothumb-check.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/libstdc++-pic.diff +++ gcc-8-8.2.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 +@@ -535,6 +535,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. +@@ -833,7 +835,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 + +@@ -884,11 +886,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 \ +@@ -1021,6 +1023,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 ; \ +@@ -1032,6 +1035,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-8-8.2.0.orig/debian/patches/libstdc++-test-installed.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/linaro-issue2575.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/note-gnu-stack.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/powerpcspe_nofprs.diff +++ gcc-8-8.2.0/debian/patches/powerpcspe_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-8-8.2.0.orig/debian/patches/powerpcspe_remove_many.diff +++ gcc-8-8.2.0/debian/patches/powerpcspe_remove_many.diff @@ -0,0 +1,31 @@ +# 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/powerpcspe/powerpcspe.h ++++ b/src/gcc/config/powerpcspe/powerpcspe.h +@@ -107,6 +107,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-powerpcspe.c to + provide the default assembler options if the user uses -mcpu=native, so if +@@ -173,7 +179,8 @@ + %{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-8-8.2.0.orig/debian/patches/pr39491.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/pr66368.diff +++ gcc-8-8.2.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 \ ++ -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 +@@ -449,6 +449,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 \ ++ -fno-stack-protector \ + $(SPLIT_STACK) $(WARN_CFLAGS) \ + $(STRINGOPS_FLAG) $(HWCAP_CFLAGS) $(OSCFLAGS) \ + -I $(srcdir)/../libgcc -I $(srcdir)/../libbacktrace \ --- gcc-8-8.2.0.orig/debian/patches/pr67590.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/pr67899.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/pr81829.diff +++ gcc-8-8.2.0/debian/patches/pr81829.diff @@ -0,0 +1,308 @@ +From f8029ed6d3dd444ee2608146118f2189cf9ef0d8 Mon Sep 17 00:00:00 2001 +From: marxin +Date: Mon, 14 Aug 2017 13:56:32 +0200 +Subject: [PATCH] Fix file find utils and add unit tests (PR driver/81829). + +gcc/ChangeLog: + +2017-08-14 Martin Liska + + PR driver/81829 + * file-find.c (do_add_prefix): Always append DIR_SEPARATOR + at the end of a prefix. + (remove_prefix): Properly remove elements and accept also + path without a trailing DIR_SEPARATOR. + (purge): New function. + (file_find_verify_prefix_creation): Likewise. + (file_find_verify_prefix_add): Likewise. + (file_find_verify_prefix_removal): Likewise. + (file_find_c_tests): Likewise. + * selftest-run-tests.c (selftest::run_tests): Add new + file_find_c_tests. + * selftest.h (file_find_c_tests): Likewise. +--- + gcc/file-find.c | 182 ++++++++++++++++++++++++++++++++++++++++++----- + gcc/gcc-ar.c | 19 +++-- + gcc/selftest-run-tests.c | 1 + + gcc/selftest.h | 1 + + 4 files changed, 179 insertions(+), 24 deletions(-) + +Index: b/src/gcc/file-find.c +=================================================================== +--- a/src/gcc/file-find.c ++++ b/src/gcc/file-find.c +@@ -21,6 +21,7 @@ along with GCC; see the file COPYING3. + #include "system.h" + #include "filenames.h" + #include "file-find.h" ++#include "selftest.h" + + static bool debug = false; + +@@ -126,11 +127,22 @@ do_add_prefix (struct path_prefix *ppref + /* Keep track of the longest prefix. */ + + len = strlen (prefix); ++ bool append_separator = !IS_DIR_SEPARATOR (prefix[len - 1]); ++ if (append_separator) ++ len++; ++ + if (len > pprefix->max_len) + pprefix->max_len = len; + + pl = XNEW (struct prefix_list); +- pl->prefix = xstrdup (prefix); ++ char *dup = XCNEWVEC (char, len + 1); ++ memcpy (dup, prefix, append_separator ? len - 1 : len); ++ if (append_separator) ++ { ++ dup[len - 1] = DIR_SEPARATOR; ++ dup[len] = '\0'; ++ } ++ pl->prefix = dup; + + if (*prev) + pl->next = *prev; +@@ -212,34 +224,170 @@ prefix_from_string (const char *p, struc + void + remove_prefix (const char *prefix, struct path_prefix *pprefix) + { +- struct prefix_list *remove, **prev, **remove_prev = NULL; ++ char *dup = NULL; + int max_len = 0; ++ size_t len = strlen (prefix); ++ if (prefix[len - 1] != DIR_SEPARATOR) ++ { ++ char *dup = XNEWVEC (char, len + 2); ++ memcpy (dup, prefix, len); ++ dup[len] = DIR_SEPARATOR; ++ dup[len + 1] = '\0'; ++ prefix = dup; ++ } + + if (pprefix->plist) + { +- prev = &pprefix->plist; +- for (struct prefix_list *pl = pprefix->plist; pl->next; pl = pl->next) ++ prefix_list *prev = NULL; ++ for (struct prefix_list *pl = pprefix->plist; pl;) + { + if (strcmp (prefix, pl->prefix) == 0) + { +- remove = pl; +- remove_prev = prev; +- continue; ++ if (prev == NULL) ++ pprefix->plist = pl->next; ++ else ++ prev->next = pl->next; ++ ++ prefix_list *remove = pl; ++ free (remove); ++ pl = pl->next; + } ++ else ++ { ++ prev = pl; + +- int l = strlen (pl->prefix); +- if (l > max_len) +- max_len = l; ++ int l = strlen (pl->prefix); ++ if (l > max_len) ++ max_len = l; + +- prev = &pl; +- } +- +- if (remove_prev) +- { +- *remove_prev = remove->next; +- free (remove); ++ pl = pl->next; ++ } + } + + pprefix->max_len = max_len; + } ++ ++ if (dup) ++ free (dup); ++} ++ ++#if CHECKING_P ++ ++namespace selftest { ++ ++/* Encode '#' and '_' to path and dir separators in order to test portability ++ of the test-cases. */ ++ ++static char * ++purge (const char *input) ++{ ++ char *s = xstrdup (input); ++ for (char *c = s; *c != '\0'; c++) ++ switch (*c) ++ { ++ case '/': ++ case ':': ++ *c = 'a'; /* Poison default string values. */ ++ break; ++ case '_': ++ *c = PATH_SEPARATOR; ++ break; ++ case '#': ++ *c = DIR_SEPARATOR; ++ break; ++ default: ++ break; ++ } ++ ++ return s; ++} ++ ++const char *env1 = purge ("#home#user#bin_#home#user#bin_#bin_#usr#bin"); ++const char *env2 = purge ("#root_#root_#root"); ++ ++/* Verify creation of prefix. */ ++ ++static void ++file_find_verify_prefix_creation (void) ++{ ++ path_prefix prefix; ++ memset (&prefix, 0, sizeof (prefix)); ++ prefix_from_string (env1, &prefix); ++ ++ ASSERT_EQ (15, prefix.max_len); ++ ++ /* All prefixes end with DIR_SEPARATOR. */ ++ ASSERT_STREQ (purge ("#home#user#bin#"), prefix.plist->prefix); ++ ASSERT_STREQ (purge ("#home#user#bin#"), prefix.plist->next->prefix); ++ ASSERT_STREQ (purge ("#bin#"), prefix.plist->next->next->prefix); ++ ASSERT_STREQ (purge ("#usr#bin#"), prefix.plist->next->next->next->prefix); ++ ASSERT_EQ (NULL, prefix.plist->next->next->next->next); ++} ++ ++/* Verify adding a prefix. */ ++ ++static void ++file_find_verify_prefix_add (void) ++{ ++ path_prefix prefix; ++ memset (&prefix, 0, sizeof (prefix)); ++ prefix_from_string (env1, &prefix); ++ ++ add_prefix (&prefix, purge ("#root")); ++ ASSERT_STREQ (purge ("#home#user#bin#"), prefix.plist->prefix); ++ ASSERT_STREQ (purge ("#root#"), ++ prefix.plist->next->next->next->next->prefix); ++ ++ add_prefix_begin (&prefix, purge ("#var")); ++ ASSERT_STREQ (purge ("#var#"), prefix.plist->prefix); ++} ++ ++/* Verify adding a prefix. */ ++ ++static void ++file_find_verify_prefix_removal (void) ++{ ++ path_prefix prefix; ++ memset (&prefix, 0, sizeof (prefix)); ++ prefix_from_string (env1, &prefix); ++ ++ /* All occurences of a prefix should be removed. */ ++ remove_prefix (purge ("#home#user#bin"), &prefix); ++ ++ ASSERT_EQ (9, prefix.max_len); ++ ASSERT_STREQ (purge ("#bin#"), prefix.plist->prefix); ++ ASSERT_STREQ (purge ("#usr#bin#"), prefix.plist->next->prefix); ++ ASSERT_EQ (NULL, prefix.plist->next->next); ++ ++ remove_prefix (purge ("#usr#bin#"), &prefix); ++ ASSERT_EQ (5, prefix.max_len); ++ ASSERT_STREQ (purge ("#bin#"), prefix.plist->prefix); ++ ASSERT_EQ (NULL, prefix.plist->next); ++ ++ remove_prefix (purge ("#dev#random#"), &prefix); ++ remove_prefix (purge ("#bi#"), &prefix); ++ ++ remove_prefix (purge ("#bin#"), &prefix); ++ ASSERT_EQ (NULL, prefix.plist); ++ ASSERT_EQ (0, prefix.max_len); ++ ++ memset (&prefix, 0, sizeof (prefix)); ++ prefix_from_string (env2, &prefix); ++ ASSERT_EQ (6, prefix.max_len); ++ ++ remove_prefix (purge ("#root#"), &prefix); ++ ASSERT_EQ (NULL, prefix.plist); ++ ASSERT_EQ (0, prefix.max_len); + } ++ ++/* Run all of the selftests within this file. */ ++ ++void file_find_c_tests () ++{ ++ file_find_verify_prefix_creation (); ++ file_find_verify_prefix_add (); ++ file_find_verify_prefix_removal (); ++} ++ ++} // namespace selftest ++#endif /* CHECKING_P */ +Index: b/src/gcc/gcc-ar.c +=================================================================== +--- a/src/gcc/gcc-ar.c ++++ b/src/gcc/gcc-ar.c +@@ -194,15 +194,20 @@ main (int ac, char **av) + #ifdef CROSS_DIRECTORY_STRUCTURE + real_exe_name = concat (target_machine, "-", PERSONALITY, NULL); + #endif +- /* Do not search original location in the same folder. */ +- char *exe_folder = lrealpath (av[0]); +- exe_folder[strlen (exe_folder) - strlen (lbasename (exe_folder))] = '\0'; +- char *location = concat (exe_folder, PERSONALITY, NULL); ++ char *wrapper_file = lrealpath (av[0]); ++ exe_name = lrealpath (find_a_file (&path, real_exe_name, X_OK)); + +- if (access (location, X_OK) == 0) +- remove_prefix (exe_folder, &path); ++ /* If the exe_name points to the wrapper, remove folder of the wrapper ++ from prefix and try search again. */ ++ if (strcmp (exe_name, wrapper_file) == 0) ++ { ++ char *exe_folder = wrapper_file; ++ exe_folder[strlen (exe_folder) - strlen (lbasename (exe_folder))] = '\0'; ++ remove_prefix (exe_folder, &path); ++ ++ exe_name = find_a_file (&path, real_exe_name, X_OK); ++ } + +- exe_name = find_a_file (&path, real_exe_name, X_OK); + if (!exe_name) + { + fprintf (stderr, "%s: Cannot find binary '%s'\n", av[0], +Index: b/src/gcc/selftest-run-tests.c +=================================================================== +--- a/src/gcc/selftest-run-tests.c ++++ b/src/gcc/selftest-run-tests.c +@@ -66,6 +66,7 @@ selftest::run_tests () + sreal_c_tests (); + fibonacci_heap_c_tests (); + typed_splay_tree_c_tests (); ++ file_find_c_tests (); + + /* Mid-level data structures. */ + input_c_tests (); +Index: b/src/gcc/selftest.h +=================================================================== +--- a/src/gcc/selftest.h ++++ b/src/gcc/selftest.h +@@ -196,6 +196,7 @@ extern void tree_c_tests (); + extern void tree_cfg_c_tests (); + extern void vec_c_tests (); + extern void wide_int_cc_tests (); ++extern void file_find_c_tests (); + + extern int num_passes; + --- gcc-8-8.2.0.orig/debian/patches/rename-info-files.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/skip-bootstrap-multilib.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/sparc64-biarch-long-double-128.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/src_gcc_config_i386_gnu.h.diff +++ gcc-8-8.2.0/debian/patches/src_gcc_config_i386_gnu.h.diff @@ -0,0 +1,25 @@ +Index: gcc-8-8-20171108-1.1/src/gcc/config/i386/gnu.h +=================================================================== +--- gcc-8-8-20171108-1.1.orig/src/gcc/config/i386/gnu.h ++++ gcc-8-8-20171108-1.1/src/gcc/config/i386/gnu.h +@@ -37,11 +37,14 @@ along with GCC. If not, see /dev/null 2>&1; then ++addsig _SIGIOT '{_SigNotify + _SigThrow, "SIGIOT: abort"}' ++else + addsig _SIGABRT '{_SigNotify + _SigThrow, "SIGABRT: abort"}' ++fi + addsig _SIGBUS '{_SigPanic + _SigUnblock, "SIGBUS: bus error"}' + addsig _SIGFPE '{_SigPanic + _SigUnblock, "SIGFPE: floating-point exception"}' + addsig _SIGKILL '{0, "SIGKILL: kill"}' +@@ -91,6 +97,7 @@ checksig _SIGCANCEL '{_SigSetStack + _S + checksig _SIGXRES '{_SigNotify, "SIGXRES: resource control exceeded"}' + checksig _SIGJVM1 '{_SigNotify, "SIGJVM1: reserved signal for Java Virtual Machine"}' + checksig _SIGJVM2 '{_SigNotify, "SIGJVM2: reserved signal for Java Virtual Machine"}' ++checksig _SIGLOST ' {_SigNotify, "SIGLOST: resource lost (Sun); server died (GNU)"}' + + # Special handling of signals 32 and 33 on GNU/Linux systems, + # because they are special to glibc. +@@ -112,6 +119,11 @@ else + rtmax=`grep 'const _*SIGRTMAX = [0-9]*$' gen-sysinfo.go | sed -e 's/.* = \([0-9]*\)/\1/'` + if test -n "$rtmax"; then + nsig=`expr $rtmax + 1` ++ elif grep 'const _*SIGRTMAX = [ (]*_*SIGRTMIN[ )]*' gen-sysinfo.go >/dev/null 2>&1; then ++ rtmin=`grep 'const _*SIGRTMIN = [0-9]*$' gen-sysinfo.go | sed -e 's/.* = \([0-9]*\)/\1/'` ++ if test -n "$rtmin"; then ++ nsig=`expr $rtmin + 1` ++ fi + fi + fi + fi +Index: gcc-8-8-20180310-1.1/src/libgo/mksysinfo.sh +=================================================================== +--- gcc-8-8-20180310-1.1.orig/src/libgo/mksysinfo.sh ++++ gcc-8-8-20180310-1.1/src/libgo/mksysinfo.sh +@@ -54,8 +54,33 @@ grep '^type _mld_hdr_t ' gen-sysinfo.go + sed -e 's/_in6_addr/[16]byte/' >> ${OUT} + + # The errno constants. These get type Errno. +- egrep '#define E[A-Z0-9_]+ ' errno.i | \ +- sed -e 's/^#define \(E[A-Z0-9_]*\) .*$/const \1 = Errno(_\1)/' >> ${OUT} ++# egrep '#define E[A-Z0-9_]+ ' errno.i | \ ++# sed -e 's/^#define \(E[A-Z0-9_]*\) .*$/const \1 = Errno(_\1)/' >> ${OUT} ++ ++egrep '#define E[A-Z0-9_]+ [0-9]' errno.i | \ ++ sed -e 's/^#define \(E[A-Z0-9_]*\) .*$/const \1 = Errno(_\1)/' >> ${OUT} ++# Workaround for GNU/Hurd _EMIG_* errors having negative values ++egrep '#define E[A-Z0-9_]+ -[0-9]' errno.i | \ ++ sed -e 's/^#define \(E[A-Z0-9_]*\) .*$/const \1 = Errno(-_\1)/' >> ${OUT} ++ ++# Special treatment of EWOULDBLOCK for GNU/Hurd ++# /usr/include/i386-gnu/bits/errno.h: #define EWOULDBLOCK EAGAIN ++if egrep '^const _EWOULDBLOCK = _EAGAIN' gen-sysinfo.go > /dev/null 2>&1; then ++ if egrep '^const EAGAIN = Errno\(_EAGAIN\)' ${OUT}; then ++ echo 'const EWOULDBLOCK = Errno(_EAGAIN)' >> ${OUT} ++ fi ++fi ++ ++# Special treatment of _NSIG for GNU/Hurd ++# /usr/include/i386-gnu/bits/signum-generic.h: ++#define __SIGRTMIN 32 ++#define __SIGRTMAX __SIGRTMIN ++#define _NSIG (__SIGRTMAX + 1) ++# Brute force method (mksigtab.sh bug): ++#if egrep '^const ___SIGRTMAX = ___SIGRTMIN' gen-sysinfo.go > /dev/null 2>&1; then ++# egrep '^const ___SIGRTMIN = 32' gen-sysinfo.go > /dev/null 2>&1 | \ ++# echo "const __SIGRTMAX = 32" >> gen-sysinfo.go ++#fi + + # The O_xxx flags. + egrep '^const _(O|F|FD)_' gen-sysinfo.go | \ +@@ -124,6 +149,11 @@ grep '^const _SYS_' gen-sysinfo.go | \ + echo "const $sup = _$sys" >> ${OUT} + done + ++# Special treatment of SYS_IOCTL for GNU/Hurd ++if ! grep '^const SYS_IOCTL' ${OUT} > /dev/null 2>&1; then ++ echo "const SYS_IOCTL = 0" >> ${OUT} ++fi ++ + # The GNU/Linux support wants to use SYS_GETDENTS64 if available. + if ! grep '^const SYS_GETDENTS ' ${OUT} >/dev/null 2>&1; then + echo "const SYS_GETDENTS = 0" >> ${OUT} +@@ -451,6 +481,11 @@ grep '^type _st_timespec ' gen-sysinfo.g + + # The stat type. + # Prefer largefile variant if available. ++# Special treatment of st_dev for GNU/Hurd ++# /usr/include/i386-gnu/bits/stat.h: #define st_dev st_fsid ++if grep 'define st_dev st_fsid' gen-sysinfo.go > /dev/null 2>&1; then ++ sed -i -e 's/; st_fsid/; st_dev/' gen-sysinfo.go ++fi + stat=`grep '^type _stat64 ' gen-sysinfo.go || true` + if test "$stat" != ""; then + grep '^type _stat64 ' gen-sysinfo.go --- gcc-8-8.2.0.orig/debian/patches/src_libgo_go_crypto.diff +++ gcc-8-8.2.0/debian/patches/src_libgo_go_crypto.diff @@ -0,0 +1,16 @@ +Index: gcc-8-8-20171108-1.1/src/libgo/go/crypto/x509/root_gnu.go +=================================================================== +--- /dev/null ++++ gcc-8-8-20171108-1.1/src/libgo/go/crypto/x509/root_gnu.go +@@ -0,0 +1,11 @@ ++// Copyright 2015 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++// This file is derived from root_linux.go ++ ++package x509 ++ ++// Possible certificate files; stop after finding one. ++var certFiles = []string{ ++ "/etc/ssl/certs/ca-certificates.crt", // Debian/Ubuntu/Gentoo etc. ++} --- gcc-8-8.2.0.orig/debian/patches/src_libgo_go_go_build_syslist.go.diff +++ gcc-8-8.2.0/debian/patches/src_libgo_go_go_build_syslist.go.diff @@ -0,0 +1,11 @@ +Index: gcc-8-8-20180308-1.1/src/libgo/go/go/build/syslist.go +=================================================================== +--- gcc-8-8-20180308-1.1.orig/src/libgo/go/go/build/syslist.go ++++ gcc-8-8-20180308-1.1/src/libgo/go/go/build/syslist.go +@@ -4,5 +4,5 @@ + + package build + +-const goosList = "aix android darwin dragonfly freebsd linux nacl netbsd openbsd plan9 solaris windows zos " ++const goosList = "aix android darwin dragonfly freebsd gnu linux nacl netbsd openbsd plan9 solaris windows zos " + const goarchList = "386 amd64 amd64p32 arm armbe arm64 arm64be alpha m68k ppc64 ppc64le mips mipsle mips64 mips64le mips64p32 mips64p32le ppc riscv64 s390 s390x sh shbe sparc sparc64" --- gcc-8-8.2.0.orig/debian/patches/src_libgo_go_net.diff +++ gcc-8-8.2.0/debian/patches/src_libgo_go_net.diff @@ -0,0 +1,219 @@ +Index: gcc-8-8-20171108-1.1/src/libgo/go/net/cgo_gnu.go +=================================================================== +--- /dev/null ++++ gcc-8-8-20171108-1.1/src/libgo/go/net/cgo_gnu.go +@@ -0,0 +1,17 @@ ++// Copyright 2011 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++// This file is derived from cgo_bsd.go ++ ++// +build cgo,!netgo ++// +build gnu ++ ++package net ++ ++/* ++#include ++*/ ++ ++import "syscall" ++ ++const cgoAddrInfoFlags = syscall.AI_CANONNAME | syscall.AI_V4MAPPED | syscall.AI_ALL +Index: gcc-8-8-20171108-1.1/src/libgo/go/net/sendfile_gnu.go +=================================================================== +--- /dev/null ++++ gcc-8-8-20171108-1.1/src/libgo/go/net/sendfile_gnu.go +@@ -0,0 +1,42 @@ ++// Copyright 2011 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++// This file is identical to sendfile_linux.go ++ ++package net ++ ++import ( ++ "internal/poll" ++ "io" ++ "os" ++) ++ ++// sendFile copies the contents of r to c using the sendfile ++// system call to minimize copies. ++// ++// if handled == true, sendFile returns the number of bytes copied and any ++// non-EOF error. ++// ++// if handled == false, sendFile performed no work. ++func sendFile(c *netFD, r io.Reader) (written int64, err error, handled bool) { ++ var remain int64 = 1 << 62 // by default, copy until EOF ++ ++ lr, ok := r.(*io.LimitedReader) ++ if ok { ++ remain, r = lr.N, lr.R ++ if remain <= 0 { ++ return 0, nil, true ++ } ++ } ++ f, ok := r.(*os.File) ++ if !ok { ++ return 0, nil, false ++ } ++ ++ written, err = poll.SendFile(&c.pfd, int(f.Fd()), remain) ++ ++ if lr != nil { ++ lr.N = remain - written ++ } ++ return written, wrapSyscallError("sendfile", err), written > 0 ++} +Index: gcc-8-8-20171108-1.1/src/libgo/go/net/sock_gnu.go +=================================================================== +--- /dev/null ++++ gcc-8-8-20171108-1.1/src/libgo/go/net/sock_gnu.go +@@ -0,0 +1,15 @@ ++// Copyright 2014 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++// This file is derived from sock_stub.go ++ ++// +build gnu ++ ++package net ++ ++import "syscall" ++ ++func maxListenerBacklog() int { ++ // From /usr/include/i386-gnu/bits/socket.h ++ return syscall.SOMAXCONN ++} +Index: gcc-8-8-20171108-1.1/src/libgo/go/net/sockopt_gnu.go +=================================================================== +--- /dev/null ++++ gcc-8-8-20171108-1.1/src/libgo/go/net/sockopt_gnu.go +@@ -0,0 +1,33 @@ ++// Copyright 2011 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++// This file is identical to sockopt_linux.go ++ ++package net ++ ++import ( ++ "os" ++ "syscall" ++) ++ ++func setDefaultSockopts(s, family, sotype int, ipv6only bool) error { ++ if family == syscall.AF_INET6 && sotype != syscall.SOCK_RAW { ++ // Allow both IP versions even if the OS default ++ // is otherwise. Note that some operating systems ++ // never admit this option. ++ syscall.SetsockoptInt(s, syscall.IPPROTO_IPV6, syscall.IPV6_V6ONLY, boolint(ipv6only)) ++ } ++ // Allow broadcast. ++ return os.NewSyscallError("setsockopt", syscall.SetsockoptInt(s, syscall.SOL_SOCKET, syscall.SO_BROADCAST, 1)) ++} ++ ++func setDefaultListenerSockopts(s int) error { ++ // Allow reuse of recently-used addresses. ++ return os.NewSyscallError("setsockopt", syscall.SetsockoptInt(s, syscall.SOL_SOCKET, syscall.SO_REUSEADDR, 1)) ++} ++ ++func setDefaultMulticastSockopts(s int) error { ++ // Allow multicast UDP and raw IP datagram sockets to listen ++ // concurrently across multiple listeners. ++ return os.NewSyscallError("setsockopt", syscall.SetsockoptInt(s, syscall.SOL_SOCKET, syscall.SO_REUSEADDR, 1)) ++} +Index: gcc-8-8-20171108-1.1/src/libgo/go/net/sockoptip_gnu.go +=================================================================== +--- /dev/null ++++ gcc-8-8-20171108-1.1/src/libgo/go/net/sockoptip_gnu.go +@@ -0,0 +1,31 @@ ++// Copyright 2011 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++// This file is identical to sockoptip_bsd.go ++ ++// +build gnu ++ ++package net ++ ++import ( ++ "runtime" ++ "syscall" ++) ++ ++func setIPv4MulticastInterface(fd *netFD, ifi *Interface) error { ++ ip, err := interfaceToIPv4Addr(ifi) ++ if err != nil { ++ return wrapSyscallError("setsockopt", err) ++ } ++ var a [4]byte ++ copy(a[:], ip.To4()) ++ err = fd.pfd.SetsockoptInet4Addr(syscall.IPPROTO_IP, syscall.IP_MULTICAST_IF, a) ++ runtime.KeepAlive(fd) ++ return wrapSyscallError("setsockopt", err) ++} ++ ++func setIPv4MulticastLoopback(fd *netFD, v bool) error { ++ err := fd.pfd.SetsockoptByte(syscall.IPPROTO_IP, syscall.IP_MULTICAST_LOOP, byte(boolint(v))) ++ runtime.KeepAlive(fd) ++ return wrapSyscallError("setsockopt", err) ++} +Index: gcc-8-8-20171108-1.1/src/libgo/go/internal/poll/sendfile_gnu.go +=================================================================== +--- /dev/null ++++ gcc-8-8-20171108-1.1/src/libgo/go/internal/poll/sendfile_gnu.go +@@ -0,0 +1,51 @@ ++// Copyright 2011 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++// This file is identical to sendfile_linux.go ++ ++package poll ++ ++import "syscall" ++ ++// maxSendfileSize is the largest chunk size we ask the kernel to copy ++// at a time. ++const maxSendfileSize int = 4 << 20 ++ ++// SendFile wraps the sendfile system call. ++func SendFile(dstFD *FD, src int, remain int64) (int64, error) { ++ if err := dstFD.writeLock(); err != nil { ++ return 0, err ++ } ++ defer dstFD.writeUnlock() ++ ++ dst := int(dstFD.Sysfd) ++ var written int64 ++ var err error ++ for remain > 0 { ++ n := maxSendfileSize ++ if int64(n) > remain { ++ n = int(remain) ++ } ++ n, err1 := syscall.Sendfile(dst, src, nil, n) ++ if n > 0 { ++ written += int64(n) ++ remain -= int64(n) ++ } ++ if n == 0 && err1 == nil { ++ break ++ } ++ if err1 == syscall.EAGAIN { ++ if err1 = dstFD.pd.waitWrite(dstFD.isFile); err1 == nil { ++ continue ++ } ++ } ++ if err1 != nil { ++ // This includes syscall.ENOSYS (no kernel ++ // support) and syscall.EINVAL (fd types which ++ // don't implement sendfile) ++ err = err1 ++ break ++ } ++ } ++ return written, err ++} --- gcc-8-8.2.0.orig/debian/patches/src_libgo_go_os.diff +++ gcc-8-8.2.0/debian/patches/src_libgo_go_os.diff @@ -0,0 +1,56 @@ +Index: gcc-8-8-20171102-1.1/src/libgo/go/os/executable_procfs.go +=================================================================== +--- gcc-8-8-20171102-1.1.orig/src/libgo/go/os/executable_procfs.go ++++ gcc-8-8-20171102-1.1/src/libgo/go/os/executable_procfs.go +@@ -19,7 +19,7 @@ var executablePath, executablePathErr = + switch runtime.GOOS { + default: + return "", errors.New("Executable not implemented for " + runtime.GOOS) +- case "linux", "android": ++ case "gnu", "linux", "android": + procfn = "/proc/self/exe" + case "netbsd": + procfn = "/proc/curproc/exe" +Index: gcc-8-8-20171102-1.1/src/libgo/go/os/pipe_gnu.go +=================================================================== +--- /dev/null ++++ gcc-8-8-20171102-1.1/src/libgo/go/os/pipe_gnu.go +@@ -0,0 +1,38 @@ ++// Copyright 2013 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++// This file is derived from pipe_linux.go ++ ++// +build gnu ++ ++package os ++ ++import "syscall" ++ ++// Pipe returns a connected pair of Files; reads from r return bytes written to w. ++// It returns the files and an error, if any. ++func Pipe() (r *File, w *File, err error) { ++ var p [2]int ++ ++ e := syscall.Pipe2(p[0:], syscall.O_CLOEXEC) ++ // pipe2 was added in 2.6.27 and our minimum requirement is 2.6.23, so it ++ // might not be implemented. ++ if e == syscall.ENOSYS { ++ // See ../syscall/exec.go for description of lock. ++ syscall.ForkLock.RLock() ++ e = syscall.Pipe(p[0:]) ++ if e != nil { ++ syscall.ForkLock.RUnlock() ++ return nil, nil, NewSyscallError("pipe", e) ++ } ++ syscall.CloseOnExec(p[0]) ++ syscall.CloseOnExec(p[1]) ++ syscall.ForkLock.RUnlock() ++ } else if e != nil { ++ return nil, nil, NewSyscallError("pipe2", e) ++ } ++ ++ return NewFile(uintptr(p[0]), "|0"), NewFile(uintptr(p[1]), "|1"), nil ++//FIXME: When netpoll_poll.go is implemented ++// return newFile(uintptr(p[0]), "|0", true), newFile(uintptr(p[1]), "|1", true), nil ++} --- gcc-8-8.2.0.orig/debian/patches/src_libgo_go_runtime.diff +++ gcc-8-8.2.0/debian/patches/src_libgo_go_runtime.diff @@ -0,0 +1,1155 @@ +Index: gcc-8-8-20180308-1.1/src/libgo/go/runtime/netpoll_gnu.go +=================================================================== +--- /dev/null ++++ gcc-8-8-20180308-1.1/src/libgo/go/runtime/netpoll_gnu.go +@@ -0,0 +1,303 @@ ++// Copyright 2013 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++// FIXME: Fake network poller for gnu. ++// This is based on the former libgo/runtime/netpoll_select.c implementation ++// except that it uses poll instead of select and is written in Go. ++// Inspiration was also taken from netpoll_aix.go and netpoll_solaris.go ++ ++// +build gnu ++ ++package runtime ++ ++import ( ++ "unsafe" ++) ++ ++//From /usr/include/i386-gnu/bits/poll.h ++const _POLLIN = 01 // There is data to read. ++const _POLLPRI = 02 // There is urgent data to read. ++const _POLLOUT = 04 // Writing now will not block. ++const _POLLERR = 010 // Error condition. ++const _POLLHUP = 020 // Hung up. ++const _POLLNVAL = 040 // Invalid polling request. ++ ++type pollfd struct { ++ fd int32 // File descriptor to poll. ++ events int16 // Types of events poller cares about. ++ revents int16 // Types of events that actually occurred. ++} ++ ++//From /usr/include/x86_64-linux-gnu/sys/poll.h ++//extern poll ++func poll (polldata_array *pollfd, nfds int32, timeout int32) int32 ++ ++//extern pipe2 ++func libc_pipe2(fd *int32, flags int32) int32 ++ ++var ( ++ pipefd [2]int32 ++ pollfds int32 = -1 ++ nfds int32 = 0 ++ rdwake int32 ++ wrwake int32 ++ fds [207]pollfd ++ data [207]*pollDesc ++ pd *pollDesc ++ pmtx mutex ++ needsUpdate bool ++ b byte ++ err int32 = 0 ++) ++ ++func netpollinit() { ++ ++ ret := libc_pipe2(&pipefd[0], _O_CLOEXEC|_O_NONBLOCK); ++ if ret == -1 { ++ throw("runtime:netpollinit(): failed to create pipe2") ++ } ++ ++ rdwake = pipefd[0] ++ wrwake = pipefd[1] ++ ++ // Add the read side of the pipe to the pollset. ++ lock(&pmtx) ++ fds[0].fd = int32(rdwake) ++ fds[0].events = int16(_POLLIN) ++ fds[0].revents = int16(0) ++ ++// Checks for pd != nil are made in netpoll() ++ data[0] = nil ++ unlock(&pmtx) ++ ++ nfds = 1 ++ pollfds = 1 ++ ++ return ++} ++ ++func netpolldescriptor() uintptr { ++ // FIXME: see src/libgo/go/os/exec/exec_test.go ++ // Need to return two fds here: wrwake and rdwake ++ return ^uintptr(0) ++} ++ ++func fdadd(fd uintptr, events int16, pd *pollDesc) { ++// println("netpollopen:fdadd: nfds =", nfds, "fd =", fd) ++ ++ fdfound := false ++ // Omit fds[0].fd = rdwake ++ for i := int32(1); i < nfds; i++ { ++ fdsi := fds[i] ++ if fdsi.fd == int32(fd) { ++ fdfound = true ++ fdsi.events = int16(events) ++ fdsi.revents = int16(0) ++ data[i] = pd ++ break ++ } ++ } ++ // fd not found, add it. ++ if fdfound == false { ++ fds[nfds].fd = int32(fd) ++ fds[nfds].events = int16(events) ++ fds[nfds].revents = int16(0) ++ data[nfds] = pd ++ nfds++ ++ } ++ ++// for l := int32(0); l < nfds; l++ { ++// println("fds[", l, "].fd =", fds[l].fd) ++// } ++ ++ return ++} ++ ++func netpollopen(fd uintptr, pd *pollDesc) int32 { ++ lock(&pmtx) ++ needsUpdate = true ++ unlock(&pmtx) ++ ++ // poll will block so wakeup using wrwake first. ++wrloop1: ++ nwritten := write(uintptr(wrwake), unsafe.Pointer(&b), 1) ++ if nwritten == 0 { ++ println("runtime:netpollopen: write retuned zero, fd =", wrwake) ++ return -1 ++ } ++ if nwritten == -1 { ++ err = int32(errno()) ++ if err == _EAGAIN { ++ goto wrloop1 ++ } ++ println("runtime:netpollopen: write failed fd =", wrwake, "errno =", err) ++ return err ++ } ++ ++ // Add fd to the pollset. ++ lock(&pmtx) ++ fdadd(fd, _POLLIN|_POLLOUT, pd) ++ needsUpdate = false ++ unlock(&pmtx) ++ ++ return 0 ++} ++ ++func fdremove(fd uintptr) { ++// println("netpollclose():fdremove() nfds =", nfds, "fd =", fd) ++ ++ fdfound := false ++ // Omit fds[0].fd = rdwake ++ j := 1 ++ for i := int32(1); i < nfds; i++ { ++ fdsi := fds[i] ++ if fdsi.fd == int32(fd) { ++ fdfound = true ++ fdsi.fd = int32(0) ++ fdsi.events = int16(0) ++ fdsi.revents = int16(0) ++ data[i] = nil ++ } else { ++ fds[j].fd = fdsi.fd ++ fds[j].events = fdsi.events ++ fds[j].revents = int16(0) ++ data[j] = data[i] ++ j++ ++ } ++ } ++ nfds-- ++ // fd not found, print an error ++ //FIXME: Still output from here ++ if fdfound == false { ++ println("netpollclose:fdremove: fd =", fd, "NOT FOUND") ++ } ++ ++// for l := int32(0); l < nfds; l++ { ++// println("fds[", l, "].fd =", fds[l].fd) ++// } ++ ++ return ++} ++ ++func netpollclose(fd uintptr) int32 { ++ lock(&pmtx) ++ needsUpdate = true ++ unlock(&pmtx) ++ ++ // poll will block so wakeup using wrwake first. ++wrloop2: ++ nwritten := write(uintptr(wrwake), unsafe.Pointer(&b), 1) ++ if nwritten == 0 { ++ println("runtime:netpollclose: write retuned zero, fd =", wrwake) ++ return -1 ++ } ++ if nwritten == -1 { ++ err = int32(errno()) ++ if err == _EAGAIN { ++ goto wrloop2 ++ } ++ println("runtime:netpollclose: write failed fd =", wrwake, "errno =", err) ++ return err ++ } ++ ++ // Remove fd from the pollset. ++ lock(&pmtx) ++ fdremove(fd) ++ needsUpdate = false ++ unlock(&pmtx) ++ ++ return 0 ++} ++ ++func netpollarm(pd *pollDesc, mode int) { ++ throw("runtime:netpollarm() unused") ++} ++ ++// polls for ready network connections ++// returns list of goroutines that become runnable ++func netpoll(block bool) *g { ++ if pollfds == -1 { ++ return nil ++ } ++ ++ timeout := int32(-1) ++ if !block { ++ timeout = 0 ++ } ++ ++retry: ++ lock(&pmtx) ++ if needsUpdate { ++ unlock(&pmtx) ++ osyield() ++ goto retry ++ } ++ unlock(&pmtx) ++ ++ // Note: poll only returns fds with non-zero revents! ++ nfound := poll(&fds[0], nfds, timeout) ++ if nfound == 0 { ++ return nil ++ } ++ if nfound < 0 { ++ err = int32(errno()) ++ if err == _EINTR || err == _EAGAIN { ++ goto retry ++ } ++ println("runtime: poll failed errno =", err) ++ throw("runtime: netpoll failed") ++ } ++ ++ var mode int32 ++ var gp guintptr ++ // We assume that nfound <= nfds ++ for i := int32(0); i < nfds; i++ { ++ fdsi := &fds[i] ++ ++ // Skip fds with zero revents as poll does ++ if fdsi.revents == 0 { ++ continue ++ } ++ ++ mode = 0 ++ if fdsi.revents&(_POLLIN|_POLLHUP|_POLLERR) != 0 { ++ if fdsi.fd == rdwake { ++rdloop: ++ nread := read(fdsi.fd, unsafe.Pointer(&b), 1) ++ // EOF ++ if nread == 0 { ++ println("runtime:netpoll: read returned zero fd =", fdsi.fd) ++ return nil ++ } ++ if nread == -1 { ++ err = int32(errno()) ++ if err == _EAGAIN { ++ goto rdloop ++ } ++ println("runtime:netpoll: read failed fd =", fdsi.fd, "errno =", err) ++ return nil ++ } ++ continue ++ } ++ mode += 'r' ++ } ++ if fdsi.revents&(_POLLOUT|_POLLHUP|_POLLERR) != 0 { ++ mode += 'w' ++ } ++ if mode != 0 { ++ lock(&pmtx) ++ pd = data[i] ++ unlock(&pmtx) ++ if pd != nil { ++ netpollready(&gp, pd, mode) ++ } ++ } ++ } ++ ++ if block && gp == 0 { ++ goto retry ++ } ++ ++ return gp.ptr() ++} +Index: gcc-8-8-20180308-1.1/src/libgo/go/runtime/os_gnu.go +=================================================================== +--- /dev/null ++++ gcc-8-8-20180308-1.1/src/libgo/go/runtime/os_gnu.go +@@ -0,0 +1,87 @@ ++// Copyright 2011 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++// This file is derived from os_solaris.go ++ ++package runtime ++ ++import "unsafe" ++ ++type mOS struct { ++ waitsema uintptr // semaphore for parking on locks ++} ++ ++//extern malloc ++func libc_malloc(uintptr) unsafe.Pointer ++ ++//go:noescape ++//extern sem_init ++func sem_init(sem *_sem_t, pshared int32, value uint32) int32 ++ ++//go:noescape ++//extern sem_wait ++func sem_wait(sem *_sem_t) int32 ++ ++//go:noescape ++//extern sem_post ++func sem_post(sem *_sem_t) int32 ++ ++//go:noescape ++//extern sem_timedwait ++func sem_timedwait(sem *_sem_t, timeout *timespec) int32 ++ ++//go:nosplit ++func semacreate(mp *m) { ++ if mp.mos.waitsema != 0 { ++ return ++ } ++ ++ var sem *_sem_t ++ ++ // Call libc's malloc rather than malloc. This will ++ // allocate space on the C heap. We can't call malloc ++ // here because it could cause a deadlock. ++ sem = (*_sem_t)(libc_malloc(unsafe.Sizeof(*sem))) ++ if sem_init(sem, 0, 0) != 0 { ++ throw("sem_init") ++ } ++ mp.mos.waitsema = uintptr(unsafe.Pointer(sem)) ++} ++ ++//go:nosplit ++func semasleep(ns int64) int32 { ++ _m_ := getg().m ++ if ns >= 0 { ++ var ts timespec ++ ts.set_sec(ns / 1000000000) ++ ts.set_nsec(int32(ns % 1000000000)) ++ ++ if sem_timedwait((*_sem_t)(unsafe.Pointer(_m_.mos.waitsema)), &ts) != 0 { ++ err := errno() ++ if err == _ETIMEDOUT || err == _EAGAIN || err == _EINTR { ++ return -1 ++ } ++ throw("sem_timedwait") ++ } ++ return 0 ++ } ++ for { ++ r1 := sem_wait((*_sem_t)(unsafe.Pointer(_m_.mos.waitsema))) ++ if r1 == 0 { ++ break ++ } ++ if errno() == _EINTR { ++ continue ++ } ++ throw("sem_wait") ++ } ++ return 0 ++} ++ ++//go:nosplit ++func semawakeup(mp *m) { ++ if sem_post((*_sem_t)(unsafe.Pointer(mp.mos.waitsema))) != 0 { ++ throw("sem_post") ++ } ++} ++ +Index: gcc-8-8-20180308-1.1/src/libgo/go/runtime/signal_gnu.go +=================================================================== +--- /dev/null ++++ gcc-8-8-20180308-1.1/src/libgo/go/runtime/signal_gnu.go +@@ -0,0 +1,750 @@ ++// Copyright 2012 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++// This file is identical to signal_unix.go except for ++// dieFromSignal(_SIGIOT) instead of dieFromSignal(_SIGABRT) ++ ++ ++// +build gnu ++ ++package runtime ++ ++import ( ++ "runtime/internal/atomic" ++ "unsafe" ++) ++ ++// For gccgo's C code to call: ++//go:linkname initsig runtime.initsig ++//go:linkname sigtrampgo runtime.sigtrampgo ++ ++// sigTabT is the type of an entry in the global sigtable array. ++// sigtable is inherently system dependent, and appears in OS-specific files, ++// but sigTabT is the same for all Unixy systems. ++// The sigtable array is indexed by a system signal number to get the flags ++// and printable name of each signal. ++type sigTabT struct { ++ flags int32 ++ name string ++} ++ ++//go:linkname os_sigpipe os.sigpipe ++func os_sigpipe() { ++ systemstack(sigpipe) ++} ++ ++func signame(sig uint32) string { ++ if sig >= uint32(len(sigtable)) { ++ return "" ++ } ++ return sigtable[sig].name ++} ++ ++const ( ++ _SIG_DFL uintptr = 0 ++ _SIG_IGN uintptr = 1 ++) ++ ++// Stores the signal handlers registered before Go installed its own. ++// These signal handlers will be invoked in cases where Go doesn't want to ++// handle a particular signal (e.g., signal occurred on a non-Go thread). ++// See sigfwdgo for more information on when the signals are forwarded. ++// ++// This is read by the signal handler; accesses should use ++// atomic.Loaduintptr and atomic.Storeuintptr. ++var fwdSig [_NSIG]uintptr ++ ++// handlingSig is indexed by signal number and is non-zero if we are ++// currently handling the signal. Or, to put it another way, whether ++// the signal handler is currently set to the Go signal handler or not. ++// This is uint32 rather than bool so that we can use atomic instructions. ++var handlingSig [_NSIG]uint32 ++ ++// channels for synchronizing signal mask updates with the signal mask ++// thread ++var ( ++ disableSigChan chan uint32 ++ enableSigChan chan uint32 ++ maskUpdatedChan chan struct{} ++) ++ ++func init() { ++ // _NSIG is the number of signals on this operating system. ++ // sigtable should describe what to do for all the possible signals. ++ if len(sigtable) != _NSIG { ++ print("runtime: len(sigtable)=", len(sigtable), " _NSIG=", _NSIG, "\n") ++ throw("bad sigtable len") ++ } ++} ++ ++var signalsOK bool ++ ++// Initialize signals. ++// Called by libpreinit so runtime may not be initialized. ++//go:nosplit ++//go:nowritebarrierrec ++func initsig(preinit bool) { ++ if preinit { ++ // preinit is only passed as true if isarchive should be true. ++ isarchive = true ++ } ++ ++ if !preinit { ++ // It's now OK for signal handlers to run. ++ signalsOK = true ++ } ++ ++ // For c-archive/c-shared this is called by libpreinit with ++ // preinit == true. ++ if (isarchive || islibrary) && !preinit { ++ return ++ } ++ ++ for i := uint32(0); i < _NSIG; i++ { ++ t := &sigtable[i] ++ if t.flags == 0 || t.flags&_SigDefault != 0 { ++ continue ++ } ++ ++ // We don't need to use atomic operations here because ++ // there shouldn't be any other goroutines running yet. ++ fwdSig[i] = getsig(i) ++ ++ if !sigInstallGoHandler(i) { ++ // Even if we are not installing a signal handler, ++ // set SA_ONSTACK if necessary. ++ if fwdSig[i] != _SIG_DFL && fwdSig[i] != _SIG_IGN { ++ setsigstack(i) ++ } ++ continue ++ } ++ ++ handlingSig[i] = 1 ++ setsig(i, getSigtramp()) ++ } ++} ++ ++//go:nosplit ++//go:nowritebarrierrec ++func sigInstallGoHandler(sig uint32) bool { ++ // For some signals, we respect an inherited SIG_IGN handler ++ // rather than insist on installing our own default handler. ++ // Even these signals can be fetched using the os/signal package. ++ switch sig { ++ case _SIGHUP, _SIGINT: ++ if atomic.Loaduintptr(&fwdSig[sig]) == _SIG_IGN { ++ return false ++ } ++ } ++ ++ t := &sigtable[sig] ++ if t.flags&_SigSetStack != 0 { ++ return false ++ } ++ ++ // When built using c-archive or c-shared, only install signal ++ // handlers for synchronous signals and SIGPIPE. ++ if (isarchive || islibrary) && t.flags&_SigPanic == 0 && sig != _SIGPIPE { ++ return false ++ } ++ ++ return true ++} ++ ++// sigenable enables the Go signal handler to catch the signal sig. ++// It is only called while holding the os/signal.handlers lock, ++// via os/signal.enableSignal and signal_enable. ++func sigenable(sig uint32) { ++ if sig >= uint32(len(sigtable)) { ++ return ++ } ++ ++ // SIGPROF is handled specially for profiling. ++ if sig == _SIGPROF { ++ return ++ } ++ ++ t := &sigtable[sig] ++ if t.flags&_SigNotify != 0 { ++ ensureSigM() ++ enableSigChan <- sig ++ <-maskUpdatedChan ++ if atomic.Cas(&handlingSig[sig], 0, 1) { ++ atomic.Storeuintptr(&fwdSig[sig], getsig(sig)) ++ setsig(sig, getSigtramp()) ++ } ++ } ++} ++ ++// sigdisable disables the Go signal handler for the signal sig. ++// It is only called while holding the os/signal.handlers lock, ++// via os/signal.disableSignal and signal_disable. ++func sigdisable(sig uint32) { ++ if sig >= uint32(len(sigtable)) { ++ return ++ } ++ ++ // SIGPROF is handled specially for profiling. ++ if sig == _SIGPROF { ++ return ++ } ++ ++ t := &sigtable[sig] ++ if t.flags&_SigNotify != 0 { ++ ensureSigM() ++ disableSigChan <- sig ++ <-maskUpdatedChan ++ ++ // If initsig does not install a signal handler for a ++ // signal, then to go back to the state before Notify ++ // we should remove the one we installed. ++ if !sigInstallGoHandler(sig) { ++ atomic.Store(&handlingSig[sig], 0) ++ setsig(sig, atomic.Loaduintptr(&fwdSig[sig])) ++ } ++ } ++} ++ ++// sigignore ignores the signal sig. ++// It is only called while holding the os/signal.handlers lock, ++// via os/signal.ignoreSignal and signal_ignore. ++func sigignore(sig uint32) { ++ if sig >= uint32(len(sigtable)) { ++ return ++ } ++ ++ // SIGPROF is handled specially for profiling. ++ if sig == _SIGPROF { ++ return ++ } ++ ++ t := &sigtable[sig] ++ if t.flags&_SigNotify != 0 { ++ atomic.Store(&handlingSig[sig], 0) ++ setsig(sig, _SIG_IGN) ++ } ++} ++ ++// clearSignalHandlers clears all signal handlers that are not ignored ++// back to the default. This is called by the child after a fork, so that ++// we can enable the signal mask for the exec without worrying about ++// running a signal handler in the child. ++//go:nosplit ++//go:nowritebarrierrec ++func clearSignalHandlers() { ++ for i := uint32(0); i < _NSIG; i++ { ++ if atomic.Load(&handlingSig[i]) != 0 { ++ setsig(i, _SIG_DFL) ++ } ++ } ++} ++ ++// setProcessCPUProfiler is called when the profiling timer changes. ++// It is called with prof.lock held. hz is the new timer, and is 0 if ++// profiling is being disabled. Enable or disable the signal as ++// required for -buildmode=c-archive. ++func setProcessCPUProfiler(hz int32) { ++ if hz != 0 { ++ // Enable the Go signal handler if not enabled. ++ if atomic.Cas(&handlingSig[_SIGPROF], 0, 1) { ++ atomic.Storeuintptr(&fwdSig[_SIGPROF], getsig(_SIGPROF)) ++ setsig(_SIGPROF, getSigtramp()) ++ } ++ } else { ++ // If the Go signal handler should be disabled by default, ++ // disable it if it is enabled. ++ if !sigInstallGoHandler(_SIGPROF) { ++ if atomic.Cas(&handlingSig[_SIGPROF], 1, 0) { ++ setsig(_SIGPROF, atomic.Loaduintptr(&fwdSig[_SIGPROF])) ++ } ++ } ++ } ++} ++ ++// setThreadCPUProfiler makes any thread-specific changes required to ++// implement profiling at a rate of hz. ++func setThreadCPUProfiler(hz int32) { ++ var it _itimerval ++ if hz == 0 { ++ setitimer(_ITIMER_PROF, &it, nil) ++ } else { ++ it.it_interval.tv_sec = 0 ++ it.it_interval.set_usec(1000000 / hz) ++ it.it_value = it.it_interval ++ setitimer(_ITIMER_PROF, &it, nil) ++ } ++ _g_ := getg() ++ _g_.m.profilehz = hz ++} ++ ++func sigpipe() { ++ if sigsend(_SIGPIPE) { ++ return ++ } ++ dieFromSignal(_SIGPIPE) ++} ++ ++// sigtrampgo is called from the signal handler function, sigtramp, ++// written in assembly code. ++// This is called by the signal handler, and the world may be stopped. ++// ++// It must be nosplit because getg() is still the G that was running ++// (if any) when the signal was delivered, but it's (usually) called ++// on the gsignal stack. Until this switches the G to gsignal, the ++// stack bounds check won't work. ++// ++//go:nosplit ++//go:nowritebarrierrec ++func sigtrampgo(sig uint32, info *_siginfo_t, ctx unsafe.Pointer) { ++ if sigfwdgo(sig, info, ctx) { ++ return ++ } ++ g := getg() ++ if g == nil { ++ c := sigctxt{info, ctx} ++ if sig == _SIGPROF { ++ _, pc := getSiginfo(info, ctx) ++ sigprofNonGo(pc) ++ return ++ } ++ badsignal(uintptr(sig), &c) ++ return ++ } ++ ++ setg(g.m.gsignal) ++ sighandler(sig, info, ctx, g) ++ setg(g) ++} ++ ++// sigpanic turns a synchronous signal into a run-time panic. ++// If the signal handler sees a synchronous panic, it arranges the ++// stack to look like the function where the signal occurred called ++// sigpanic, sets the signal's PC value to sigpanic, and returns from ++// the signal handler. The effect is that the program will act as ++// though the function that got the signal simply called sigpanic ++// instead. ++// ++// This must NOT be nosplit because the linker doesn't know where ++// sigpanic calls can be injected. ++// ++// The signal handler must not inject a call to sigpanic if ++// getg().throwsplit, since sigpanic may need to grow the stack. ++func sigpanic() { ++ g := getg() ++ if !canpanic(g) { ++ throw("unexpected signal during runtime execution") ++ } ++ ++ switch g.sig { ++ case _SIGBUS: ++ if g.sigcode0 == _BUS_ADRERR && g.sigcode1 < 0x1000 { ++ panicmem() ++ } ++ // Support runtime/debug.SetPanicOnFault. ++ if g.paniconfault { ++ panicmem() ++ } ++ print("unexpected fault address ", hex(g.sigcode1), "\n") ++ throw("fault") ++ case _SIGSEGV: ++ if (g.sigcode0 == 0 || g.sigcode0 == _SEGV_MAPERR || g.sigcode0 == _SEGV_ACCERR) && g.sigcode1 < 0x1000 { ++ panicmem() ++ } ++ // Support runtime/debug.SetPanicOnFault. ++ if g.paniconfault { ++ panicmem() ++ } ++ print("unexpected fault address ", hex(g.sigcode1), "\n") ++ throw("fault") ++ case _SIGFPE: ++ switch g.sigcode0 { ++ case _FPE_INTDIV: ++ panicdivide() ++ case _FPE_INTOVF: ++ panicoverflow() ++ } ++ panicfloat() ++ } ++ ++ if g.sig >= uint32(len(sigtable)) { ++ // can't happen: we looked up g.sig in sigtable to decide to call sigpanic ++ throw("unexpected signal value") ++ } ++ panic(errorString(sigtable[g.sig].name)) ++} ++ ++// dieFromSignal kills the program with a signal. ++// This provides the expected exit status for the shell. ++// This is only called with fatal signals expected to kill the process. ++//go:nosplit ++//go:nowritebarrierrec ++func dieFromSignal(sig uint32) { ++ unblocksig(sig) ++ // Mark the signal as unhandled to ensure it is forwarded. ++ atomic.Store(&handlingSig[sig], 0) ++ raise(sig) ++ ++ // That should have killed us. On some systems, though, raise ++ // sends the signal to the whole process rather than to just ++ // the current thread, which means that the signal may not yet ++ // have been delivered. Give other threads a chance to run and ++ // pick up the signal. ++ osyield() ++ osyield() ++ osyield() ++ ++ // If that didn't work, try _SIG_DFL. ++ setsig(sig, _SIG_DFL) ++ raise(sig) ++ ++ osyield() ++ osyield() ++ osyield() ++ ++ // On Darwin we may still fail to die, because raise sends the ++ // signal to the whole process rather than just the current thread, ++ // and osyield just sleeps briefly rather than letting all other ++ // threads run. See issue 20315. Sleep longer. ++ if GOOS == "darwin" { ++ usleep(100) ++ } ++ ++ // If we are still somehow running, just exit with the wrong status. ++ exit(2) ++} ++ ++// raisebadsignal is called when a signal is received on a non-Go ++// thread, and the Go program does not want to handle it (that is, the ++// program has not called os/signal.Notify for the signal). ++func raisebadsignal(sig uint32, c *sigctxt) { ++ if sig == _SIGPROF { ++ // Ignore profiling signals that arrive on non-Go threads. ++ return ++ } ++ ++ var handler uintptr ++ if sig >= _NSIG { ++ handler = _SIG_DFL ++ } else { ++ handler = atomic.Loaduintptr(&fwdSig[sig]) ++ } ++ ++ // Reset the signal handler and raise the signal. ++ // We are currently running inside a signal handler, so the ++ // signal is blocked. We need to unblock it before raising the ++ // signal, or the signal we raise will be ignored until we return ++ // from the signal handler. We know that the signal was unblocked ++ // before entering the handler, or else we would not have received ++ // it. That means that we don't have to worry about blocking it ++ // again. ++ unblocksig(sig) ++ setsig(sig, handler) ++ ++ // If we're linked into a non-Go program we want to try to ++ // avoid modifying the original context in which the signal ++ // was raised. If the handler is the default, we know it ++ // is non-recoverable, so we don't have to worry about ++ // re-installing sighandler. At this point we can just ++ // return and the signal will be re-raised and caught by ++ // the default handler with the correct context. ++ if (isarchive || islibrary) && handler == _SIG_DFL && c.sigcode() != _SI_USER { ++ return ++ } ++ ++ raise(sig) ++ ++ // Give the signal a chance to be delivered. ++ // In almost all real cases the program is about to crash, ++ // so sleeping here is not a waste of time. ++ usleep(1000) ++ ++ // If the signal didn't cause the program to exit, restore the ++ // Go signal handler and carry on. ++ // ++ // We may receive another instance of the signal before we ++ // restore the Go handler, but that is not so bad: we know ++ // that the Go program has been ignoring the signal. ++ setsig(sig, getSigtramp()) ++} ++ ++func crash() { ++ if GOOS == "darwin" { ++ // OS X core dumps are linear dumps of the mapped memory, ++ // from the first virtual byte to the last, with zeros in the gaps. ++ // Because of the way we arrange the address space on 64-bit systems, ++ // this means the OS X core file will be >128 GB and even on a zippy ++ // workstation can take OS X well over an hour to write (uninterruptible). ++ // Save users from making that mistake. ++ if GOARCH == "amd64" { ++ return ++ } ++ } ++ ++ dieFromSignal(_SIGIOT) ++} ++ ++// ensureSigM starts one global, sleeping thread to make sure at least one thread ++// is available to catch signals enabled for os/signal. ++func ensureSigM() { ++ if maskUpdatedChan != nil { ++ return ++ } ++ maskUpdatedChan = make(chan struct{}) ++ disableSigChan = make(chan uint32) ++ enableSigChan = make(chan uint32) ++ go func() { ++ // Signal masks are per-thread, so make sure this goroutine stays on one ++ // thread. ++ LockOSThread() ++ defer UnlockOSThread() ++ // The sigBlocked mask contains the signals not active for os/signal, ++ // initially all signals except the essential. When signal.Notify()/Stop is called, ++ // sigenable/sigdisable in turn notify this thread to update its signal ++ // mask accordingly. ++ var sigBlocked sigset ++ sigfillset(&sigBlocked) ++ for i := range sigtable { ++ if !blockableSig(uint32(i)) { ++ sigdelset(&sigBlocked, i) ++ } ++ } ++ sigprocmask(_SIG_SETMASK, &sigBlocked, nil) ++ for { ++ select { ++ case sig := <-enableSigChan: ++ if sig > 0 { ++ sigdelset(&sigBlocked, int(sig)) ++ } ++ case sig := <-disableSigChan: ++ if sig > 0 && blockableSig(sig) { ++ sigaddset(&sigBlocked, int(sig)) ++ } ++ } ++ sigprocmask(_SIG_SETMASK, &sigBlocked, nil) ++ maskUpdatedChan <- struct{}{} ++ } ++ }() ++} ++ ++// This is called when we receive a signal when there is no signal stack. ++// This can only happen if non-Go code calls sigaltstack to disable the ++// signal stack. ++func noSignalStack(sig uint32) { ++ println("signal", sig, "received on thread with no signal stack") ++ throw("non-Go code disabled sigaltstack") ++} ++ ++// This is called if we receive a signal when there is a signal stack ++// but we are not on it. This can only happen if non-Go code called ++// sigaction without setting the SS_ONSTACK flag. ++func sigNotOnStack(sig uint32) { ++ println("signal", sig, "received but handler not on signal stack") ++ throw("non-Go code set up signal handler without SA_ONSTACK flag") ++} ++ ++// signalDuringFork is called if we receive a signal while doing a fork. ++// We do not want signals at that time, as a signal sent to the process ++// group may be delivered to the child process, causing confusion. ++// This should never be called, because we block signals across the fork; ++// this function is just a safety check. See issue 18600 for background. ++func signalDuringFork(sig uint32) { ++ println("signal", sig, "received during fork") ++ throw("signal received during fork") ++} ++ ++// This runs on a foreign stack, without an m or a g. No stack split. ++//go:nosplit ++//go:norace ++//go:nowritebarrierrec ++func badsignal(sig uintptr, c *sigctxt) { ++ needm(0) ++ if !sigsend(uint32(sig)) { ++ // A foreign thread received the signal sig, and the ++ // Go code does not want to handle it. ++ raisebadsignal(uint32(sig), c) ++ } ++ dropm() ++} ++ ++// Determines if the signal should be handled by Go and if not, forwards the ++// signal to the handler that was installed before Go's. Returns whether the ++// signal was forwarded. ++// This is called by the signal handler, and the world may be stopped. ++//go:nosplit ++//go:nowritebarrierrec ++func sigfwdgo(sig uint32, info *_siginfo_t, ctx unsafe.Pointer) bool { ++ if sig >= uint32(len(sigtable)) { ++ return false ++ } ++ fwdFn := atomic.Loaduintptr(&fwdSig[sig]) ++ flags := sigtable[sig].flags ++ ++ // If we aren't handling the signal, forward it. ++ if atomic.Load(&handlingSig[sig]) == 0 || !signalsOK { ++ // If the signal is ignored, doing nothing is the same as forwarding. ++ if fwdFn == _SIG_IGN || (fwdFn == _SIG_DFL && flags&_SigIgn != 0) { ++ return true ++ } ++ // We are not handling the signal and there is no other handler to forward to. ++ // Crash with the default behavior. ++ if fwdFn == _SIG_DFL { ++ setsig(sig, _SIG_DFL) ++ dieFromSignal(sig) ++ return false ++ } ++ ++ sigfwd(fwdFn, sig, info, ctx) ++ return true ++ } ++ ++ // If there is no handler to forward to, no need to forward. ++ if fwdFn == _SIG_DFL { ++ return false ++ } ++ ++ c := sigctxt{info, ctx} ++ // Only forward synchronous signals and SIGPIPE. ++ // Unfortunately, user generated SIGPIPEs will also be forwarded, because si_code ++ // is set to _SI_USER even for a SIGPIPE raised from a write to a closed socket ++ // or pipe. ++ if (c.sigcode() == _SI_USER || flags&_SigPanic == 0) && sig != _SIGPIPE { ++ return false ++ } ++ // Determine if the signal occurred inside Go code. We test that: ++ // (1) we were in a goroutine (i.e., m.curg != nil), and ++ // (2) we weren't in CGO. ++ g := getg() ++ if g != nil && g.m != nil && g.m.curg != nil && !g.m.incgo { ++ return false ++ } ++ ++ // Signal not handled by Go, forward it. ++ if fwdFn != _SIG_IGN { ++ sigfwd(fwdFn, sig, info, ctx) ++ } ++ ++ return true ++} ++ ++// msigsave saves the current thread's signal mask into mp.sigmask. ++// This is used to preserve the non-Go signal mask when a non-Go ++// thread calls a Go function. ++// This is nosplit and nowritebarrierrec because it is called by needm ++// which may be called on a non-Go thread with no g available. ++//go:nosplit ++//go:nowritebarrierrec ++func msigsave(mp *m) { ++ sigprocmask(_SIG_SETMASK, nil, &mp.sigmask) ++} ++ ++// msigrestore sets the current thread's signal mask to sigmask. ++// This is used to restore the non-Go signal mask when a non-Go thread ++// calls a Go function. ++// This is nosplit and nowritebarrierrec because it is called by dropm ++// after g has been cleared. ++//go:nosplit ++//go:nowritebarrierrec ++func msigrestore(sigmask sigset) { ++ sigprocmask(_SIG_SETMASK, &sigmask, nil) ++} ++ ++// sigblock blocks all signals in the current thread's signal mask. ++// This is used to block signals while setting up and tearing down g ++// when a non-Go thread calls a Go function. ++// The OS-specific code is expected to define sigset_all. ++// This is nosplit and nowritebarrierrec because it is called by needm ++// which may be called on a non-Go thread with no g available. ++//go:nosplit ++//go:nowritebarrierrec ++func sigblock() { ++ var set sigset ++ sigfillset(&set) ++ sigprocmask(_SIG_SETMASK, &set, nil) ++} ++ ++// unblocksig removes sig from the current thread's signal mask. ++// This is nosplit and nowritebarrierrec because it is called from ++// dieFromSignal, which can be called by sigfwdgo while running in the ++// signal handler, on the signal stack, with no g available. ++//go:nosplit ++//go:nowritebarrierrec ++func unblocksig(sig uint32) { ++ var set sigset ++ sigemptyset(&set) ++ sigaddset(&set, int(sig)) ++ sigprocmask(_SIG_UNBLOCK, &set, nil) ++} ++ ++// minitSignals is called when initializing a new m to set the ++// thread's alternate signal stack and signal mask. ++func minitSignals() { ++ minitSignalStack() ++ minitSignalMask() ++} ++ ++// minitSignalStack is called when initializing a new m to set the ++// alternate signal stack. If the alternate signal stack is not set ++// for the thread (the normal case) then set the alternate signal ++// stack to the gsignal stack. If the alternate signal stack is set ++// for the thread (the case when a non-Go thread sets the alternate ++// signal stack and then calls a Go function) then set the gsignal ++// stack to the alternate signal stack. Record which choice was made ++// in newSigstack, so that it can be undone in unminit. ++func minitSignalStack() { ++ _g_ := getg() ++ var st _stack_t ++ sigaltstack(nil, &st) ++ if st.ss_flags&_SS_DISABLE != 0 { ++ signalstack(_g_.m.gsignalstack, _g_.m.gsignalstacksize) ++ _g_.m.newSigstack = true ++ } else { ++ _g_.m.newSigstack = false ++ } ++} ++ ++// minitSignalMask is called when initializing a new m to set the ++// thread's signal mask. When this is called all signals have been ++// blocked for the thread. This starts with m.sigmask, which was set ++// either from initSigmask for a newly created thread or by calling ++// msigsave if this is a non-Go thread calling a Go function. It ++// removes all essential signals from the mask, thus causing those ++// signals to not be blocked. Then it sets the thread's signal mask. ++// After this is called the thread can receive signals. ++func minitSignalMask() { ++ nmask := getg().m.sigmask ++ for i := range sigtable { ++ if !blockableSig(uint32(i)) { ++ sigdelset(&nmask, i) ++ } ++ } ++ sigprocmask(_SIG_SETMASK, &nmask, nil) ++} ++ ++// unminitSignals is called from dropm, via unminit, to undo the ++// effect of calling minit on a non-Go thread. ++//go:nosplit ++//go:nowritebarrierrec ++func unminitSignals() { ++ if getg().m.newSigstack { ++ signalstack(nil, 0) ++ } ++} ++ ++// blockableSig returns whether sig may be blocked by the signal mask. ++// We never want to block the signals marked _SigUnblock; ++// these are the synchronous signals that turn into a Go panic. ++// In a Go program--not a c-archive/c-shared--we never want to block ++// the signals marked _SigKill or _SigThrow, as otherwise it's possible ++// for all running threads to block them and delay their delivery until ++// we start a new thread. When linked into a C program we let the C code ++// decide on the disposition of those signals. ++func blockableSig(sig uint32) bool { ++ flags := sigtable[sig].flags ++ if flags&_SigUnblock != 0 { ++ return false ++ } ++ if isarchive || islibrary { ++ return true ++ } ++ return flags&(_SigKill|_SigThrow) == 0 ++} --- gcc-8-8.2.0.orig/debian/patches/src_libgo_go_syscall.diff +++ gcc-8-8.2.0/debian/patches/src_libgo_go_syscall.diff @@ -0,0 +1,785 @@ +Index: gcc-8-8-20180218/src/libgo/go/syscall/errstr_gnu.go +=================================================================== +--- /dev/null ++++ gcc-8-8-20180218/src/libgo/go/syscall/errstr_gnu.go +@@ -0,0 +1,32 @@ ++// errstr_gnu.go -- GNU/Hurd specific error strings. ++ ++// Copyright 2010 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++// We use this rather than errstr.go because on GNU/Linux sterror_r ++// returns a pointer to the error message, and may not use buf at all. ++// This file is derived from errstr_linux.go ++ ++package syscall ++ ++import "unsafe" ++ ++//sysnb strerror_r(errnum int, b []byte) (errstr *byte) ++//strerror_r(errnum _C_int, b *byte, len Size_t) *byte ++ ++func Errstr(errnum int) string { ++ a := make([]byte, 128) ++ p := strerror_r(errnum, a) ++ b := (*[1000]byte)(unsafe.Pointer(p)) ++ i := 0 ++ for b[i] != 0 { ++ i++ ++ } ++ // Lowercase first letter: Bad -> bad, but STREAM -> STREAM. ++ if i > 1 && 'A' <= b[0] && b[0] <= 'Z' && 'a' <= b[1] && b[1] <= 'z' { ++ c := b[0] + 'a' - 'A' ++ return string(c) + string(b[1:i]) ++ } ++ return string(b[:i]) ++} +Index: gcc-8-8-20180218/src/libgo/go/syscall/libcall_gnu_386.go +=================================================================== +--- /dev/null ++++ gcc-8-8-20180218/src/libgo/go/syscall/libcall_gnu_386.go +@@ -0,0 +1,10 @@ ++// Copyright 2012 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++// GNU/Hurd library calls 386 specific. ++ ++package syscall ++ ++//sys Ioperm(from int, num int, on int) (err error) ++//ioperm(from _C_long, num _C_long, on _C_int) _C_int +Index: gcc-8-8-20180218/src/libgo/go/syscall/libcall_gnu.go +=================================================================== +--- /dev/null ++++ gcc-8-8-20180218/src/libgo/go/syscall/libcall_gnu.go +@@ -0,0 +1,184 @@ ++// Copyright 2014 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++// GNU/Hurd library calls. ++// This file is derived from libcall_linux.go ++// Dummy function: raw_ptrace ++// Removed functions: {P,p}trace*, Reboot, Gettid, Splice, Tgkill, Unlinkat, Unmount, Unshare ++ ++package syscall ++ ++import "unsafe" ++ ++//sys Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error) ++//__go_openat(dirfd _C_int, path *byte, flags _C_int, mode Mode_t) _C_int ++ ++//sys futimesat(dirfd int, path *byte, times *[2]Timeval) (err error) ++//futimesat(dirfd _C_int, path *byte, times *[2]Timeval) _C_int ++func Futimesat(dirfd int, path string, tv []Timeval) (err error) { ++ if len(tv) != 2 { ++ return EINVAL ++ } ++ return futimesat(dirfd, StringBytePtr(path), (*[2]Timeval)(unsafe.Pointer(&tv[0]))) ++} ++ ++func Futimes(fd int, tv []Timeval) (err error) { ++ // Believe it or not, this is the best we can do on GNU/Linux ++ // (and is what glibc does). ++ return Utimes("/proc/self/fd/"+itoa(fd), tv) ++} ++ ++//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error) ++//ptrace(request _C_int, pid Pid_t, addr *byte, data *byte) _C_long ++ ++// Dummy function ++func raw_ptrace(request int, pid int, addr *byte, data *byte) Errno { ++ return ENOSYS ++} ++ ++//sys accept4(fd int, sa *RawSockaddrAny, len *Socklen_t, flags int) (nfd int, err error) ++//accept4(fd _C_int, sa *RawSockaddrAny, len *Socklen_t, flags _C_int) _C_int ++ ++func Accept4(fd int, flags int) (nfd int, sa Sockaddr, err error) { ++ var rsa RawSockaddrAny ++ var len Socklen_t = SizeofSockaddrAny ++ nfd, err = accept4(fd, &rsa, &len, flags) ++ if err != nil { ++ return -1, nil, err ++ } ++ sa, err = anyToSockaddr(&rsa) ++ if err != nil { ++ Close(nfd) ++ return -1, nil, err ++ } ++ return nfd, sa, nil ++} ++ ++///INCLUDE? ++///sys Acct(path string) (err error) ++///acct(path *byte) _C_int ++ ++//sysnb Dup3(oldfd int, newfd int, flags int) (err error) ++//dup3(oldfd _C_int, newfd _C_int, flags _C_int) _C_int ++ ++//sys Faccessat(dirfd int, path string, mode uint32, flags int) (err error) ++//faccessat(dirfd _C_int, pathname *byte, mode _C_int, flags _C_int) _C_int ++ ++//sys Fallocate(fd int, mode uint32, off int64, len int64) (err error) ++//fallocate(fd _C_int, mode _C_int, offset Offset_t, len Offset_t) _C_int ++ ++//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) ++//fchmodat(dirfd _C_int, pathname *byte, mode Mode_t, flags _C_int) _C_int ++ ++//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error) ++//fchownat(dirfd _C_int, path *byte, owner Uid_t, group Gid_t, flags _C_int) _C_int ++ ++//sys Flock(fd int, how int) (err error) ++//flock(fd _C_int, how _C_int) _C_int ++ ++//sys Fstatfs(fd int, buf *Statfs_t) (err error) ++//fstatfs(fd _C_int, buf *Statfs_t) _C_int ++ ++func Getdents(fd int, buf []byte) (n int, err error) { ++ var p *byte ++ if len(buf) > 0 { ++ p = &buf[0] ++ } else { ++ p = (*byte)(unsafe.Pointer(&_zero)) ++ } ++ s := SYS_GETDENTS64 ++ if s == 0 { ++ s = SYS_GETDENTS ++ } ++ r1, _, errno := Syscall(uintptr(s), uintptr(fd), uintptr(unsafe.Pointer(p)), uintptr(len(buf))) ++ n = int(r1) ++ if n < 0 { ++ err = errno ++ } ++ return ++} ++ ++func clen(n []byte) int { ++ for i := 0; i < len(n); i++ { ++ if n[i] == 0 { ++ return i ++ } ++ } ++ return len(n) ++} ++ ++func ReadDirent(fd int, buf []byte) (n int, err error) { ++ return Getdents(fd, buf) ++} ++ ++ ++///INCLUDE?? ++///sys Getxattr(path string, attr string, dest []byte) (sz int, err error) ++///getxattr(path *byte, attr *byte, buf *byte, count Size_t) Ssize_t ++ ++///INCLUDE?? ++///sys Listxattr(path string, dest []byte) (sz int, err error) ++///listxattr(path *byte, list *byte, size Size_t) Ssize_t ++ ++//sys Mkdirat(dirfd int, path string, mode uint32) (err error) ++//mkdirat(dirfd _C_int, path *byte, mode Mode_t) _C_int ++ ++//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error) ++//mknodat(dirfd _C_int, path *byte, mode Mode_t, dev _dev_t) _C_int ++ ++//sysnb pipe2(p *[2]_C_int, flags int) (err error) ++//pipe2(p *[2]_C_int, flags _C_int) _C_int ++func Pipe2(p []int, flags int) (err error) { ++ if len(p) != 2 { ++ return EINVAL ++ } ++ var pp [2]_C_int ++ err = pipe2(&pp, flags) ++ p[0] = int(pp[0]) ++ p[1] = int(pp[1]) ++ return ++} ++ ++///INCLUDE?? ++///sys Removexattr(path string, attr string) (err error) ++///removexattr(path *byte, name *byte) _C_int ++ ++///INCLUDE?? ++///sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) ++///renameat(olddirfd _C_int, oldpath *byte, newdirfd _C_int, newpath *byte) _C_int ++ ++//INCLUDE?? ++///sys Setxattr(path string, attr string, data []byte, flags int) (err error) ++///setxattr(path *byte, name *byte, value *byte, size Size_t, flags _C_int) _C_int ++ ++//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error) ++//sync_file_range(fd _C_int, off Offset_t, n Offset_t, flags _C_uint) _C_int ++ ++//INCLUDE?? ++///sysnb Sysinfo(info *Sysinfo_t) (err error) ++///sysinfo(info *Sysinfo_t) _C_int ++ ++//func Unlinkat(dirfd int, path string) (err error) { ++// return unlinkat(dirfd, path, 0) ++//} ++ ++///INCLUDE?? ++///sys Ustat(dev int, ubuf *Ustat_t) (err error) ++///ustat(dev _dev_t, ubuf *Ustat_t) _C_int ++ ++//sys sendfile(outfd int, infd int, offset *Offset_t, count int) (written int, err error) ++//sendfile64(outfd _C_int, infd _C_int, offset *Offset_t, count Size_t) Ssize_t ++func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { ++ var soff Offset_t ++ var psoff *Offset_t ++ if offset != nil { ++ soff = Offset_t(*offset) ++ psoff = &soff ++ } ++ written, err = sendfile(outfd, infd, psoff, count) ++ if offset != nil { ++ *offset = int64(soff) ++ } ++ return ++} +Index: gcc-8-8-20180218/src/libgo/go/syscall/libcall_posix_gnu.go +=================================================================== +--- /dev/null ++++ gcc-8-8-20180218/src/libgo/go/syscall/libcall_posix_gnu.go +@@ -0,0 +1,400 @@ ++// Copyright 2011 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++// POSIX library calls. ++// This file is compiled as ordinary Go code, ++// but it is also input to mksyscall, ++// which parses the //sys lines and generates library call stubs. ++// Note that sometimes we use a lowercase //sys name and ++// wrap it in our own nicer implementation. ++// Removed the mount call for GNU/Hurd, it exists but use translators. ++// Functionality is not the same as descibed in Linux ++// Removed the madvise call for GNU/Hurd, not yet implemented. ++// This file is derived from libchall_posix.go ++ ++// +build gnu ++ ++package syscall ++ ++import "unsafe" ++ ++/* ++ * Wrapped ++ */ ++ ++//sysnb pipe(p *[2]_C_int) (err error) ++//pipe(p *[2]_C_int) _C_int ++func Pipe(p []int) (err error) { ++ if len(p) != 2 { ++ return EINVAL ++ } ++ var pp [2]_C_int ++ err = pipe(&pp) ++ p[0] = int(pp[0]) ++ p[1] = int(pp[1]) ++ return ++} ++ ++//sys utimes(path string, times *[2]Timeval) (err error) ++//utimes(path *byte, times *[2]Timeval) _C_int ++func Utimes(path string, tv []Timeval) (err error) { ++ if len(tv) != 2 { ++ return EINVAL ++ } ++ return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0]))) ++} ++ ++//sys getcwd(buf *byte, size Size_t) (err error) ++//getcwd(buf *byte, size Size_t) *byte ++ ++const ImplementsGetwd = true ++ ++func Getwd() (ret string, err error) { ++ for len := Size_t(4096); ; len *= 2 { ++ b := make([]byte, len) ++ err := getcwd(&b[0], len) ++ if err == nil { ++ i := 0 ++ for b[i] != 0 { ++ i++ ++ } ++ return string(b[0:i]), nil ++ } ++ if err != ERANGE { ++ return "", err ++ } ++ } ++} ++ ++func Getcwd(buf []byte) (n int, err error) { ++ err = getcwd(&buf[0], Size_t(len(buf))) ++ if err == nil { ++ i := 0 ++ for buf[i] != 0 { ++ i++ ++ } ++ n = i + 1 ++ } ++ return ++} ++ ++//sysnb getgroups(size int, list *Gid_t) (nn int, err error) ++//getgroups(size _C_int, list *Gid_t) _C_int ++ ++func Getgroups() (gids []int, err error) { ++ n, err := getgroups(0, nil) ++ if err != nil { ++ return nil, err ++ } ++ if n == 0 { ++ return nil, nil ++ } ++ ++ // Sanity check group count. Max is 1<<16 on GNU/Linux. ++ if n < 0 || n > 1<<20 { ++ return nil, EINVAL ++ } ++ ++ a := make([]Gid_t, n) ++ n, err = getgroups(n, &a[0]) ++ if err != nil { ++ return nil, err ++ } ++ gids = make([]int, n) ++ for i, v := range a[0:n] { ++ gids[i] = int(v) ++ } ++ return ++} ++ ++//sysnb setgroups(n int, list *Gid_t) (err error) ++//setgroups(n Size_t, list *Gid_t) _C_int ++ ++func Setgroups(gids []int) (err error) { ++ if len(gids) == 0 { ++ return setgroups(0, nil) ++ } ++ ++ a := make([]Gid_t, len(gids)) ++ for i, v := range gids { ++ a[i] = Gid_t(v) ++ } ++ return setgroups(len(a), &a[0]) ++} ++ ++type WaitStatus uint32 ++ ++// The WaitStatus methods are implemented in C, to pick up the macros ++// #defines in . ++ ++func (w WaitStatus) Exited() bool ++func (w WaitStatus) Signaled() bool ++func (w WaitStatus) Stopped() bool ++func (w WaitStatus) Continued() bool ++func (w WaitStatus) CoreDump() bool ++func (w WaitStatus) ExitStatus() int ++func (w WaitStatus) Signal() Signal ++func (w WaitStatus) StopSignal() Signal ++func (w WaitStatus) TrapCause() int ++ ++//sys Mkfifo(path string, mode uint32) (err error) ++//mkfifo(path *byte, mode Mode_t) _C_int ++ ++//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) ++//select(nfd _C_int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) _C_int ++ ++const nfdbits = int(unsafe.Sizeof(fds_bits_type(0)) * 8) ++ ++type FdSet struct { ++ Bits [(FD_SETSIZE + nfdbits - 1) / nfdbits]fds_bits_type ++} ++ ++func FDSet(fd int, set *FdSet) { ++ set.Bits[fd/nfdbits] |= (1 << (uint)(fd%nfdbits)) ++} ++ ++func FDClr(fd int, set *FdSet) { ++ set.Bits[fd/nfdbits] &^= (1 << (uint)(fd%nfdbits)) ++} ++ ++func FDIsSet(fd int, set *FdSet) bool { ++ if set.Bits[fd/nfdbits]&(1<<(uint)(fd%nfdbits)) != 0 { ++ return true ++ } else { ++ return false ++ } ++} ++ ++func FDZero(set *FdSet) { ++ for i := range set.Bits { ++ set.Bits[i] = 0 ++ } ++} ++ ++//sys Access(path string, mode uint32) (err error) ++//access(path *byte, mode _C_int) _C_int ++ ++//sys Chdir(path string) (err error) ++//chdir(path *byte) _C_int ++ ++//sys Chmod(path string, mode uint32) (err error) ++//chmod(path *byte, mode Mode_t) _C_int ++ ++//sys Chown(path string, uid int, gid int) (err error) ++//chown(path *byte, uid Uid_t, gid Gid_t) _C_int ++ ++//sys Chroot(path string) (err error) ++//chroot(path *byte) _C_int ++ ++//sys Close(fd int) (err error) ++//close(fd _C_int) _C_int ++ ++//sys Creat(path string, mode uint32) (fd int, err error) ++//creat(path *byte, mode Mode_t) _C_int ++ ++//sysnb Dup(oldfd int) (fd int, err error) ++//dup(oldfd _C_int) _C_int ++ ++//sysnb Dup2(oldfd int, newfd int) (err error) ++//dup2(oldfd _C_int, newfd _C_int) _C_int ++ ++//sys Fchdir(fd int) (err error) ++//fchdir(fd _C_int) _C_int ++ ++//sys Fchmod(fd int, mode uint32) (err error) ++//fchmod(fd _C_int, mode Mode_t) _C_int ++ ++//sys Fchown(fd int, uid int, gid int) (err error) ++//fchown(fd _C_int, uid Uid_t, gid Gid_t) _C_int ++ ++//sys fcntl(fd int, cmd int, arg int) (val int, err error) ++//__go_fcntl(fd _C_int, cmd _C_int, arg _C_int) _C_int ++ ++//sys FcntlFlock(fd uintptr, cmd int, lk *Flock_t) (err error) ++//__go_fcntl_flock(fd _C_int, cmd _C_int, arg *Flock_t) _C_int ++ ++//sys Fdatasync(fd int) (err error) ++//fdatasync(fd _C_int) _C_int ++ ++//sys Fsync(fd int) (err error) ++//fsync(fd _C_int) _C_int ++ ++//sysnb Getegid() (egid int) ++//getegid() Gid_t ++ ++//sysnb Geteuid() (euid int) ++//geteuid() Uid_t ++ ++//sysnb Getgid() (gid int) ++//getgid() Gid_t ++ ++//sysnb Getpgid(pid int) (pgid int, err error) ++//getpgid(pid Pid_t) Pid_t ++ ++//sysnb Getpgrp() (pid int) ++//getpgrp() Pid_t ++ ++//sysnb Getpid() (pid int) ++//getpid() Pid_t ++ ++//sysnb Getppid() (ppid int) ++//getppid() Pid_t ++ ++//sys Getpriority(which int, who int) (prio int, err error) ++//getpriority(which _C_int, who _C_int) _C_int ++ ++//sysnb Getrusage(who int, rusage *Rusage) (err error) ++//getrusage(who _C_int, rusage *Rusage) _C_int ++ ++//sysnb gettimeofday(tv *Timeval, tz *byte) (err error) ++//gettimeofday(tv *Timeval, tz *byte) _C_int ++func Gettimeofday(tv *Timeval) (err error) { ++ return gettimeofday(tv, nil) ++} ++ ++//sysnb Getuid() (uid int) ++//getuid() Uid_t ++ ++//sysnb Kill(pid int, sig Signal) (err error) ++//kill(pid Pid_t, sig _C_int) _C_int ++ ++//sys Lchown(path string, uid int, gid int) (err error) ++//lchown(path *byte, uid Uid_t, gid Gid_t) _C_int ++ ++//sys Link(oldpath string, newpath string) (err error) ++//link(oldpath *byte, newpath *byte) _C_int ++ ++//sys Mkdir(path string, mode uint32) (err error) ++//mkdir(path *byte, mode Mode_t) _C_int ++ ++//sys Mknod(path string, mode uint32, dev int) (err error) ++//mknod(path *byte, mode Mode_t, dev _dev_t) _C_int ++ ++//sys Nanosleep(time *Timespec, leftover *Timespec) (err error) ++//nanosleep(time *Timespec, leftover *Timespec) _C_int ++ ++//sys Pause() (err error) ++//pause() _C_int ++ ++//sys read(fd int, p []byte) (n int, err error) ++//read(fd _C_int, buf *byte, count Size_t) Ssize_t ++ ++//sys readlen(fd int, p *byte, np int) (n int, err error) ++//read(fd _C_int, buf *byte, count Size_t) Ssize_t ++ ++//sys Readlink(path string, buf []byte) (n int, err error) ++//readlink(path *byte, buf *byte, bufsiz Size_t) Ssize_t ++ ++//sys Rename(oldpath string, newpath string) (err error) ++//rename(oldpath *byte, newpath *byte) _C_int ++ ++//sys Rmdir(path string) (err error) ++//rmdir(path *byte) _C_int ++ ++//sys Setdomainname(p []byte) (err error) ++//setdomainname(name *byte, len Size_t) _C_int ++ ++//sys Sethostname(p []byte) (err error) ++//sethostname(name *byte, len Size_t) _C_int ++ ++//sysnb Setgid(gid int) (err error) ++//setgid(gid Gid_t) _C_int ++ ++//sysnb Setregid(rgid int, egid int) (err error) ++//setregid(rgid Gid_t, egid Gid_t) _C_int ++ ++//sysnb Setpgid(pid int, pgid int) (err error) ++//setpgid(pid Pid_t, pgid Pid_t) _C_int ++ ++//sys Setpriority(which int, who int, prio int) (err error) ++//setpriority(which _C_int, who _C_int, prio _C_int) _C_int ++ ++//sysnb Setreuid(ruid int, euid int) (err error) ++//setreuid(ruid Uid_t, euid Uid_t) _C_int ++ ++//sysnb Setsid() (pid int, err error) ++//setsid() Pid_t ++ ++//sysnb settimeofday(tv *Timeval, tz *byte) (err error) ++//settimeofday(tv *Timeval, tz *byte) _C_int ++ ++func Settimeofday(tv *Timeval) (err error) { ++ return settimeofday(tv, nil) ++} ++ ++//sysnb Setuid(uid int) (err error) ++//setuid(uid Uid_t) _C_int ++ ++//sys Symlink(oldpath string, newpath string) (err error) ++//symlink(oldpath *byte, newpath *byte) _C_int ++ ++//sys Sync() ++//sync() ++ ++//sysnb Time(t *Time_t) (tt Time_t, err error) ++//time(t *Time_t) Time_t ++ ++//sysnb Times(tms *Tms) (ticks uintptr, err error) ++//times(tms *Tms) _clock_t ++ ++//sysnb Umask(mask int) (oldmask int) ++//umask(mask Mode_t) Mode_t ++ ++//sys Unlink(path string) (err error) ++//unlink(path *byte) _C_int ++ ++//sys Utime(path string, buf *Utimbuf) (err error) ++//utime(path *byte, buf *Utimbuf) _C_int ++ ++//sys write(fd int, p []byte) (n int, err error) ++//write(fd _C_int, buf *byte, count Size_t) Ssize_t ++ ++//sys writelen(fd int, p *byte, np int) (n int, err error) ++//write(fd _C_int, buf *byte, count Size_t) Ssize_t ++ ++//sys munmap(addr uintptr, length uintptr) (err error) ++//munmap(addr *byte, length Size_t) _C_int ++ ++//sys Mprotect(b []byte, prot int) (err error) ++//mprotect(addr *byte, len Size_t, prot _C_int) _C_int ++ ++//sys Mlock(b []byte) (err error) ++//mlock(addr *byte, len Size_t) _C_int ++ ++//sys Munlock(b []byte) (err error) ++//munlock(addr *byte, len Size_t) _C_int ++ ++//sys Mlockall(flags int) (err error) ++//mlockall(flags _C_int) _C_int ++ ++//sys Munlockall() (err error) ++//munlockall() _C_int ++ ++func setTimespec(sec, nsec int64) Timespec { ++ return Timespec{Sec: Timespec_sec_t(sec), Nsec: Timespec_nsec_t(nsec)} ++} ++ ++func setTimeval(sec, usec int64) Timeval { ++ return Timeval{Sec: Timeval_sec_t(sec), Usec: Timeval_usec_t(usec)} ++} ++ ++//sysnb Tcgetattr(fd int, p *Termios) (err error) ++//tcgetattr(fd _C_int, p *Termios) _C_int ++ ++//sys Tcsetattr(fd int, actions int, p *Termios) (err error) ++//tcsetattr(fd _C_int, actions _C_int, p *Termios) _C_int ++ ++//sys sysconf(name int) (ret int64, err error) ++//sysconf(name _C_int) _C_long ++ ++func Sysconf(name int) (ret int64, err error) { ++ // If an option is not available, sysconf returns -1 without ++ // changing errno. Detect this case and return err == nil. ++ SetErrno(0) ++ ret, err = sysconf(name) ++ if err == Errno(0) { ++ err = nil ++ } ++ return ret, err ++} +Index: gcc-8-8-20180218/src/libgo/go/syscall/socket_gnu.go +=================================================================== +--- /dev/null ++++ gcc-8-8-20180218/src/libgo/go/syscall/socket_gnu.go +@@ -0,0 +1,91 @@ ++// socket_gnu.go -- Socket handling specific to GNU/Hurd. ++ ++// Copyright 2010 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++// This file is derived from syscall_bsd.go ++ ++// +build gnu ++ ++package syscall ++ ++import "unsafe" ++ ++const SizeofSockaddrInet4 = 16 ++const SizeofSockaddrInet6 = 28 ++const SizeofSockaddrUnix = 110 ++ ++type RawSockaddrInet4 struct { ++ Len uint8 ++ Family uint8 ++ Port uint16 ++ Addr [4]byte /* in_addr */ ++ Zero [8]uint8 ++} ++ ++func (sa *RawSockaddrInet4) setLen() Socklen_t { ++ sa.Len = SizeofSockaddrInet4 ++ return SizeofSockaddrInet4 ++} ++ ++type RawSockaddrInet6 struct { ++ Len uint8 ++ Family uint8 ++ Port uint16 ++ Flowinfo uint32 ++ Addr [16]byte /* in6_addr */ ++ Scope_id uint32 ++} ++ ++func (sa *RawSockaddrInet6) setLen() Socklen_t { ++ sa.Len = SizeofSockaddrInet6 ++ return SizeofSockaddrInet6 ++} ++ ++type RawSockaddrUnix struct { ++ Len uint8 ++ Family uint8 ++ Path [108]int8 ++} ++ ++func (sa *RawSockaddrUnix) setLen(n int) { ++ sa.Len = uint8(3 + n) // 2 for Family, Len; 1 for NUL. ++} ++ ++func (sa *RawSockaddrUnix) getLen() (int, error) { ++ if sa.Len < 3 || sa.Len > SizeofSockaddrUnix { ++ return 0, EINVAL ++ } ++ // Assume path ends at NUL. ++ n := 0 ++ for n < len(sa.Path) && sa.Path[n] != 0 { ++ n++ ++ } ++ return n, nil ++} ++ ++func (sa *RawSockaddrUnix) adjustAbstract(sl Socklen_t) Socklen_t { ++ return sl ++} ++ ++type RawSockaddr struct { ++ Len uint8 ++ Family uint8 ++ Data [14]int8 ++} ++ ++// BindToDevice binds the socket associated with fd to device. ++func BindToDevice(fd int, device string) (err error) { ++ return ENOSYS ++} ++ ++func anyToSockaddrOS(rsa *RawSockaddrAny) (Sockaddr, error) { ++ return nil, EAFNOSUPPORT ++} ++ ++func GetsockoptIPv6MTUInfo(fd, level, opt int) (*IPv6MTUInfo, error) { ++ var value IPv6MTUInfo ++ vallen := Socklen_t(SizeofIPv6MTUInfo) ++ err := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen) ++ return &value, err ++} +Index: gcc-8-8-20180218/src/libgo/go/syscall/syscall_gnu.go +=================================================================== +--- /dev/null ++++ gcc-8-8-20180218/src/libgo/go/syscall/syscall_gnu.go +@@ -0,0 +1,24 @@ ++// Copyright 2009 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++// This file is identical to syscall_linux.go ++ ++package syscall ++ ++import "unsafe" ++ ++func direntIno(buf []byte) (uint64, bool) { ++ return readInt(buf, unsafe.Offsetof(Dirent{}.Ino), unsafe.Sizeof(Dirent{}.Ino)) ++} ++ ++func direntReclen(buf []byte) (uint64, bool) { ++ return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) ++} ++ ++func direntNamlen(buf []byte) (uint64, bool) { ++ reclen, ok := direntReclen(buf) ++ if !ok { ++ return 0, false ++ } ++ return reclen - uint64(unsafe.Offsetof(Dirent{}.Name)), true ++} +Index: gcc-8-8-20180218/src/libgo/go/syscall/wait.c +=================================================================== +--- gcc-8-8-20180218.orig/src/libgo/go/syscall/wait.c ++++ gcc-8-8-20180218/src/libgo/go/syscall/wait.c +@@ -8,6 +8,9 @@ + OS-independent. */ + + #include ++#ifndef WCONTINUED ++#define WCONTINUED 0 ++#endif + #include + + #include "runtime.h" --- gcc-8-8.2.0.orig/debian/patches/src_libgo_go_syscall_syscall_errno.go.diff +++ gcc-8-8.2.0/debian/patches/src_libgo_go_syscall_syscall_errno.go.diff @@ -0,0 +1,11 @@ +--- a/src/libgo/go/syscall/syscall_errno.go 2015-01-17 11:50:12.000000000 +0100 ++++ b/src/libgo/go/syscall/syscall_errno.go 2018-02-27 17:29:33.000000000 +0100 +@@ -11,7 +11,7 @@ + // if errno != 0 { + // err = errno + // } +-type Errno uintptr ++type Errno int32 + + func (e Errno) Error() string { + return Errstr(int(e)) --- gcc-8-8.2.0.orig/debian/patches/src_libgo_go_syscall_syscall_gnu_test.go.diff +++ gcc-8-8.2.0/debian/patches/src_libgo_go_syscall_syscall_gnu_test.go.diff @@ -0,0 +1,361 @@ +Index: gcc-8-8-20171108-1.1/src/libgo/go/syscall/syscall_gnu_test.go +=================================================================== +--- /dev/null ++++ gcc-8-8-20171108-1.1/src/libgo/go/syscall/syscall_gnu_test.go +@@ -0,0 +1,356 @@ ++// Copyright 2013 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++// +build gnu ++ ++package syscall_test ++ ++import ( ++ "flag" ++ "fmt" ++ "internal/testenv" ++ "io/ioutil" ++ "net" ++ "os" ++ "os/exec" ++ "path/filepath" ++ "runtime" ++ "syscall" ++ "testing" ++ "time" ++) ++ ++// Tests that below functions, structures and constants are consistent ++// on all Unix-like systems. ++func _() { ++ // program scheduling priority functions and constants ++ var ( ++ _ func(int, int, int) error = syscall.Setpriority ++ _ func(int, int) (int, error) = syscall.Getpriority ++ ) ++ const ( ++ _ int = syscall.PRIO_USER ++ _ int = syscall.PRIO_PROCESS ++ _ int = syscall.PRIO_PGRP ++ ) ++ ++ // termios constants ++ const ( ++ _ int = syscall.TCIFLUSH ++ _ int = syscall.TCIOFLUSH ++ _ int = syscall.TCOFLUSH ++ ) ++ ++ // fcntl file locking structure and constants ++ var ( ++ _ = syscall.Flock_t{ ++ Type: int32(0), ++ Whence: int32(0), ++ Start: int64(0), ++ Len: int64(0), ++ Pid: int32(0), ++ } ++ ) ++ const ( ++ _ = syscall.F_GETLK ++ _ = syscall.F_SETLK ++ _ = syscall.F_SETLKW ++ ) ++} ++ ++// TestFcntlFlock tests whether the file locking structure matches ++// the calling convention of each kernel. ++// On some Linux systems, glibc uses another set of values for the ++// commands and translates them to the correct value that the kernel ++// expects just before the actual fcntl syscall. As Go uses raw ++// syscalls directly, it must use the real value, not the glibc value. ++// Thus this test also verifies that the Flock_t structure can be ++// roundtripped with F_SETLK and F_GETLK. ++func TestFcntlFlock(t *testing.T) { ++ if runtime.GOOS == "darwin" && (runtime.GOARCH == "arm" || runtime.GOARCH == "arm64") { ++ t.Skip("skipping; no child processes allowed on iOS") ++ } ++ flock := syscall.Flock_t{ ++ Type: syscall.F_WRLCK, ++ Start: 31415, Len: 271828, Whence: 1, ++ } ++ if os.Getenv("GO_WANT_HELPER_PROCESS") == "" { ++ // parent ++ name := filepath.Join(os.TempDir(), "TestFcntlFlock") ++ fd, err := syscall.Open(name, syscall.O_CREAT|syscall.O_RDWR|syscall.O_CLOEXEC, 0) ++ if err != nil { ++ t.Fatalf("Open failed: %v", err) ++ } ++ defer syscall.Unlink(name) ++ defer syscall.Close(fd) ++ if err := syscall.Ftruncate(fd, 1<<20); err != nil { ++ t.Fatalf("Ftruncate(1<<20) failed: %v", err) ++ } ++ if err := syscall.FcntlFlock(uintptr(fd), syscall.F_SETLK, &flock); err != nil { ++ t.Fatalf("FcntlFlock(F_SETLK) failed: %v", err) ++ } ++ cmd := exec.Command(os.Args[0], "-test.run=^TestFcntlFlock$") ++ cmd.Env = append(os.Environ(), "GO_WANT_HELPER_PROCESS=1") ++ cmd.ExtraFiles = []*os.File{os.NewFile(uintptr(fd), name)} ++ out, err := cmd.CombinedOutput() ++ if len(out) > 0 || err != nil { ++ t.Fatalf("child process: %q, %v", out, err) ++ } ++ } else { ++ // child ++ got := flock ++ // make sure the child lock is conflicting with the parent lock ++ got.Start-- ++ got.Len++ ++ if err := syscall.FcntlFlock(3, syscall.F_GETLK, &got); err != nil { ++ t.Fatalf("FcntlFlock(F_GETLK) failed: %v", err) ++ } ++ flock.Pid = int32(syscall.Getppid()) ++ // Linux kernel always set Whence to 0 ++ flock.Whence = 0 ++ if got.Type == flock.Type && got.Start == flock.Start && got.Len == flock.Len && got.Pid == flock.Pid && got.Whence == flock.Whence { ++ os.Exit(0) ++ } ++ t.Fatalf("FcntlFlock got %v, want %v", got, flock) ++ } ++} ++ ++// TestPassFD tests passing a file descriptor over a Unix socket. ++// ++// This test involved both a parent and child process. The parent ++// process is invoked as a normal test, with "go test", which then ++// runs the child process by running the current test binary with args ++// "-test.run=^TestPassFD$" and an environment variable used to signal ++// that the test should become the child process instead. ++func TestPassFD(t *testing.T) { ++ switch runtime.GOOS { ++ case "dragonfly": ++ // TODO(jsing): Figure out why sendmsg is returning EINVAL. ++ t.Skip("skipping test on dragonfly") ++ case "solaris": ++ // TODO(aram): Figure out why ReadMsgUnix is returning empty message. ++ t.Skip("skipping test on solaris, see issue 7402") ++ } ++ ++ testenv.MustHaveExec(t) ++ ++ if os.Getenv("GO_WANT_HELPER_PROCESS") == "1" { ++ passFDChild() ++ return ++ } ++ ++ tempDir, err := ioutil.TempDir("", "TestPassFD") ++ if err != nil { ++ t.Fatal(err) ++ } ++ defer os.RemoveAll(tempDir) ++ ++ fds, err := syscall.Socketpair(syscall.AF_LOCAL, syscall.SOCK_STREAM, 0) ++ if err != nil { ++ t.Fatalf("Socketpair: %v", err) ++ } ++ defer syscall.Close(fds[0]) ++ defer syscall.Close(fds[1]) ++ writeFile := os.NewFile(uintptr(fds[0]), "child-writes") ++ readFile := os.NewFile(uintptr(fds[1]), "parent-reads") ++ defer writeFile.Close() ++ defer readFile.Close() ++ ++ cmd := exec.Command(os.Args[0], "-test.run=^TestPassFD$", "--", tempDir) ++ cmd.Env = append(os.Environ(), "GO_WANT_HELPER_PROCESS=1") ++ cmd.ExtraFiles = []*os.File{writeFile} ++ ++ out, err := cmd.CombinedOutput() ++ if len(out) > 0 || err != nil { ++ t.Fatalf("child process: %q, %v", out, err) ++ } ++ ++ c, err := net.FileConn(readFile) ++ if err != nil { ++ t.Fatalf("FileConn: %v", err) ++ } ++ defer c.Close() ++ ++ uc, ok := c.(*net.UnixConn) ++ if !ok { ++ t.Fatalf("unexpected FileConn type; expected UnixConn, got %T", c) ++ } ++ ++ buf := make([]byte, 32) // expect 1 byte ++ oob := make([]byte, 32) // expect 24 bytes ++ closeUnix := time.AfterFunc(5*time.Second, func() { ++ t.Logf("timeout reading from unix socket") ++ uc.Close() ++ }) ++ _, oobn, _, _, err := uc.ReadMsgUnix(buf, oob) ++ closeUnix.Stop() ++ ++ scms, err := syscall.ParseSocketControlMessage(oob[:oobn]) ++ if err != nil { ++ t.Fatalf("ParseSocketControlMessage: %v", err) ++ } ++ if len(scms) != 1 { ++ t.Fatalf("expected 1 SocketControlMessage; got scms = %#v", scms) ++ } ++ scm := scms[0] ++ gotFds, err := syscall.ParseUnixRights(&scm) ++ if err != nil { ++ t.Fatalf("syscall.ParseUnixRights: %v", err) ++ } ++ if len(gotFds) != 1 { ++ t.Fatalf("wanted 1 fd; got %#v", gotFds) ++ } ++ ++ f := os.NewFile(uintptr(gotFds[0]), "fd-from-child") ++ defer f.Close() ++ ++ got, err := ioutil.ReadAll(f) ++ want := "Hello from child process!\n" ++ if string(got) != want { ++ t.Errorf("child process ReadAll: %q, %v; want %q", got, err, want) ++ } ++} ++ ++// passFDChild is the child process used by TestPassFD. ++func passFDChild() { ++ defer os.Exit(0) ++ ++ // Look for our fd. It should be fd 3, but we work around an fd leak ++ // bug here (https://golang.org/issue/2603) to let it be elsewhere. ++ var uc *net.UnixConn ++ for fd := uintptr(3); fd <= 10; fd++ { ++ f := os.NewFile(fd, "unix-conn") ++ var ok bool ++ netc, _ := net.FileConn(f) ++ uc, ok = netc.(*net.UnixConn) ++ if ok { ++ break ++ } ++ } ++ if uc == nil { ++ fmt.Println("failed to find unix fd") ++ return ++ } ++ ++ // Make a file f to send to our parent process on uc. ++ // We make it in tempDir, which our parent will clean up. ++ flag.Parse() ++ tempDir := flag.Arg(0) ++ f, err := ioutil.TempFile(tempDir, "") ++ if err != nil { ++ fmt.Printf("TempFile: %v", err) ++ return ++ } ++ ++ f.Write([]byte("Hello from child process!\n")) ++ f.Seek(0, 0) ++ ++ rights := syscall.UnixRights(int(f.Fd())) ++ dummyByte := []byte("x") ++ n, oobn, err := uc.WriteMsgUnix(dummyByte, rights, nil) ++ if err != nil { ++ fmt.Printf("WriteMsgUnix: %v", err) ++ return ++ } ++ if n != 1 || oobn != len(rights) { ++ fmt.Printf("WriteMsgUnix = %d, %d; want 1, %d", n, oobn, len(rights)) ++ return ++ } ++} ++ ++// TestUnixRightsRoundtrip tests that UnixRights, ParseSocketControlMessage, ++// and ParseUnixRights are able to successfully round-trip lists of file descriptors. ++func TestUnixRightsRoundtrip(t *testing.T) { ++ testCases := [...][][]int{ ++ {{42}}, ++ {{1, 2}}, ++ {{3, 4, 5}}, ++ {{}}, ++ {{1, 2}, {3, 4, 5}, {}, {7}}, ++ } ++ for _, testCase := range testCases { ++ b := []byte{} ++ var n int ++ for _, fds := range testCase { ++ // Last assignment to n wins ++ n = len(b) + syscall.CmsgLen(4*len(fds)) ++ b = append(b, syscall.UnixRights(fds...)...) ++ } ++ // Truncate b ++ b = b[:n] ++ ++ scms, err := syscall.ParseSocketControlMessage(b) ++ if err != nil { ++ t.Fatalf("ParseSocketControlMessage: %v", err) ++ } ++ if len(scms) != len(testCase) { ++ t.Fatalf("expected %v SocketControlMessage; got scms = %#v", len(testCase), scms) ++ } ++ for i, scm := range scms { ++ gotFds, err := syscall.ParseUnixRights(&scm) ++ if err != nil { ++ t.Fatalf("ParseUnixRights: %v", err) ++ } ++ wantFds := testCase[i] ++ if len(gotFds) != len(wantFds) { ++ t.Fatalf("expected %v fds, got %#v", len(wantFds), gotFds) ++ } ++ for j, fd := range gotFds { ++ if fd != wantFds[j] { ++ t.Fatalf("expected fd %v, got %v", wantFds[j], fd) ++ } ++ } ++ } ++ } ++} ++ ++func TestRlimit(t *testing.T) { ++ var rlimit, zero syscall.Rlimit ++ err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, &rlimit) ++ if err != nil { ++ t.Fatalf("Getrlimit: save failed: %v", err) ++ } ++ if zero == rlimit { ++ t.Fatalf("Getrlimit: save failed: got zero value %#v", rlimit) ++ } ++ set := rlimit ++ set.Cur = set.Max - 1 ++ err = syscall.Setrlimit(syscall.RLIMIT_NOFILE, &set) ++ if err != nil { ++ t.Fatalf("Setrlimit: set failed: %#v %v", set, err) ++ } ++ var get syscall.Rlimit ++ err = syscall.Getrlimit(syscall.RLIMIT_NOFILE, &get) ++ if err != nil { ++ t.Fatalf("Getrlimit: get failed: %v", err) ++ } ++ set = rlimit ++ set.Cur = set.Max - 1 ++ if set != get { ++ // Seems like Darwin requires some privilege to ++ // increase the soft limit of rlimit sandbox, though ++ // Setrlimit never reports an error. ++ switch runtime.GOOS { ++ case "darwin": ++ default: ++ t.Fatalf("Rlimit: change failed: wanted %#v got %#v", set, get) ++ } ++ } ++ err = syscall.Setrlimit(syscall.RLIMIT_NOFILE, &rlimit) ++ if err != nil { ++ t.Fatalf("Setrlimit: restore failed: %#v %v", rlimit, err) ++ } ++} ++ ++func TestSeekFailure(t *testing.T) { ++ _, err := syscall.Seek(-1, 0, 0) ++ if err == nil { ++ t.Fatalf("Seek(-1, 0, 0) did not fail") ++ } ++ str := err.Error() // used to crash on Linux ++ t.Logf("Seek: %v", str) ++ if str == "" { ++ t.Fatalf("Seek(-1, 0, 0) return error with empty message") ++ } ++} --- gcc-8-8.2.0.orig/debian/patches/src_libgo_runtime.diff +++ gcc-8-8.2.0/debian/patches/src_libgo_runtime.diff @@ -0,0 +1,34 @@ +Index: gcc-8-8-20180308-1.1/src/libgo/runtime/getncpu-gnu.c +=================================================================== +--- /dev/null ++++ gcc-8-8-20180308-1.1/src/libgo/runtime/getncpu-gnu.c +@@ -0,0 +1,16 @@ ++// Copyright 2012 The Go Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style ++// license that can be found in the LICENSE file. ++ ++#include ++ ++#include "runtime.h" ++#include "defs.h" ++ ++int32 ++getproccount(void) ++{ ++ int32 n; ++ n = (int32)sysconf(_SC_NPROCESSORS_ONLN); ++ return n > 1 ? n : 1; ++} +Index: gcc-8-8-20180308-1.1/src/libgo/runtime/go-caller.c +=================================================================== +--- gcc-8-8-20180308-1.1.orig/src/libgo/runtime/go-caller.c ++++ gcc-8-8-20180308-1.1/src/libgo/runtime/go-caller.c +@@ -116,7 +116,7 @@ __go_get_backtrace_state () + argv[0] (http://gcc.gnu.org/PR61895). It would be nice to + have a better check for whether this file is the real + executable. */ +- if (stat (filename, &s) < 0 || s.st_size < 1024) ++ if (filename != NULL && (stat (filename, &s) < 0 || s.st_size < 1024)) + filename = NULL; + + back_state = backtrace_create_state (filename, 1, error_callback, NULL); --- gcc-8-8.2.0.orig/debian/patches/src_libgo_testsuite_gotest.diff +++ gcc-8-8.2.0/debian/patches/src_libgo_testsuite_gotest.diff @@ -0,0 +1,17 @@ +Index: gcc-8-8-20171108-1.1/src/libgo/testsuite/gotest +=================================================================== +--- gcc-8-8-20171108-1.1.orig/src/libgo/testsuite/gotest ++++ gcc-8-8-20171108-1.1/src/libgo/testsuite/gotest +@@ -624,7 +624,11 @@ xno) + wait $pid + status=$? + if ! test -f gotest-timeout; then +- sleeppid=`ps -o pid,ppid,comm | grep " $alarmpid " | grep sleep | sed -e 's/ *\([0-9]*\) .*$/\1/'` ++ if test "$goos" = "gnu"; then ++ sleeppid=`ps -o pid,ppid | grep " $alarmpid " | grep sleep | sed -e 's/ *\([0-9]*\) .*$/\1/'` ++ else ++ sleeppid=`ps -o pid,ppid,comm | grep " $alarmpid " | grep sleep | sed -e 's/ *\([0-9]*\) .*$/\1/'` ++ fi + kill $alarmpid + wait $alarmpid + if test "$sleeppid" != ""; then --- gcc-8-8.2.0.orig/debian/patches/svn-doc-updates.diff +++ gcc-8-8.2.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-8-8.2.0.orig/debian/patches/svn-updates.diff +++ gcc-8-8.2.0/debian/patches/svn-updates.diff @@ -0,0 +1,666604 @@ +# DP: updates from the 8 branch upto 20190209 (r268721). + +last_update() +{ + cat > ${dir}LAST_UPDATED ++ ++ Backport from mainline ++ 2018-12-13 Peter Bergner ++ ++ * config/powerpc/target.h (htm_available): Add support for ++ PPC_FEATURE2_HTM_NO_SUSPEND. Use __builtin_cpu_supports if available. ++ + 2018-07-26 Release Manager + + * GCC 8.2.0 released. +Index: libitm/config/powerpc/target.h +=================================================================== +--- a/src/libitm/config/powerpc/target.h (.../tags/gcc_8_2_0_release) ++++ b/src/libitm/config/powerpc/target.h (.../branches/gcc-8-branch) +@@ -81,7 +81,20 @@ + static inline bool + htm_available (void) + { +- return (getauxval (AT_HWCAP2) & PPC_FEATURE2_HAS_HTM) ? true : false; ++#ifdef __BUILTIN_CPU_SUPPORTS__ ++ if (__builtin_cpu_supports ("htm-no-suspend") ++ || __builtin_cpu_supports ("htm")) ++ return true; ++#else ++ unsigned long htm_flags = PPC_FEATURE2_HAS_HTM ++#ifdef PPC_FEATURE2_HTM_NO_SUSPEND ++ | PPC_FEATURE2_HTM_NO_SUSPEND ++#endif ++ | 0; ++ if (getauxval (AT_HWCAP2) & htm_flags) ++ return true; ++#endif ++ return false; + } + + static inline uint32_t +Index: libgomp/ChangeLog +=================================================================== +--- a/src/libgomp/ChangeLog (.../tags/gcc_8_2_0_release) ++++ b/src/libgomp/ChangeLog (.../branches/gcc-8-branch) +@@ -1,3 +1,46 @@ ++2019-02-07 Jakub Jelinek ++ ++ Backported from mainline ++ 2019-01-30 Jakub Jelinek ++ ++ PR c++/88988 ++ * testsuite/libgomp.c++/pr88988.C: New test. ++ ++ 2019-01-28 Jakub Jelinek ++ ++ PR middle-end/89002 ++ * testsuite/libgomp.c/pr89002.c: New test. ++ ++2019-01-25 Richard Biener ++ ++ PR tree-optimization/86865 ++ * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL. ++ ++2019-01-08 Jakub Jelinek ++ ++ Backported from mainline ++ 2018-12-12 Jakub Jelinek ++ ++ PR fortran/88463 ++ * testsuite/libgomp.fortran/pr88463-1.f90: New test. ++ * testsuite/libgomp.fortran/pr88463-2.f90: New test. ++ ++2018-07-26 Jakub Jelinek ++ ++ Backported from mainline ++ 2018-07-17 Jakub Jelinek ++ ++ PR middle-end/86542 ++ * testsuite/libgomp.c++/pr86542.C: New test. ++ ++ PR middle-end/86539 ++ * testsuite/libgomp.c++/pr86539.C: New test. ++ ++2018-07-26 Jakub Jelinek ++ ++ PR middle-end/86660 ++ * testsuite/libgomp.c/pr86660.c: New test. ++ + 2018-07-26 Release Manager + + * GCC 8.2.0 released. +Index: libgomp/testsuite/libgomp.c++/pr86542.C +=================================================================== +--- a/src/libgomp/testsuite/libgomp.c++/pr86542.C (.../tags/gcc_8_2_0_release) ++++ b/src/libgomp/testsuite/libgomp.c++/pr86542.C (.../branches/gcc-8-branch) +@@ -0,0 +1,37 @@ ++// PR middle-end/86542 ++ ++struct S { int s; S (); ~S (); S (const S &); }; ++S s; ++ ++S::S () ++{ ++} ++ ++S::~S () ++{ ++} ++ ++S::S (const S &x) ++{ ++ s = x.s; ++} ++ ++__attribute__((noipa)) void ++foo (int i, int j, int k, S s) ++{ ++ if (i != 0 || j != 0 || k != 0 || s.s != 12) ++ __builtin_abort (); ++} ++ ++int ++main () ++{ ++ volatile int inc = 16, jnc = 16, knc = 16; ++ s.s = 12; ++ #pragma omp taskloop collapse (3) firstprivate (s) ++ for (int i = 0; i < 16; i += inc) ++ for (int j = 0; j < 16; j += jnc) ++ for (int k = 0; k < 16; k += knc) ++ foo (i, j, k, s); ++ return 0; ++} +Index: libgomp/testsuite/libgomp.c++/pr88988.C +=================================================================== +--- a/src/libgomp/testsuite/libgomp.c++/pr88988.C (.../tags/gcc_8_2_0_release) ++++ b/src/libgomp/testsuite/libgomp.c++/pr88988.C (.../branches/gcc-8-branch) +@@ -0,0 +1,28 @@ ++// PR c++/88988 ++// { dg-do compile } ++// { dg-additional-options "-std=c++14" } ++ ++extern "C" void abort (); ++ ++template ++struct A { ++ A () : a(), b() ++ { ++ [&] () ++ { ++#pragma omp task firstprivate (a) shared (b) ++ b = ++a; ++#pragma omp taskwait ++ } (); ++ } ++ ++ T a, b; ++}; ++ ++int ++main () ++{ ++ A x; ++ if (x.a != 0 || x.b != 1) ++ abort (); ++} +Index: libgomp/testsuite/libgomp.c++/pr86539.C +=================================================================== +--- a/src/libgomp/testsuite/libgomp.c++/pr86539.C (.../tags/gcc_8_2_0_release) ++++ b/src/libgomp/testsuite/libgomp.c++/pr86539.C (.../branches/gcc-8-branch) +@@ -0,0 +1,28 @@ ++// PR middle-end/86539 ++ ++int a[384]; ++ ++__attribute__((noipa)) void ++foo (int &b, int &c) ++{ ++ #pragma omp taskloop shared (a) collapse(3) ++ for (int i = 0; i < 1; i++) ++ for (int *p = &b; p < &c; p++) ++ for (int j = 0; j < 1; j++) ++ if (p < &a[128] || p >= &a[256]) ++ __builtin_abort (); ++ else ++ p[0]++; ++} ++ ++int ++main () ++{ ++ #pragma omp parallel ++ #pragma omp single ++ foo (a[128], a[256]); ++ for (int i = 0; i < 384; i++) ++ if (a[i] != (i >= 128 && i < 256)) ++ __builtin_abort (); ++ return 0; ++} +Index: libgomp/testsuite/libgomp.fortran/pr88463-1.f90 +=================================================================== +--- a/src/libgomp/testsuite/libgomp.fortran/pr88463-1.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/libgomp/testsuite/libgomp.fortran/pr88463-1.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,19 @@ ++! PR fortran/88463 ++! { dg-do compile { target { ! *-*-* } } } ++ ++module pr88463_1 ++ integer, parameter :: c = 1 ++ real, parameter :: d(4) = (/ 2, 3, 4, 5 /) ++end module pr88463_1 ++ ++program pr88463 ++ use pr88463_1 ++ use pr88463_2 ++ integer :: i ++ real :: j(4) ++ !$omp parallel default(none) private (i, j) ++ i = a + b(1) + b(4) + c + d(1) + d(4) ++ j(1:4) = b(1:4) ++ j(1:4) = d(1:4) ++ !$omp end parallel ++end program pr88463 +Index: libgomp/testsuite/libgomp.fortran/pr88463-2.f90 +=================================================================== +--- a/src/libgomp/testsuite/libgomp.fortran/pr88463-2.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/libgomp/testsuite/libgomp.fortran/pr88463-2.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,9 @@ ++! PR fortran/88463 ++! { dg-do link } ++! { dg-options "-fopenmp" } ++! { dg-additional-sources pr88463-1.f90 } ++ ++module pr88463_2 ++ integer, parameter :: a = 1 ++ real, parameter :: b(4) = (/ 2., 3., 4., 5. /) ++end module pr88463_2 +Index: libgomp/testsuite/libgomp.c/pr89002.c +=================================================================== +--- a/src/libgomp/testsuite/libgomp.c/pr89002.c (.../tags/gcc_8_2_0_release) ++++ b/src/libgomp/testsuite/libgomp.c/pr89002.c (.../branches/gcc-8-branch) +@@ -0,0 +1,43 @@ ++/* PR middle-end/89002 */ ++ ++extern void abort (void); ++ ++int ++foo (int x) ++{ ++ int a; ++ int *p = &a; ++ ++#pragma omp taskloop lastprivate (a) ++ for (a = 0; a < x; ++a) ++ ; ++ return *p; ++} ++ ++int ++bar (int x) ++{ ++ int a; ++ int *p = &a; ++ ++#pragma omp parallel ++#pragma omp single ++#pragma omp taskloop lastprivate (a) ++ for (a = 0; a < x; ++a) ++ ; ++ return *p; ++} ++ ++int ++main () ++{ ++#pragma omp parallel ++#pragma omp single ++ { ++ if (foo (4) != 4) ++ abort (); ++ } ++ if (bar (6) != 6) ++ abort (); ++ return 0; ++} +Index: libgomp/testsuite/libgomp.c/pr86660.c +=================================================================== +--- a/src/libgomp/testsuite/libgomp.c/pr86660.c (.../tags/gcc_8_2_0_release) ++++ b/src/libgomp/testsuite/libgomp.c/pr86660.c (.../branches/gcc-8-branch) +@@ -0,0 +1,28 @@ ++/* PR middle-end/86660 */ ++ ++#pragma omp declare target ++int v[20]; ++ ++void ++foo (void) ++{ ++ if (v[7] != 2) ++ __builtin_abort (); ++ v[7] = 1; ++} ++#pragma omp end declare target ++ ++int ++main () ++{ ++ v[5] = 8; ++ v[7] = 2; ++ #pragma omp target map (always, tofrom: v) ++ { ++ foo (); ++ v[5] = 3; ++ } ++ if (v[7] != 1 || v[5] != 3) ++ __builtin_abort (); ++ return 0; ++} +Index: libgomp/testsuite/libgomp.graphite/force-parallel-5.c +=================================================================== +--- a/src/libgomp/testsuite/libgomp.graphite/force-parallel-5.c (.../tags/gcc_8_2_0_release) ++++ b/src/libgomp/testsuite/libgomp.graphite/force-parallel-5.c (.../branches/gcc-8-branch) +@@ -31,6 +31,6 @@ + } + + /* Check that parallel code generation part make the right answer. */ +-/* { dg-final { scan-tree-dump-times "2 loops carried no dependency" 1 "graphite" } } */ ++/* { dg-final { scan-tree-dump-times "2 loops carried no dependency" 1 "graphite" { xfail *-*-* } } } */ + /* { dg-final { scan-tree-dump-times "loopfn.0" 4 "optimized" } } */ + /* { dg-final { scan-tree-dump-times "loopfn.1" 4 "optimized" } } */ +Index: libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cc +=================================================================== +--- a/src/libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libsanitizer/sanitizer_common/sanitizer_linux_libcdep.cc (.../branches/gcc-8-branch) +@@ -235,7 +235,7 @@ + val = FIRST_32_SECOND_64(1168, 1776); + else if (minor == 11 || (minor == 12 && patch == 1)) + val = FIRST_32_SECOND_64(1168, 2288); +- else if (minor <= 13) ++ else if (minor <= 14) + val = FIRST_32_SECOND_64(1168, 2304); + else + val = FIRST_32_SECOND_64(1216, 2304); +Index: libsanitizer/ChangeLog +=================================================================== +--- a/src/libsanitizer/ChangeLog (.../tags/gcc_8_2_0_release) ++++ b/src/libsanitizer/ChangeLog (.../branches/gcc-8-branch) +@@ -1,3 +1,19 @@ ++2018-08-16 Martin Liska ++ ++ Backport from mainline ++ 2018-08-02 Martin Liska ++ ++ PR sanitizer/86022 ++ * sanitizer_common/sanitizer_linux_libcdep.cc (ThreadDescriptorSize): ++ Cherry-pick compiler-rt revision 338606. ++ ++2018-08-01 Marek Polacek ++ ++ PR sanitizer/86759 ++ * tsan/tsan_platform.h: Cherry-pick compiler-rt revision 318044. ++ * tsan/tsan_platform_linux.cc: Cherry-pick compiler-rt revision ++ 319180. ++ + 2018-07-26 Release Manager + + * GCC 8.2.0 released. +Index: libsanitizer/tsan/tsan_platform_linux.cc +=================================================================== +--- a/src/libsanitizer/tsan/tsan_platform_linux.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libsanitizer/tsan/tsan_platform_linux.cc (.../branches/gcc-8-branch) +@@ -214,9 +214,9 @@ + Die(); + } + #elif defined(__powerpc64__) +- if (vmaSize != 44 && vmaSize != 46) { ++ if (vmaSize != 44 && vmaSize != 46 && vmaSize != 47) { + Printf("FATAL: ThreadSanitizer: unsupported VMA range\n"); +- Printf("FATAL: Found %d - Supported 44 and 46\n", vmaSize); ++ Printf("FATAL: Found %d - Supported 44, 46, and 47\n", vmaSize); + Die(); + } + #endif +Index: libsanitizer/tsan/tsan_platform.h +=================================================================== +--- a/src/libsanitizer/tsan/tsan_platform.h (.../tags/gcc_8_2_0_release) ++++ b/src/libsanitizer/tsan/tsan_platform.h (.../branches/gcc-8-branch) +@@ -301,6 +301,38 @@ + static const uptr kVdsoBeg = 0x7800000000000000ull; + }; + ++/* ++C/C++ on linux/powerpc64 (47-bit VMA) ++0000 0000 1000 - 0100 0000 0000: main binary ++0100 0000 0000 - 0200 0000 0000: - ++0100 0000 0000 - 1000 0000 0000: shadow ++1000 0000 0000 - 1000 0000 0000: - ++1000 0000 0000 - 2000 0000 0000: metainfo (memory blocks and sync objects) ++2000 0000 0000 - 2000 0000 0000: - ++2000 0000 0000 - 2200 0000 0000: traces ++2200 0000 0000 - 7d00 0000 0000: - ++7d00 0000 0000 - 7e00 0000 0000: heap ++7e00 0000 0000 - 7e80 0000 0000: - ++7e80 0000 0000 - 8000 0000 0000: modules and main thread stack ++*/ ++struct Mapping47 { ++ static const uptr kMetaShadowBeg = 0x100000000000ull; ++ static const uptr kMetaShadowEnd = 0x200000000000ull; ++ static const uptr kTraceMemBeg = 0x200000000000ull; ++ static const uptr kTraceMemEnd = 0x220000000000ull; ++ static const uptr kShadowBeg = 0x010000000000ull; ++ static const uptr kShadowEnd = 0x100000000000ull; ++ static const uptr kHeapMemBeg = 0x7d0000000000ull; ++ static const uptr kHeapMemEnd = 0x7e0000000000ull; ++ static const uptr kLoAppMemBeg = 0x000000001000ull; ++ static const uptr kLoAppMemEnd = 0x010000000000ull; ++ static const uptr kHiAppMemBeg = 0x7e8000000000ull; ++ static const uptr kHiAppMemEnd = 0x800000000000ull; // 47 bits ++ static const uptr kAppMemMsk = 0x7c0000000000ull; ++ static const uptr kAppMemXor = 0x020000000000ull; ++ static const uptr kVdsoBeg = 0x7800000000000000ull; ++}; ++ + // Indicates the runtime will define the memory regions at runtime. + #define TSAN_RUNTIME_VMA 1 + #endif +@@ -427,11 +459,13 @@ + DCHECK(0); + return 0; + #elif defined(__powerpc64__) +- if (vmaSize == 44) +- return MappingImpl(); +- else +- return MappingImpl(); ++ switch (vmaSize) { ++ case 44: return MappingImpl(); ++ case 46: return MappingImpl(); ++ case 47: return MappingImpl(); ++ } + DCHECK(0); ++ return 0; + #else + return MappingImpl(); + #endif +@@ -580,11 +614,13 @@ + DCHECK(0); + return false; + #elif defined(__powerpc64__) +- if (vmaSize == 44) +- return IsAppMemImpl(mem); +- else +- return IsAppMemImpl(mem); ++ switch (vmaSize) { ++ case 44: return IsAppMemImpl(mem); ++ case 46: return IsAppMemImpl(mem); ++ case 47: return IsAppMemImpl(mem); ++ } + DCHECK(0); ++ return false; + #else + return IsAppMemImpl(mem); + #endif +@@ -607,11 +643,13 @@ + DCHECK(0); + return false; + #elif defined(__powerpc64__) +- if (vmaSize == 44) +- return IsShadowMemImpl(mem); +- else +- return IsShadowMemImpl(mem); ++ switch (vmaSize) { ++ case 44: return IsShadowMemImpl(mem); ++ case 46: return IsShadowMemImpl(mem); ++ case 47: return IsShadowMemImpl(mem); ++ } + DCHECK(0); ++ return false; + #else + return IsShadowMemImpl(mem); + #endif +@@ -634,11 +672,13 @@ + DCHECK(0); + return false; + #elif defined(__powerpc64__) +- if (vmaSize == 44) +- return IsMetaMemImpl(mem); +- else +- return IsMetaMemImpl(mem); ++ switch (vmaSize) { ++ case 44: return IsMetaMemImpl(mem); ++ case 46: return IsMetaMemImpl(mem); ++ case 47: return IsMetaMemImpl(mem); ++ } + DCHECK(0); ++ return false; + #else + return IsMetaMemImpl(mem); + #endif +@@ -671,11 +711,13 @@ + DCHECK(0); + return 0; + #elif defined(__powerpc64__) +- if (vmaSize == 44) +- return MemToShadowImpl(x); +- else +- return MemToShadowImpl(x); ++ switch (vmaSize) { ++ case 44: return MemToShadowImpl(x); ++ case 46: return MemToShadowImpl(x); ++ case 47: return MemToShadowImpl(x); ++ } + DCHECK(0); ++ return 0; + #else + return MemToShadowImpl(x); + #endif +@@ -710,11 +752,13 @@ + DCHECK(0); + return 0; + #elif defined(__powerpc64__) +- if (vmaSize == 44) +- return MemToMetaImpl(x); +- else +- return MemToMetaImpl(x); ++ switch (vmaSize) { ++ case 44: return MemToMetaImpl(x); ++ case 46: return MemToMetaImpl(x); ++ case 47: return MemToMetaImpl(x); ++ } + DCHECK(0); ++ return 0; + #else + return MemToMetaImpl(x); + #endif +@@ -762,11 +806,13 @@ + DCHECK(0); + return 0; + #elif defined(__powerpc64__) +- if (vmaSize == 44) +- return ShadowToMemImpl(s); +- else +- return ShadowToMemImpl(s); ++ switch (vmaSize) { ++ case 44: return ShadowToMemImpl(s); ++ case 46: return ShadowToMemImpl(s); ++ case 47: return ShadowToMemImpl(s); ++ } + DCHECK(0); ++ return 0; + #else + return ShadowToMemImpl(s); + #endif +@@ -797,11 +843,13 @@ + DCHECK(0); + return 0; + #elif defined(__powerpc64__) +- if (vmaSize == 44) +- return GetThreadTraceImpl(tid); +- else +- return GetThreadTraceImpl(tid); ++ switch (vmaSize) { ++ case 44: return GetThreadTraceImpl(tid); ++ case 46: return GetThreadTraceImpl(tid); ++ case 47: return GetThreadTraceImpl(tid); ++ } + DCHECK(0); ++ return 0; + #else + return GetThreadTraceImpl(tid); + #endif +@@ -827,11 +875,13 @@ + DCHECK(0); + return 0; + #elif defined(__powerpc64__) +- if (vmaSize == 44) +- return GetThreadTraceHeaderImpl(tid); +- else +- return GetThreadTraceHeaderImpl(tid); ++ switch (vmaSize) { ++ case 44: return GetThreadTraceHeaderImpl(tid); ++ case 46: return GetThreadTraceHeaderImpl(tid); ++ case 47: return GetThreadTraceHeaderImpl(tid); ++ } + DCHECK(0); ++ return 0; + #else + return GetThreadTraceHeaderImpl(tid); + #endif +Index: libstdc++-v3/configure +=================================================================== +--- a/src/libstdc++-v3/configure (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/configure (.../branches/gcc-8-branch) +@@ -729,6 +729,8 @@ + CSTDIO_H + SECTION_FLAGS + WERROR ++ENABLE_FLOAT128_FALSE ++ENABLE_FLOAT128_TRUE + thread_header + glibcxx_PCHFLAGS + GLIBCXX_BUILD_PCH_FALSE +@@ -11606,7 +11608,7 @@ + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11609 "configure" ++#line 11611 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -11712,7 +11714,7 @@ + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11715 "configure" ++#line 11717 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -15398,7 +15400,7 @@ + # Fake what AC_TRY_COMPILE does. + + cat > conftest.$ac_ext << EOF +-#line 15401 "configure" ++#line 15403 "configure" + int main() + { + typedef bool atomic_type; +@@ -15433,7 +15435,7 @@ + rm -f conftest* + + cat > conftest.$ac_ext << EOF +-#line 15436 "configure" ++#line 15438 "configure" + int main() + { + typedef short atomic_type; +@@ -15468,7 +15470,7 @@ + rm -f conftest* + + cat > conftest.$ac_ext << EOF +-#line 15471 "configure" ++#line 15473 "configure" + int main() + { + // NB: _Atomic_word not necessarily int. +@@ -15504,7 +15506,7 @@ + rm -f conftest* + + cat > conftest.$ac_ext << EOF +-#line 15507 "configure" ++#line 15509 "configure" + int main() + { + typedef long long atomic_type; +@@ -15585,7 +15587,7 @@ + # unnecessary for this test. + + cat > conftest.$ac_ext << EOF +-#line 15588 "configure" ++#line 15590 "configure" + int main() + { + _Decimal32 d1; +@@ -15627,7 +15629,7 @@ + # unnecessary for this test. + + cat > conftest.$ac_ext << EOF +-#line 15630 "configure" ++#line 15632 "configure" + template + struct same + { typedef T2 type; }; +@@ -15661,7 +15663,7 @@ + rm -f conftest* + + cat > conftest.$ac_ext << EOF +-#line 15664 "configure" ++#line 15666 "configure" + template + struct same + { typedef T2 type; }; +@@ -15683,9 +15685,6 @@ + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then +- +-$as_echo "#define _GLIBCXX_USE_FLOAT128 1" >>confdefs.h +- + enable_float128=yes + else + enable_float128=no +@@ -15692,6 +15691,7 @@ + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_float128" >&5 + $as_echo "$enable_float128" >&6; } ++ + rm -f conftest* + + ac_ext=c +@@ -81261,6 +81261,15 @@ + fi + + ++ if test $enable_float128 = yes; then ++ ENABLE_FLOAT128_TRUE= ++ ENABLE_FLOAT128_FALSE='#' ++else ++ ENABLE_FLOAT128_TRUE='#' ++ ENABLE_FLOAT128_FALSE= ++fi ++ ++ + if test $enable_libstdcxx_allocator_flag = new; then + ENABLE_ALLOCATOR_NEW_TRUE= + ENABLE_ALLOCATOR_NEW_FALSE='#' +@@ -81804,6 +81813,10 @@ + as_fn_error "conditional \"GLIBCXX_BUILD_PCH\" was never defined. + Usually this means the macro was only invoked conditionally." "$LINENO" 5 + fi ++if test -z "${ENABLE_FLOAT128_TRUE}" && test -z "${ENABLE_FLOAT128_FALSE}"; then ++ as_fn_error "conditional \"ENABLE_FLOAT128\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi + if test -z "${ENABLE_ALLOCATOR_NEW_TRUE}" && test -z "${ENABLE_ALLOCATOR_NEW_FALSE}"; then + as_fn_error "conditional \"ENABLE_ALLOCATOR_NEW\" was never defined. + Usually this means the macro was only invoked conditionally." "$LINENO" 5 +Index: libstdc++-v3/python/libstdcxx/v6/printers.py +=================================================================== +--- a/src/libstdc++-v3/python/libstdcxx/v6/printers.py (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/python/libstdcxx/v6/printers.py (.../branches/gcc-8-branch) +@@ -691,7 +691,13 @@ + return '%s' % (self.typename) + + def children (self): +- words = self.val['_M_w'] ++ try: ++ # An empty bitset may not have any members which will ++ # result in an exception being thrown. ++ words = self.val['_M_w'] ++ except: ++ return [] ++ + wtype = words.type + + # The _M_w member can be either an unsigned long, or an +@@ -701,7 +707,7 @@ + tsize = wtype.target ().sizeof + else: + words = [words] +- tsize = wtype.sizeof ++ tsize = wtype.sizeof + + nwords = wtype.sizeof / tsize + result = [] +@@ -837,7 +843,7 @@ + self.node = self.buckets[self.bucket] + if self.node: + break +- self.bucket = self.bucket + 1 ++ self.bucket = self.bucket + 1 + + def __iter__ (self): + return self +@@ -940,7 +946,6 @@ + data = self.flatten (imap (self.format_one, StdHashtableIterator (self.hashtable()))) + # Zip the two iterators together. + return izip (counter, data) +- + + def display_hint (self): + return 'map' +@@ -1040,7 +1045,7 @@ + func = gdb.block_for_pc(int(mgr.cast(gdb.lookup_type('intptr_t')))) + if not func: + raise ValueError("Invalid function pointer in %s" % self.typename) +- rx = r"""({0}::_Manager_\w+<.*>)::_S_manage\({0}::_Op, {0} const\*, {0}::_Arg\*\)""".format(typename) ++ rx = r"""({0}::_Manager_\w+<.*>)::_S_manage""".format(typename) + m = re.match(rx, func.function.name) + if not m: + raise ValueError("Unknown manager function in %s" % self.typename) +@@ -1229,6 +1234,39 @@ + return self._iterator(self.val['_M_cmpts']) + + ++class StdPairPrinter: ++ "Print a std::pair object, with 'first' and 'second' as children" ++ ++ def __init__(self, typename, val): ++ self.val = val ++ ++ class _iter(Iterator): ++ "An iterator for std::pair types. Returns 'first' then 'second'." ++ ++ def __init__(self, val): ++ self.val = val ++ self.which = 'first' ++ ++ def __iter__(self): ++ return self ++ ++ def __next__(self): ++ if self.which is None: ++ raise StopIteration ++ which = self.which ++ if which == 'first': ++ self.which = 'second' ++ else: ++ self.which = None ++ return (which, self.val[which]) ++ ++ def children(self): ++ return self._iter(self.val) ++ ++ def to_string(self): ++ return None ++ ++ + # A "regular expression" printer which conforms to the + # "SubPrettyPrinter" protocol from gdb.printing. + class RxPrinter(object): +@@ -1629,6 +1667,7 @@ + libstdcxx_printer.add_container('std::', 'map', StdMapPrinter) + libstdcxx_printer.add_container('std::', 'multimap', StdMapPrinter) + libstdcxx_printer.add_container('std::', 'multiset', StdSetPrinter) ++ libstdcxx_printer.add_version('std::', 'pair', StdPairPrinter) + libstdcxx_printer.add_version('std::', 'priority_queue', + StdStackOrQueuePrinter) + libstdcxx_printer.add_version('std::', 'queue', StdStackOrQueuePrinter) +Index: libstdc++-v3/scripts/make_exports.pl +=================================================================== +--- a/src/libstdc++-v3/scripts/make_exports.pl (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/scripts/make_exports.pl (.../branches/gcc-8-branch) +@@ -103,6 +103,14 @@ + # Ignore undefined and local symbols. + next if (/^([^ ]+) [Ua-z] /); + ++ # GCC does not export construction vtables from shared libraries. ++ # However the symbols are marked hidden, for Darwin that makes them ++ # also external "private_extern", which means that they show up in ++ # this list. When ld64 encounters them it generates a warning that ++ # they cannot be exported, so trim them from the set now. ++ next if (/^construction vtable.*$/); ++ next if (/^__ZTC.*$/); ++ + # $sym is the name of the symbol, $noeh_sym is the same thing with + # any '.eh' suffix removed. + die "unknown nm output $_" if (! /^([^ ]+) [A-Z] /); +Index: libstdc++-v3/src/filesystem/ops.cc +=================================================================== +--- a/src/libstdc++-v3/src/filesystem/ops.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/src/filesystem/ops.cc (.../branches/gcc-8-branch) +@@ -424,6 +424,19 @@ + ec = std::make_error_code(errc::invalid_argument); + return false; + } ++ ++ file_status st = symlink_status(p, ec); ++ if (is_directory(st)) ++ return false; ++ else if (ec && !status_known(st)) ++ return false; ++ else if (exists(st)) ++ { ++ if (!ec) ++ ec = std::make_error_code(std::errc::not_a_directory); ++ return false; ++ } ++ + std::stack missing; + path pp = p; + +@@ -432,24 +445,29 @@ + ec.clear(); + const auto& filename = pp.filename(); + if (!is_dot(filename) && !is_dotdot(filename)) +- missing.push(pp); +- pp.remove_filename(); ++ { ++ missing.push(std::move(pp)); ++ pp = missing.top().parent_path(); ++ } ++ else ++ pp = pp.parent_path(); + } + + if (ec || missing.empty()) + return false; + ++ bool created; + do + { + const path& top = missing.top(); +- create_directory(top, ec); +- if (ec && is_directory(top)) +- ec.clear(); ++ created = create_directory(top, ec); ++ if (ec) ++ return false; + missing.pop(); + } +- while (!missing.empty() && !ec); ++ while (!missing.empty()); + +- return missing.empty(); ++ return created; + } + + namespace +Index: libstdc++-v3/src/filesystem/std-path.cc +=================================================================== +--- a/src/libstdc++-v3/src/filesystem/std-path.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/src/filesystem/std-path.cc (.../branches/gcc-8-branch) +@@ -63,8 +63,6 @@ + } + else if (_M_type == _Type::_Filename) + clear(); +- if (!empty() && _M_pathname.back() != '/') +- throw 1; + return *this; + } + +@@ -87,10 +85,11 @@ + _M_pathname.erase(ext.second); + else + { +- const auto& back = _M_cmpts.back(); ++ auto& back = _M_cmpts.back(); + if (ext.first != &back._M_pathname) + _GLIBCXX_THROW_OR_ABORT( + std::logic_error("path::replace_extension failed")); ++ back._M_pathname.erase(ext.second); + _M_pathname.erase(back._M_pos + ext.second); + } + } +@@ -292,7 +291,7 @@ + bool + path::has_relative_path() const + { +- if (_M_type == _Type::_Filename) ++ if (_M_type == _Type::_Filename && !_M_pathname.empty()) + return true; + if (!_M_cmpts.empty()) + { +@@ -301,7 +300,7 @@ + ++__it; + if (__it != _M_cmpts.end() && __it->_M_type == _Type::_Root_dir) + ++__it; +- if (__it != _M_cmpts.end()) ++ if (__it != _M_cmpts.end() && !__it->_M_pathname.empty()) + return true; + } + return false; +@@ -378,7 +377,7 @@ + { + #ifdef _GLIBCXX_FILESYSTEM_IS_WINDOWS + // Replace each slash character in the root-name +- if (p.is_root_name()) ++ if (p._M_type == _Type::_Root_name || p._M_type == _Type::_Root_dir) + { + string_type s = p.native(); + std::replace(s.begin(), s.end(), L'/', L'\\'); +@@ -398,7 +397,8 @@ + } + else if (!ret.has_relative_path()) + { +- if (!ret.is_absolute()) ++ // remove a dot-dot filename immediately after root-directory ++ if (!ret.has_root_directory()) + ret /= p; + } + else +@@ -406,15 +406,30 @@ + // Got a path with a relative path (i.e. at least one non-root + // element) and no filename at the end (i.e. empty last element), + // so must have a trailing slash. See what is before it. +- auto elem = std::prev(ret.end(), 2); ++ auto elem = ret._M_cmpts.end() - 2; + if (elem->has_filename() && !is_dotdot(*elem)) + { + // Remove the filename before the trailing slash + // (equiv. to ret = ret.parent_path().remove_filename()) +- ret._M_pathname.erase(elem._M_cur->_M_pos); +- ret._M_cmpts.erase(elem._M_cur, ret._M_cmpts.end()); ++ ++ if (elem == ret._M_cmpts.begin()) ++ ret.clear(); ++ else ++ { ++ ret._M_pathname.erase(elem->_M_pos); ++ // Remove empty filename at the end: ++ ret._M_cmpts.pop_back(); ++ // If we still have a trailing non-root dir separator ++ // then leave an empty filename at the end: ++ if (std::prev(elem)->_M_type == _Type::_Filename) ++ elem->clear(); ++ else // remove the component completely: ++ ret._M_cmpts.pop_back(); ++ } + } +- else // ??? ++ else ++ // Append the ".." to something ending in "../" which happens ++ // when normalising paths like ".././.." and "../a/../.." + ret /= p; + } + } +@@ -460,10 +475,12 @@ + const path& p = *b; + if (is_dotdot(p)) + --n; +- else if (!is_dot(p)) ++ else if (!p.empty() && !is_dot(p)) + ++n; + } +- if (n >= 0) ++ if (n == 0 && (a == end() || a->empty())) ++ ret = "."; ++ else if (n >= 0) + { + const path dotdot(".."); + while (n--) +@@ -514,11 +531,13 @@ + void + path::_M_split_cmpts() + { +- _M_type = _Type::_Multi; + _M_cmpts.clear(); +- + if (_M_pathname.empty()) +- return; ++ { ++ _M_type = _Type::_Filename; ++ return; ++ } ++ _M_type = _Type::_Multi; + + size_t pos = 0; + const size_t len = _M_pathname.size(); +@@ -593,8 +612,7 @@ + // An empty element, if trailing non-root directory-separator present. + if (_M_cmpts.back()._M_type == _Type::_Filename) + { +- const auto& last = _M_cmpts.back(); +- pos = last._M_pos + last._M_pathname.size(); ++ pos = _M_pathname.size(); + _M_cmpts.emplace_back(string_type(), _Type::_Filename, pos); + } + } +Index: libstdc++-v3/src/filesystem/std-ops.cc +=================================================================== +--- a/src/libstdc++-v3/src/filesystem/std-ops.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/src/filesystem/std-ops.cc (.../branches/gcc-8-branch) +@@ -84,13 +84,26 @@ + fs::path + fs::absolute(const path& p, error_code& ec) + { ++ path ret; ++ if (p.empty()) ++ { ++ ec = make_error_code(std::errc::no_such_file_or_directory); ++ return ret; ++ } ++ if (p.is_absolute()) ++ { ++ ec.clear(); ++ ret = p; ++ return ret; ++ } ++ + #ifdef _GLIBCXX_FILESYSTEM_IS_WINDOWS + ec = std::make_error_code(errc::not_supported); +- return {}; + #else +- ec.clear(); +- return current_path() / p; ++ ret = current_path(ec); ++ ret /= p; + #endif ++ return ret; + } + + namespace +@@ -623,38 +636,74 @@ + ec = std::make_error_code(errc::invalid_argument); + return false; + } ++ ++ file_status st = symlink_status(p, ec); ++ if (is_directory(st)) ++ return false; ++ else if (ec && !status_known(st)) ++ return false; ++ else if (exists(st)) ++ { ++ if (!ec) ++ ec = std::make_error_code(std::errc::not_a_directory); ++ return false; ++ } ++ + std::stack missing; + path pp = p; + +- while (pp.has_filename() && status(pp, ec).type() == file_type::not_found) ++ // Strip any trailing slash ++ if (pp.has_relative_path() && !pp.has_filename()) ++ pp = pp.parent_path(); ++ ++ do + { +- ec.clear(); + const auto& filename = pp.filename(); +- if (!is_dot(filename) && !is_dotdot(filename)) +- missing.push(pp); +- pp = pp.parent_path(); ++ if (is_dot(filename) || is_dotdot(filename)) ++ pp = pp.parent_path(); ++ else ++ { ++ missing.push(std::move(pp)); ++ if (missing.size() > 1000) // sanity check ++ { ++ ec = std::make_error_code(std::errc::filename_too_long); ++ return false; ++ } ++ pp = missing.top().parent_path(); ++ } + +- if (missing.size() > 1000) // sanity check ++ if (pp.empty()) ++ break; ++ ++ st = status(pp, ec); ++ if (exists(st)) + { +- ec = std::make_error_code(std::errc::filename_too_long); +- return false; ++ if (ec) ++ return false; ++ if (!is_directory(st)) ++ { ++ ec = std::make_error_code(std::errc::not_a_directory); ++ return false; ++ } + } ++ ++ if (ec && exists(st)) ++ return false; + } ++ while (st.type() == file_type::not_found); + +- if (ec || missing.empty()) +- return false; +- ++ bool created; + do + { + const path& top = missing.top(); +- create_directory(top, ec); +- if (ec && is_directory(top)) +- ec.clear(); ++ created = create_directory(top, ec); ++ if (ec) ++ return false; + missing.pop(); + } +- while (!missing.empty() && !ec); ++ while (!missing.empty()); + +- return missing.empty(); ++ return created; + } + + namespace +@@ -1513,7 +1562,8 @@ + ++iter; + } + // canonicalize: +- result = canonical(result); ++ if (!result.empty()) ++ result = canonical(result); + // append the non-existing elements: + while (iter != end) + result /= *iter++; +@@ -1551,7 +1601,7 @@ + ++iter; + } + // canonicalize: +- if (!ec) ++ if (!ec && !result.empty()) + result = canonical(result, ec); + if (ec) + result.clear(); +Index: libstdc++-v3/src/c++11/system_error.cc +=================================================================== +--- a/src/libstdc++-v3/src/c++11/system_error.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/src/c++11/system_error.cc (.../branches/gcc-8-branch) +@@ -29,6 +29,7 @@ + #include + #include + #include ++#include + #undef __sso_string + + namespace +@@ -65,6 +66,261 @@ + // _GLIBCXX_HAVE_STRERROR_L, strerror_l(i, cloc) + return string(strerror(i)); + } ++ ++ virtual std::error_condition ++ default_error_condition(int ev) const noexcept ++ { ++ switch (ev) ++ { ++ // List of errno macros from [cerrno.syn]. ++ // C11 only defines EDOM, EILSEQ and ERANGE, the rest are from POSIX. ++ // They expand to integer constant expressions with type int, ++ // and distinct positive values, suitable for use in #if directives. ++ // POSIX adds more macros (but they're not defined on all targets, ++ // see config/os/*/error_constants.h), and POSIX allows ++ // EAGAIN == EWOULDBLOCK and ENOTSUP == EOPNOTSUPP. ++ ++#ifdef E2BIG ++ case E2BIG: ++#endif ++#ifdef EACCES ++ case EACCES: ++#endif ++#ifdef EADDRINUSE ++ case EADDRINUSE: ++#endif ++#ifdef EADDRNOTAVAIL ++ case EADDRNOTAVAIL: ++#endif ++#ifdef EAFNOSUPPORT ++ case EAFNOSUPPORT: ++#endif ++#ifdef EAGAIN ++ case EAGAIN: ++#endif ++#ifdef EALREADY ++ case EALREADY: ++#endif ++#ifdef EBADF ++ case EBADF: ++#endif ++#ifdef EBADMSG ++ case EBADMSG: ++#endif ++#ifdef EBUSY ++ case EBUSY: ++#endif ++#ifdef ECANCELED ++ case ECANCELED: ++#endif ++#ifdef ECHILD ++ case ECHILD: ++#endif ++#ifdef ECONNABORTED ++ case ECONNABORTED: ++#endif ++#ifdef ECONNREFUSED ++ case ECONNREFUSED: ++#endif ++#ifdef ECONNRESET ++ case ECONNRESET: ++#endif ++#ifdef EDEADLK ++ case EDEADLK: ++#endif ++#ifdef EDESTADDRREQ ++ case EDESTADDRREQ: ++#endif ++ case EDOM: ++#ifdef EEXIST ++ case EEXIST: ++#endif ++#ifdef EFAULT ++ case EFAULT: ++#endif ++#ifdef EFBIG ++ case EFBIG: ++#endif ++#ifdef EHOSTUNREACH ++ case EHOSTUNREACH: ++#endif ++#ifdef EIDRM ++ case EIDRM: ++#endif ++ case EILSEQ: ++#ifdef EINPROGRESS ++ case EINPROGRESS: ++#endif ++#ifdef EINTR ++ case EINTR: ++#endif ++#ifdef EINVAL ++ case EINVAL: ++#endif ++#ifdef EIO ++ case EIO: ++#endif ++#ifdef EISCONN ++ case EISCONN: ++#endif ++#ifdef EISDIR ++ case EISDIR: ++#endif ++#ifdef ELOOP ++ case ELOOP: ++#endif ++#ifdef EMFILE ++ case EMFILE: ++#endif ++#ifdef EMLINK ++ case EMLINK: ++#endif ++#ifdef EMSGSIZE ++ case EMSGSIZE: ++#endif ++#ifdef ENAMETOOLONG ++ case ENAMETOOLONG: ++#endif ++#ifdef ENETDOWN ++ case ENETDOWN: ++#endif ++#ifdef ENETRESET ++ case ENETRESET: ++#endif ++#ifdef ENETUNREACH ++ case ENETUNREACH: ++#endif ++#ifdef ENFILE ++ case ENFILE: ++#endif ++#ifdef ENOBUFS ++ case ENOBUFS: ++#endif ++#ifdef ENODATA ++ case ENODATA: ++#endif ++#ifdef ENODEV ++ case ENODEV: ++#endif ++#ifdef ENOENT ++ case ENOENT: ++#endif ++#ifdef ENOEXEC ++ case ENOEXEC: ++#endif ++#ifdef ENOLCK ++ case ENOLCK: ++#endif ++#ifdef ENOLINK ++ case ENOLINK: ++#endif ++#ifdef ENOMEM ++ case ENOMEM: ++#endif ++#ifdef ENOMSG ++ case ENOMSG: ++#endif ++#ifdef ENOPROTOOPT ++ case ENOPROTOOPT: ++#endif ++#ifdef ENOSPC ++ case ENOSPC: ++#endif ++#ifdef ENOSR ++ case ENOSR: ++#endif ++#ifdef ENOSTR ++ case ENOSTR: ++#endif ++#ifdef ENOSYS ++ case ENOSYS: ++#endif ++#ifdef ENOTCONN ++ case ENOTCONN: ++#endif ++#ifdef ENOTDIR ++ case ENOTDIR: ++#endif ++#if defined ENOTEMPTY && (!defined EEXIST || ENOTEMPTY != EEXIST) ++ // AIX sometimes uses the same value for EEXIST and ENOTEMPTY ++ case ENOTEMPTY: ++#endif ++#ifdef ENOTRECOVERABLE ++ case ENOTRECOVERABLE: ++#endif ++#ifdef ENOTSOCK ++ case ENOTSOCK: ++#endif ++#ifdef ENOTSUP ++ case ENOTSUP: ++#endif ++#ifdef ENOTTY ++ case ENOTTY: ++#endif ++#ifdef ENXIO ++ case ENXIO: ++#endif ++#if defined EOPNOTSUPP && (!defined ENOTSUP || EOPNOTSUPP != ENOTSUP) ++ case EOPNOTSUPP: ++#endif ++#ifdef EOVERFLOW ++ case EOVERFLOW: ++#endif ++#ifdef EOWNERDEAD ++ case EOWNERDEAD: ++#endif ++#ifdef EPERM ++ case EPERM: ++#endif ++#ifdef EPIPE ++ case EPIPE: ++#endif ++#ifdef EPROTO ++ case EPROTO: ++#endif ++#ifdef EPROTONOSUPPORT ++ case EPROTONOSUPPORT: ++#endif ++#ifdef EPROTOTYPE ++ case EPROTOTYPE: ++#endif ++ case ERANGE: ++#ifdef EROFS ++ case EROFS: ++#endif ++#ifdef ESPIPE ++ case ESPIPE: ++#endif ++#ifdef ESRCH ++ case ESRCH: ++#endif ++#ifdef ETIME ++ case ETIME: ++#endif ++#ifdef ETIMEDOUT ++ case ETIMEDOUT: ++#endif ++#ifdef ETXTBSY ++ case ETXTBSY: ++#endif ++#if defined EWOULDBLOCK && (!defined EAGAIN || EWOULDBLOCK != EAGAIN) ++ case EWOULDBLOCK: ++#endif ++#ifdef EXDEV ++ case EXDEV: ++#endif ++ return std::error_condition(ev, std::generic_category()); ++ ++ /* Additional system-dependent mappings from non-standard error codes ++ * to one of the POSIX values above would go here, e.g. ++ case EBLAH: ++ return std::error_condition(EINVAL, std::generic_category()); ++ */ ++ ++ default: ++ return std::error_condition(ev, std::system_category()); ++ } ++ } + }; + + const generic_error_category generic_category_instance{}; +Index: libstdc++-v3/configure.host +=================================================================== +--- a/src/libstdc++-v3/configure.host (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/configure.host (.../branches/gcc-8-branch) +@@ -230,16 +230,15 @@ + os_include_dir="os/newlib" + OPT_LDFLAGS="${OPT_LDFLAGS} \$(lt_host_flags)" + ;; +- darwin | darwin[1-7] | darwin[1-7].*) +- # On Darwin, performance is improved if libstdc++ is single-module. +- # Up to at least 10.3.7, -flat_namespace is required for proper +- # treatment of coalesced symbols. ++ darwin[4-7] | darwin[4-7].*) ++ # For earlier Darwin, performance is improved if libstdc++ is ++ # single-module. Up to at least 10.3.7, -flat_namespace is required ++ # for proper treatment of coalesced symbols. + OPT_LDFLAGS="${OPT_LDFLAGS} -Wl,-single_module -Wl,-flat_namespace" + os_include_dir="os/bsd/darwin" + ;; +- darwin[89] | darwin[89].* | darwin[1-9][0-9]* ) +- # On Darwin, performance is improved if libstdc++ is single-module, +- # and on 8+ compatibility is better if not -flat_namespace. ++ darwin8 | darwin8.* ) ++ # For 8+ compatibility is better if not -flat_namespace. + OPT_LDFLAGS="${OPT_LDFLAGS} -Wl,-single_module" + case "${host_cpu}" in + i[34567]86 | x86_64) +@@ -248,6 +247,10 @@ + esac + os_include_dir="os/bsd/darwin" + ;; ++ darwin*) ++ # Post Darwin8, defaults should be sufficient. ++ os_include_dir="os/bsd/darwin" ++ ;; + *djgpp*) # leading * picks up "msdosdjgpp" + os_include_dir="os/djgpp" + error_constants_dir="os/djgpp" +Index: libstdc++-v3/doc/xml/manual/intro.xml +=================================================================== +--- a/src/libstdc++-v3/doc/xml/manual/intro.xml (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/doc/xml/manual/intro.xml (.../branches/gcc-8-branch) +@@ -1167,6 +1167,13 @@ + Change constructors to constrained templates. + + ++ 3096: ++ path::lexically_relative is confused by trailing slashes ++ ++ ++ Implement the fix for trailing slashes. ++ ++ + + + +Index: libstdc++-v3/doc/xml/manual/status_cxx1998.xml +=================================================================== +--- a/src/libstdc++-v3/doc/xml/manual/status_cxx1998.xml (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/doc/xml/manual/status_cxx1998.xml (.../branches/gcc-8-branch) +@@ -1126,6 +1126,10 @@ + implementation will be described under + Localization. + ++ [23.*] All of the containers in this clause ++ define size_type as std::size_t and ++ difference_type as std::ptrdiff_t. ++ + [26.2.8]/9 I have no idea what + complex<T>'s pow(0,0) returns. + +Index: libstdc++-v3/doc/xml/manual/using.xml +=================================================================== +--- a/src/libstdc++-v3/doc/xml/manual/using.xml (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/doc/xml/manual/using.xml (.../branches/gcc-8-branch) +@@ -128,7 +128,7 @@ + must be available to all hosted implementations. Actually, the + word "files" is a misnomer, since the contents of the + headers don't necessarily have to be in any kind of external +- file. The only rule is that when one #include's a ++ file. The only rule is that when one #includes a + header, the contents of that header become available, no matter + how. + +@@ -140,16 +140,24 @@ + + There are two main types of include files: header files related + to a specific version of the ISO C++ standard (called Standard +- Headers), and all others (TR1, C++ ABI, and Extensions). ++ Headers), and all others (TS, TR1, C++ ABI, and Extensions). + + + +- Two dialects of standard headers are supported, corresponding to +- the 1998 standard as updated for 2003, and the current 2011 standard. ++ Multiple dialects of standard headers are supported, corresponding to ++ the 1998 standard as updated for 2003, the 2011 standard, the 2014 ++ standard, and so on. + + + +- C++98/03 include files. These are available in the default compilation mode, i.e. -std=c++98 or -std=gnu++98. ++ and ++ and ++ ++ show the C++98/03 include files. ++ These are available in the C++98 compilation mode, ++ i.e. -std=c++98 or -std=gnu++98. ++ Unless specified otherwise below, they are also available in later modes ++ (C++11, C++14 etc). + + + +@@ -207,6 +215,7 @@ + + valarray + vector ++ + + + +@@ -248,6 +257,7 @@ + ctime + cwchar + cwctype ++ + + + +@@ -254,8 +264,31 @@ +
+ + +-C++11 include files. These are only available in C++11 compilation ++ The following header is deprecated ++ and might be removed from a future C++ standard. ++ ++ ++ ++C++ 1998 Deprecated Library Header ++ ++ ++ ++ ++ ++strstream ++ ++ ++ ++
++ ++ ++ and ++ show the C++11 include files. ++These are available in C++11 compilation + mode, i.e. -std=c++11 or -std=gnu++11. ++Including these headers in C++98/03 mode may result in compilation errors. ++Unless specified otherwise below, they are also available in later modes ++(C++14 etc). + + + +@@ -271,73 +304,33 @@ + + + +-algorithm + array +-bitset ++atomic + chrono +-complex ++codecvt ++condition_variable + + +-condition_variable +-deque +-exception + forward_list +-fstream +- +- +-functional + future + initalizer_list +-iomanip +-ios +- +- +-iosfwd +-iostream +-istream +-iterator +-limits +- +- +-list +-locale +-map +-memory + mutex +- +- +-new +-numeric +-ostream +-queue + random + + + ratio + regex +-set +-sstream +-stack +- +- +-stdexcept +-streambuf +-string ++scoped_allocator + system_error + thread + + + tuple ++typeindex + type_traits +-typeinfo + unordered_map + unordered_set + +- +-utility +-valarray +-vector +- + + + +@@ -356,39 +349,77 @@ + + + +-cassert + ccomplex +-cctype +-cerrno + cfenv ++cinttypes ++cstdalign ++cstdbool + + +-cfloat +-cinttypes +-ciso646 +-climits +-clocale ++cstdint ++ctgmath ++cuchar ++ + ++ ++ ++ ++ ++ ++ shows the C++14 include file. ++This is available in C++14 compilation ++mode, i.e. -std=c++14 or -std=gnu++14. ++Including this header in C++98/03 mode or C++11 will not result in ++compilation errors, but will not define anything. ++Unless specified otherwise below, it is also available in later modes ++(C++17 etc). ++ ++ ++ ++ ++C++ 2014 Library Header ++ ++ ++ ++ + +-cmath +-csetjmp +-csignal +-cstdarg +-cstdbool ++shared_mutex + ++ ++ ++
++ ++ ++ shows the C++17 include files. ++These are available in C++17 compilation ++mode, i.e. -std=c++17 or -std=gnu++17. ++Including these headers in earlier modes will not result in ++compilation errors, but will not define anything. ++Unless specified otherwise below, they are also available in later modes ++(C++20 etc). ++ ++ ++ ++ ++C++ 2017 Library Headers ++ ++ ++ ++ ++ ++ ++ ++ + +-cstddef +-cstdint +-cstdlib +-cstdio +-cstring ++any ++charconv ++filesystem ++optional ++string_view + + +-ctgmath +-ctime +-cuchar +-cwchar +-cwctype ++variant ++ + + + +@@ -396,6 +427,97 @@ + + + ++, ++shows the additional include file define by the ++File System Technical Specification, ISO/IEC TS 18822. ++This is available in C++11 and later compilation modes. ++Including this header in earlier modes will not result in ++compilation errors, but will not define anything. ++ ++ ++ ++
++File System TS Header ++ ++ ++ ++ ++ ++experimental/filesystem ++ ++ ++ ++
++ ++ ++ ++, ++shows the additional include files define by the C++ Extensions for ++Library Fundamentals Technical Specification, ISO/IEC TS 19568. ++These are available in C++14 and later compilation modes. ++Including these headers in earlier modes will not result in ++compilation errors, but will not define anything. ++ ++ ++ ++ ++Library Fundamentals TS Headers ++ ++ ++ ++ ++ ++ ++ ++ ++ ++experimental/algorithm ++experimental/any ++experimental/array ++experimental/chrono ++experimental/deque ++ ++ ++experimental/forward_list ++experimental/functional ++experimental/iterator ++experimental/list ++experimental/map ++ ++ ++experimental/memory ++experimental/memory_resource ++experimental/numeric ++experimental/optional ++experimental/propagate_const ++ ++ ++experimental/random ++experimental/ratio ++experimental/regex ++experimental/set ++experimental/source_location ++ ++ ++experimental/string ++experimental/string_view ++experimental/system_error ++experimental/tuple ++experimental/type_traits ++ ++ ++experimental/unordered_map ++experimental/unordered_set ++experimental/utility ++experimental/vector ++ ++ ++ ++ ++
++ ++ ++ + In addition, TR1 includes as: + + +@@ -426,6 +548,7 @@ + + + tr1/utility ++ + + + +@@ -566,6 +689,7 @@ + + + ext/vstring.h ++ + + + +@@ -586,18 +710,22 @@ + + + ++debug/array + debug/bitset + debug/deque ++debug/forward_list + debug/list ++ ++ + debug/map + debug/set +- +- +- + debug/string + debug/unordered_map + debug/unordered_set ++ ++ + debug/vector ++ + + + +Index: libstdc++-v3/doc/xml/manual/test.xml +=================================================================== +--- a/src/libstdc++-v3/doc/xml/manual/test.xml (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/doc/xml/manual/test.xml (.../branches/gcc-8-branch) +@@ -763,12 +763,15 @@ + + + Similarly, tests which depend on a newer standard than the default +- should use dg-options instead of an effective target, +- so that they are not skipped by default. ++ must use dg-options instead of (or in addition to) ++ an effective target, so that they are not skipped by default. + For example, tests for C++17 features should use + // { dg-options "-std=gnu++17" } +- and not +- // { dg-do run "c++1z" } ++ before any dg-do such as: ++ // { dg-do run "c++17" } ++ The dg-options directive must come first, so that ++ the -std flag has already been added to the options ++ before checking the c++17 target. + + +
Examples of Test Directives +Index: libstdc++-v3/doc/html/manual/status.html +=================================================================== +--- a/src/libstdc++-v3/doc/html/manual/status.html (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/doc/html/manual/status.html (.../branches/gcc-8-branch) +@@ -118,6 +118,9 @@ +

[22.*] Anything and everything we have on locale + implementation will be described under + Localization. ++

[23.*] All of the containers in this clause ++ define size_type as std::size_t and ++ difference_type as std::ptrdiff_t. +

[26.2.8]/9 I have no idea what + complex<T>'s pow(0,0) returns. +

[27.4.2.4]/2 Calling +Index: libstdc++-v3/doc/html/manual/bugs.html +=================================================================== +--- a/src/libstdc++-v3/doc/html/manual/bugs.html (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/doc/html/manual/bugs.html (.../branches/gcc-8-branch) +@@ -526,4 +526,12 @@ + weak_ptr::owner_before + +

Add noexcept. ++

3076: ++ basic_string CTAD ambiguity ++ ++

Change constructors to constrained templates. ++

3096: ++ path::lexically_relative is confused by trailing slashes ++ ++

Implement the fix for trailing slashes. +

+\ No newline at end of file +Index: libstdc++-v3/doc/html/manual/test.html +=================================================================== +--- a/src/libstdc++-v3/doc/html/manual/test.html (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/doc/html/manual/test.html (.../branches/gcc-8-branch) +@@ -464,12 +464,15 @@ + possible variations. +

+ Similarly, tests which depend on a newer standard than the default +- should use dg-options instead of an effective target, +- so that they are not skipped by default. ++ must use dg-options instead of (or in addition to) ++ an effective target, so that they are not skipped by default. + For example, tests for C++17 features should use +

    // { dg-options "-std=gnu++17" }

+- and not +-

    // { dg-do run "c++1z" }

++ before any dg-do such as: ++

    // { dg-do run "c++17" }

++ The dg-options directive must come first, so that ++ the -std flag has already been added to the options ++ before checking the c++17 target. +

Examples of Test Directives

+ Example 1: Testing compilation only: +

+Index: libstdc++-v3/doc/html/manual/using_headers.html
+===================================================================
+--- a/src/libstdc++-v3/doc/html/manual/using_headers.html	(.../tags/gcc_8_2_0_release)
++++ b/src/libstdc++-v3/doc/html/manual/using_headers.html	(.../branches/gcc-8-branch)
+@@ -4,7 +4,7 @@
+      must be available to all hosted implementations.  Actually, the
+      word "files" is a misnomer, since the contents of the
+      headers don't necessarily have to be in any kind of external
+-     file.  The only rule is that when one #include's a
++     file.  The only rule is that when one #includes a
+      header, the contents of that header become available, no matter
+      how.
+    

+@@ -12,25 +12,71 @@ +

+ There are two main types of include files: header files related + to a specific version of the ISO C++ standard (called Standard +- Headers), and all others (TR1, C++ ABI, and Extensions). ++ Headers), and all others (TS, TR1, C++ ABI, and Extensions). +

+- Two dialects of standard headers are supported, corresponding to +- the 1998 standard as updated for 2003, and the current 2011 standard. ++ Multiple dialects of standard headers are supported, corresponding to ++ the 1998 standard as updated for 2003, the 2011 standard, the 2014 ++ standard, and so on. +

+- C++98/03 include files. These are available in the default compilation mode, i.e. -std=c++98 or -std=gnu++98. +-

Table 3.2. C++ 1998 Library Headers

algorithmbitsetcomplexdequeexception
fstreamfunctionaliomanipiosiosfwd
iostreamistreamiteratorlimitslist
localemapmemorynewnumeric
ostreamqueuesetsstreamstack
stdexceptstreambufstringutilitytypeinfo
valarrayvector   

Table 3.3. C++ 1998 Library Headers for C Library Facilities

cassertcerrnocctypecfloatciso646
climitsclocalecmathcsetjmpcsignal
cstdargcstddefcstdiocstdlibcstring
ctimecwcharcwctype  

+-C++11 include files. These are only available in C++11 compilation ++ Table 3.2, “C++ 1998 Library Headers” and ++ Table 3.3, “C++ 1998 Library Headers for C Library Facilities” and ++ Table 3.4, “C++ 1998 Deprecated Library Header” ++ show the C++98/03 include files. ++ These are available in the C++98 compilation mode, ++ i.e. -std=c++98 or -std=gnu++98. ++ Unless specified otherwise below, they are also available in later modes ++ (C++11, C++14 etc). ++

Table 3.2. C++ 1998 Library Headers

algorithmbitsetcomplexdequeexception
fstreamfunctionaliomanipiosiosfwd
iostreamistreamiteratorlimitslist
localemapmemorynewnumeric
ostreamqueuesetsstreamstack
stdexceptstreambufstringutilitytypeinfo
valarrayvector 

Table 3.3. C++ 1998 Library Headers for C Library Facilities

cassertcerrnocctypecfloatciso646
climitsclocalecmathcsetjmpcsignal
cstdargcstddefcstdiocstdlibcstring
ctimecwcharcwctype 

++ The following header is deprecated ++ and might be removed from a future C++ standard. ++

Table 3.4. C++ 1998 Deprecated Library Header

strstream

++Table 3.5, “C++ 2011 Library Headers” and ++Table 3.6, “C++ 2011 Library Headers for C Library Facilities” show the C++11 include files. ++These are available in C++11 compilation + mode, i.e. -std=c++11 or -std=gnu++11. +-

Table 3.4. C++ 2011 Library Headers

algorithmarraybitsetchronocomplex
condition_variabledequeexceptionforward_listfstream
functionalfutureinitalizer_listiomanipios
iosfwdiostreamistreamiteratorlimits
listlocalemapmemorymutex
newnumericostreamqueuerandom
ratioregexsetsstreamstack
stdexceptstreambufstringsystem_errorthread
tupletype_traitstypeinfounordered_mapunordered_set
utilityvalarrayvector  

Table 3.5. C++ 2011 Library Headers for C Library Facilities

cassertccomplexcctypecerrnocfenv
cfloatcinttypesciso646climitsclocale
cmathcsetjmpcsignalcstdargcstdbool
cstddefcstdintcstdlibcstdiocstring
ctgmathctimecucharcwcharcwctype

++Including these headers in C++98/03 mode may result in compilation errors. ++Unless specified otherwise below, they are also available in later modes ++(C++14 etc). ++

Table 3.5. C++ 2011 Library Headers

arrayatomicchronocodecvtcondition_variable
forward_listfutureinitalizer_listmutexrandom
ratioregexscoped_allocatorsystem_errorthread
tupletypeindextype_traitsunordered_mapunordered_set

Table 3.6. C++ 2011 Library Headers for C Library Facilities

ccomplexcfenvcinttypescstdaligncstdbool
cstdintctgmathcuchar 

++Table 3.7, “C++ 2014 Library Header” shows the C++14 include file. ++This is available in C++14 compilation ++mode, i.e. -std=c++14 or -std=gnu++14. ++Including this header in C++98/03 mode or C++11 will not result in ++compilation errors, but will not define anything. ++Unless specified otherwise below, it is also available in later modes ++(C++17 etc). ++

Table 3.7. C++ 2014 Library Header

shared_mutex

++Table 3.8, “C++ 2017 Library Headers” shows the C++17 include files. ++These are available in C++17 compilation ++mode, i.e. -std=c++17 or -std=gnu++17. ++Including these headers in earlier modes will not result in ++compilation errors, but will not define anything. ++Unless specified otherwise below, they are also available in later modes ++(C++20 etc). ++

Table 3.8. C++ 2017 Library Headers

anycharconvfilesystemoptionalstring_view
variant 

++Table 3.9, “File System TS Header”, ++shows the additional include file define by the ++File System Technical Specification, ISO/IEC TS 18822. ++This is available in C++11 and later compilation modes. ++Including this header in earlier modes will not result in ++compilation errors, but will not define anything. ++

Table 3.9. File System TS Header

experimental/filesystem

++Table 3.10, “Library Fundamentals TS Headers”, ++shows the additional include files define by the C++ Extensions for ++Library Fundamentals Technical Specification, ISO/IEC TS 19568. ++These are available in C++14 and later compilation modes. ++Including these headers in earlier modes will not result in ++compilation errors, but will not define anything. ++

Table 3.10. Library Fundamentals TS Headers

experimental/algorithmexperimental/anyexperimental/arrayexperimental/chronoexperimental/deque
experimental/forward_listexperimental/functionalexperimental/iteratorexperimental/listexperimental/map
experimental/memoryexperimental/memory_resourceexperimental/numericexperimental/optionalexperimental/propagate_const
experimental/randomexperimental/ratioexperimental/regexexperimental/setexperimental/source_location
experimental/stringexperimental/string_viewexperimental/system_errorexperimental/tupleexperimental/type_traits
experimental/unordered_mapexperimental/unordered_setexperimental/utilityexperimental/vector 

+ In addition, TR1 includes as: +-

Table 3.6. C++ TR 1 Library Headers

tr1/arraytr1/complextr1/memorytr1/functionaltr1/random
tr1/regextr1/tupletr1/type_traitstr1/unordered_maptr1/unordered_set
tr1/utility    

Table 3.7. C++ TR 1 Library Headers for C Library Facilities

tr1/ccomplextr1/cfenvtr1/cfloattr1/cmathtr1/cinttypes
tr1/climitstr1/cstdargtr1/cstdbooltr1/cstdinttr1/cstdio
tr1/cstdlibtr1/ctgmathtr1/ctimetr1/cwchartr1/cwctype

Decimal floating-point arithmetic is available if the C++ ++

Table 3.11. C++ TR 1 Library Headers

tr1/arraytr1/complextr1/memorytr1/functionaltr1/random
tr1/regextr1/tupletr1/type_traitstr1/unordered_maptr1/unordered_set
tr1/utility 

Table 3.12. C++ TR 1 Library Headers for C Library Facilities

tr1/ccomplextr1/cfenvtr1/cfloattr1/cmathtr1/cinttypes
tr1/climitstr1/cstdargtr1/cstdbooltr1/cstdinttr1/cstdio
tr1/cstdlibtr1/ctgmathtr1/ctimetr1/cwchartr1/cwctype

Decimal floating-point arithmetic is available if the C++ + compiler supports scalar decimal floating-point types defined via + __attribute__((mode(SD|DD|LD))). +-

Table 3.8. C++ TR 24733 Decimal Floating-Point Header

decimal/decimal

++

Table 3.13. C++ TR 24733 Decimal Floating-Point Header

decimal/decimal

+ Also included are files for the C++ ABI interface: +-

Table 3.9. C++ ABI Headers

cxxabi.hcxxabi_forced.h

++

Table 3.14. C++ ABI Headers

cxxabi.hcxxabi_forced.h

+ And a large variety of extensions. +-

Table 3.10. Extension Headers

ext/algorithmext/atomicity.hext/array_allocator.hext/bitmap_allocator.hext/cast.h
ext/codecvt_specializations.hext/concurrence.hext/debug_allocator.hext/enc_filebuf.hext/extptr_allocator.h
ext/functionalext/iteratorext/malloc_allocator.hext/memoryext/mt_allocator.h
ext/new_allocator.hext/numericext/numeric_traits.hext/pb_ds/assoc_container.hext/pb_ds/priority_queue.h
ext/pod_char_traits.hext/pool_allocator.hext/rb_treeext/ropeext/slist
ext/stdio_filebuf.hext/stdio_sync_filebuf.hext/throw_allocator.hext/typelist.hext/type_traits.h
ext/vstring.h    

Table 3.11. Extension Debug Headers

debug/bitsetdebug/dequedebug/listdebug/mapdebug/set
debug/stringdebug/unordered_mapdebug/unordered_setdebug/vector 

Table 3.12. Extension Profile Headers

profile/bitsetprofile/dequeprofile/listprofile/map
profile/setprofile/unordered_mapprofile/unordered_setprofile/vector

Table 3.13. Extension Parallel Headers

parallel/algorithmparallel/numeric

Mixing Headers

A few simple rules. ++

Table 3.15. Extension Headers

ext/algorithmext/atomicity.hext/array_allocator.hext/bitmap_allocator.hext/cast.h
ext/codecvt_specializations.hext/concurrence.hext/debug_allocator.hext/enc_filebuf.hext/extptr_allocator.h
ext/functionalext/iteratorext/malloc_allocator.hext/memoryext/mt_allocator.h
ext/new_allocator.hext/numericext/numeric_traits.hext/pb_ds/assoc_container.hext/pb_ds/priority_queue.h
ext/pod_char_traits.hext/pool_allocator.hext/rb_treeext/ropeext/slist
ext/stdio_filebuf.hext/stdio_sync_filebuf.hext/throw_allocator.hext/typelist.hext/type_traits.h
ext/vstring.h 

Table 3.16. Extension Debug Headers

debug/arraydebug/bitsetdebug/dequedebug/forward_listdebug/list
debug/mapdebug/setdebug/stringdebug/unordered_mapdebug/unordered_set
debug/vector 

Table 3.17. Extension Profile Headers

profile/bitsetprofile/dequeprofile/listprofile/map
profile/setprofile/unordered_mapprofile/unordered_setprofile/vector

Table 3.18. Extension Parallel Headers

parallel/algorithmparallel/numeric

Mixing Headers

A few simple rules. +

First, mixing different dialects of the standard headers is not + possible. It's an all-or-nothing affair. Thus, code like +

+Index: libstdc++-v3/doc/html/manual/index.html
+===================================================================
+--- a/src/libstdc++-v3/doc/html/manual/index.html	(.../tags/gcc_8_2_0_release)
++++ b/src/libstdc++-v3/doc/html/manual/index.html	(.../branches/gcc-8-branch)
+@@ -149,7 +149,7 @@
+ 	  
22.10. Non-unique Mapping Containers
22.11. Point Iterator Hierarchy
22.12. Invalidation Guarantee Tags Hierarchy
22.13. Container Tag Hierarchy
22.14. Hash functions, ranged-hash functions, and + range-hashing functions
22.15. Insert hash sequence diagram
22.16. Insert hash sequence diagram with a null policy
22.17. Hash policy class diagram
22.18. Balls and bins
22.19. Insert resize sequence diagram
22.20. Standard resize policy trigger sequence + diagram
22.21. Standard resize policy size sequence +- diagram
22.22. Tree node invariants
22.23. Tree node invalidation
22.24. A tree and its update policy
22.25. Restoring node invariants
22.26. Insert update sequence
22.27. Useless update path
22.28. A PATRICIA trie
22.29. A trie and its update policy
22.30. A simple list
22.31. The counter algorithm
22.32. Underlying Priority-Queue Data-Structures.
22.33. Priority-Queue Data-Structure Tags.
B.1. Configure and Build File Dependencies

List of Equations

22.1. Ranged Hash Function
22.2. Range-Hashing, Division Method
22.3. Division via Prime Modulo
22.4. Division via Bit Mask
22.5. + A Standard String Hash Function +
22.6. + Only k String DNA Hash +Index: libstdc++-v3/include/Makefile.in +=================================================================== +--- a/src/libstdc++-v3/include/Makefile.in (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/Makefile.in (.../branches/gcc-8-branch) +@@ -1662,6 +1662,11 @@ + @ENABLE_ALLOCATOR_NEW_FALSE@stamp-allocator-new: + @ENABLE_ALLOCATOR_NEW_FALSE@ echo 0 > stamp-allocator-new + ++@ENABLE_FLOAT128_TRUE@stamp-float128: ++@ENABLE_FLOAT128_TRUE@ echo 'define _GLIBCXX_USE_FLOAT128 1' > stamp-float128 ++@ENABLE_FLOAT128_FALSE@stamp-float128: ++@ENABLE_FLOAT128_FALSE@ echo 'undef _GLIBCXX_USE_FLOAT128' > stamp-float128 ++ + # NB: The non-empty default ldbl_compat works around an AIX sed + # oddity, see libstdc++/31957 for details. + ${host_builddir}/c++config.h: ${CONFIG_HEADER} \ +@@ -1673,7 +1678,8 @@ + stamp-extern-template \ + stamp-dual-abi \ + stamp-cxx11-abi \ +- stamp-allocator-new ++ stamp-allocator-new \ ++ stamp-float128 + @date=`cat ${toplevel_srcdir}/gcc/DATESTAMP` ;\ + release=`sed 's/^\([0-9]*\).*$$/\1/' ${toplevel_srcdir}/gcc/BASE-VER` ;\ + ns_version=`cat stamp-namespace-version` ;\ +@@ -1682,6 +1688,7 @@ + dualabi=`cat stamp-dual-abi` ;\ + cxx11abi=`cat stamp-cxx11-abi` ;\ + allocatornew=`cat stamp-allocator-new` ;\ ++ float128=`cat stamp-float128` ;\ + ldbl_compat='s,g,g,' ;\ + grep "^[ ]*#[ ]*define[ ][ ]*_GLIBCXX_LONG_DOUBLE_COMPAT[ ][ ]*1[ ]*$$" \ + ${CONFIG_HEADER} > /dev/null 2>&1 \ +@@ -1694,6 +1701,7 @@ + -e "s,define _GLIBCXX_USE_DUAL_ABI, define _GLIBCXX_USE_DUAL_ABI $$dualabi," \ + -e "s,define _GLIBCXX_USE_CXX11_ABI, define _GLIBCXX_USE_CXX11_ABI $$cxx11abi," \ + -e "s,define _GLIBCXX_USE_ALLOCATOR_NEW, define _GLIBCXX_USE_ALLOCATOR_NEW $$allocatornew," \ ++ -e "s,define _GLIBCXX_USE_FLOAT128,$$float128," \ + -e "$$ldbl_compat" \ + < ${glibcxx_srcdir}/include/bits/c++config > $@ ;\ + sed -e 's/HAVE_/_GLIBCXX_HAVE_/g' \ +Index: libstdc++-v3/include/std/optional +=================================================================== +--- a/src/libstdc++-v3/include/std/optional (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/std/optional (.../branches/gcc-8-branch) +@@ -102,11 +102,13 @@ + // Payload for optionals with non-trivial destructor. + template ::value, +- bool /*_HasTrivialCopyAssignment*/ = +- is_trivially_copy_assignable<_Tp>::value, +- bool /*_HasTrivialMoveAssignment*/ = +- is_trivially_move_assignable<_Tp>::value> ++ is_trivially_destructible_v<_Tp>, ++ bool /*_HasTrivialCopy */ = ++ is_trivially_copy_assignable_v<_Tp> ++ && is_trivially_copy_constructible_v<_Tp>, ++ bool /*_HasTrivialMove */ = ++ is_trivially_move_assignable_v<_Tp> ++ && is_trivially_move_constructible_v<_Tp>> + struct _Optional_payload + { + constexpr _Optional_payload() noexcept : _M_empty() { } +@@ -148,6 +150,7 @@ + this->_M_construct(std::move(__other._M_payload)); + } + ++ constexpr + _Optional_payload& + operator=(const _Optional_payload& __other) + { +@@ -163,6 +166,7 @@ + return *this; + } + ++ constexpr + _Optional_payload& + operator=(_Optional_payload&& __other) + noexcept(__and_, +@@ -216,6 +220,7 @@ + { return this->_M_payload; } + + // _M_reset is a 'safe' operation with no precondition. ++ constexpr + void + _M_reset() noexcept + { +@@ -248,36 +253,21 @@ + _M_engaged(true) + { } + +- template struct __ctor_tag {}; +- + constexpr +- _Optional_payload(__ctor_tag, const _Tp& __other) +- : _M_payload(__other), _M_engaged(true) +- { } +- +- constexpr _Optional_payload(__ctor_tag) noexcept +- : _M_empty(), _M_engaged(false) +- { } +- +- constexpr _Optional_payload(__ctor_tag, _Tp&& __other) +- : _M_payload(std::move(__other)), _M_engaged(true) +- { } +- +- constexpr + _Optional_payload(bool __engaged, const _Optional_payload& __other) +- : _Optional_payload(__engaged ? +- _Optional_payload(__ctor_tag{}, +- __other._M_payload) : +- _Optional_payload(__ctor_tag{})) +- { } ++ : _M_engaged(__engaged) ++ { ++ if (__engaged) ++ _M_construct(__other._M_get()); ++ } + + constexpr + _Optional_payload(bool __engaged, _Optional_payload&& __other) +- : _Optional_payload(__engaged +- ? _Optional_payload(__ctor_tag{}, +- std::move(__other._M_payload)) +- : _Optional_payload(__ctor_tag{})) +- { } ++ : _M_engaged(__engaged) ++ { ++ if (__engaged) ++ _M_construct(std::move(__other._M_get())); ++ } + + using _Stored_type = remove_const_t<_Tp>; + +@@ -288,6 +278,15 @@ + _Stored_type _M_payload; + }; + bool _M_engaged; ++ ++ // The _M_get operations have _M_engaged as a precondition. ++ constexpr _Tp& ++ _M_get() noexcept ++ { return this->_M_payload; } ++ ++ constexpr const _Tp& ++ _M_get() const noexcept ++ { return this->_M_payload; } + }; + + // Payload for optionals with non-trivial copy assignment. +@@ -311,41 +310,26 @@ + _M_engaged(true) + { } + +- template struct __ctor_tag {}; +- +- constexpr _Optional_payload(__ctor_tag, const _Tp& __other) +- : _M_payload(__other), +- _M_engaged(true) +- { } +- +- constexpr _Optional_payload(__ctor_tag) noexcept +- : _M_empty(), _M_engaged(false) +- { } +- +- constexpr _Optional_payload(__ctor_tag, _Tp&& __other) +- : _M_payload(std::move(__other)), +- _M_engaged(true) +- { } +- + constexpr + _Optional_payload(bool __engaged, const _Optional_payload& __other) +- : _Optional_payload(__engaged ? +- _Optional_payload(__ctor_tag{}, +- __other._M_payload) : +- _Optional_payload(__ctor_tag{})) +- { } ++ : _M_engaged(__engaged) ++ { ++ if (__engaged) ++ _M_construct(__other._M_get()); ++ } + + constexpr + _Optional_payload(bool __engaged, _Optional_payload&& __other) +- : _Optional_payload(__engaged +- ? _Optional_payload(__ctor_tag{}, +- std::move(__other._M_payload)) +- : _Optional_payload(__ctor_tag{})) +- { } ++ : _M_engaged(__engaged) ++ { ++ if (__engaged) ++ _M_construct(std::move(__other._M_get())); ++ } + + _Optional_payload(const _Optional_payload&) = default; + _Optional_payload(_Optional_payload&&) = default; + ++ constexpr + _Optional_payload& + operator=(const _Optional_payload& __other) + { +@@ -394,6 +378,7 @@ + { return this->_M_payload; } + + // _M_reset is a 'safe' operation with no precondition. ++ constexpr + void + _M_reset() noexcept + { +@@ -427,38 +412,21 @@ + _M_engaged(true) + { } + +- template struct __ctor_tag {}; +- + constexpr +- _Optional_payload(__ctor_tag, const _Tp& __other) +- : _M_payload(__other), +- _M_engaged(true) +- { } +- +- constexpr _Optional_payload(__ctor_tag) noexcept +- : _M_empty(), _M_engaged(false) +- { } +- +- constexpr _Optional_payload(__ctor_tag, _Tp&& __other) +- : _M_payload(std::move(__other)), +- _M_engaged(true) +- { } +- +- constexpr + _Optional_payload(bool __engaged, const _Optional_payload& __other) +- : _Optional_payload(__engaged ? +- _Optional_payload(__ctor_tag{}, +- __other._M_payload) : +- _Optional_payload(__ctor_tag{})) +- { } ++ : _M_engaged(__engaged) ++ { ++ if (__engaged) ++ _M_construct(__other._M_get()); ++ } + + constexpr + _Optional_payload(bool __engaged, _Optional_payload&& __other) +- : _Optional_payload(__engaged +- ? _Optional_payload(__ctor_tag{}, +- std::move(__other._M_payload)) +- : _Optional_payload(__ctor_tag{})) +- { } ++ : _M_engaged(__engaged) ++ { ++ if (__engaged) ++ _M_construct(std::move(__other._M_get())); ++ } + + _Optional_payload(const _Optional_payload&) = default; + _Optional_payload(_Optional_payload&&) = default; +@@ -466,6 +434,7 @@ + _Optional_payload& + operator=(const _Optional_payload& __other) = default; + ++ constexpr + _Optional_payload& + operator=(_Optional_payload&& __other) + noexcept(__and_, +@@ -513,6 +482,7 @@ + { return this->_M_payload; } + + // _M_reset is a 'safe' operation with no precondition. ++ constexpr + void + _M_reset() noexcept + { +@@ -546,41 +516,26 @@ + _M_engaged(true) + { } + +- template struct __ctor_tag {}; +- +- constexpr _Optional_payload(__ctor_tag, const _Tp& __other) +- : _M_payload(__other), +- _M_engaged(true) +- { } +- +- constexpr _Optional_payload(__ctor_tag) noexcept +- : _M_empty(), _M_engaged(false) +- { } +- +- constexpr _Optional_payload(__ctor_tag, _Tp&& __other) +- : _M_payload(std::move(__other)), +- _M_engaged(true) +- { } +- + constexpr + _Optional_payload(bool __engaged, const _Optional_payload& __other) +- : _Optional_payload(__engaged ? +- _Optional_payload(__ctor_tag{}, +- __other._M_payload) : +- _Optional_payload(__ctor_tag{})) +- { } ++ : _M_engaged(__engaged) ++ { ++ if (__engaged) ++ _M_construct(__other._M_get()); ++ } + + constexpr + _Optional_payload(bool __engaged, _Optional_payload&& __other) +- : _Optional_payload(__engaged +- ? _Optional_payload(__ctor_tag{}, +- std::move(__other._M_payload)) +- : _Optional_payload(__ctor_tag{})) +- { } ++ : _M_engaged(__engaged) ++ { ++ if (__engaged) ++ _M_construct(std::move(__other._M_get())); ++ } + + _Optional_payload(const _Optional_payload&) = default; + _Optional_payload(_Optional_payload&&) = default; + ++ constexpr + _Optional_payload& + operator=(const _Optional_payload& __other) + { +@@ -596,6 +551,7 @@ + return *this; + } + ++ constexpr + _Optional_payload& + operator=(_Optional_payload&& __other) + noexcept(__and_, +@@ -643,6 +599,7 @@ + { return this->_M_payload; } + + // _M_reset is a 'safe' operation with no precondition. ++ constexpr + void + _M_reset() noexcept + { +@@ -681,6 +638,7 @@ + } + + // _M_reset is a 'safe' operation with no precondition. ++ constexpr + void + _M_reset() noexcept + { +@@ -1222,6 +1180,7 @@ + operator->() const + { return std::__addressof(this->_M_get()); } + ++ constexpr + _Tp* + operator->() + { return std::__addressof(this->_M_get()); } +Index: libstdc++-v3/include/std/string_view +=================================================================== +--- a/src/libstdc++-v3/include/std/string_view (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/std/string_view (.../branches/gcc-8-branch) +@@ -235,14 +235,14 @@ + __glibcxx_requires_string_len(__str, __n); + __pos = _M_check(__pos, "basic_string_view::copy"); + const size_type __rlen = std::min(__n, _M_len - __pos); +- for (auto __begin = this->_M_str + __pos, +- __end = __begin + __rlen; __begin != __end;) +- *__str++ = *__begin++; ++ // _GLIBCXX_RESOLVE_LIB_DEFECTS ++ // 2777. basic_string_view::copy should use char_traits::copy ++ traits_type::copy(__str, data() + __pos, __rlen); + return __rlen; + } + + constexpr basic_string_view +- substr(size_type __pos, size_type __n = npos) const noexcept(false) ++ substr(size_type __pos = 0, size_type __n = npos) const noexcept(false) + { + __pos = _M_check(__pos, "basic_string_view::substr"); + const size_type __rlen = std::min(__n, _M_len - __pos); +Index: libstdc++-v3/include/std/type_traits +=================================================================== +--- a/src/libstdc++-v3/include/std/type_traits (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/std/type_traits (.../branches/gcc-8-branch) +@@ -1286,7 +1286,7 @@ + /// alignment_of + template + struct alignment_of +- : public integral_constant { }; ++ : public integral_constant { }; + + /// rank + template +@@ -2313,7 +2313,7 @@ + : public __invoke_result<_Functor, _ArgTypes...> + { }; + +-#if __cplusplus > 201103L ++#if __cplusplus >= 201402L + /// Alias template for aligned_storage + template::__type)> +@@ -2345,11 +2345,16 @@ + /// Alias template for result_of + template + using result_of_t = typename result_of<_Tp>::type; +-#endif ++#endif // C++14 + ++ // __enable_if_t (std::enable_if_t for C++11) ++ template ++ using __enable_if_t = typename enable_if<_Cond, _Tp>::type; ++ ++ // __void_t (std::void_t for C++11) + template using __void_t = void; + +-#if __cplusplus > 201402L || !defined(__STRICT_ANSI__) // c++1z or gnu++11 ++#if __cplusplus >= 201703L || !defined(__STRICT_ANSI__) // c++17 or gnu++11 + #define __cpp_lib_void_t 201411 + /// A metafunction that always yields void, used for detecting valid types. + template using void_t = void; +Index: libstdc++-v3/include/std/thread +=================================================================== +--- a/src/libstdc++-v3/include/std/thread (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/std/thread (.../branches/gcc-8-branch) +@@ -102,21 +102,26 @@ + private: + id _M_id; + +- public: +- thread() noexcept = default; + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 2097. packaged_task constructors should be constrained +- thread(thread&) = delete; +- thread(const thread&) = delete; +- thread(const thread&&) = delete; ++ template ++ using __not_same = __not_::type>::type, ++ thread>>; + +- thread(thread&& __t) noexcept +- { swap(__t); } ++ public: ++ thread() noexcept = default; + +- template ++ template>> + explicit + thread(_Callable&& __f, _Args&&... __args) + { ++ static_assert( __is_invocable::type, ++ typename decay<_Args>::type...>::value, ++ "std::thread arguments must be invocable after conversion to rvalues" ++ ); ++ + #ifdef GTHR_ACTIVE_PROXY + // Create a reference to pthread_create, not just the gthr weak symbol. + auto __depend = reinterpret_cast(&pthread_create); +@@ -135,6 +140,11 @@ + std::terminate(); + } + ++ thread(const thread&) = delete; ++ ++ thread(thread&& __t) noexcept ++ { swap(__t); } ++ + thread& operator=(const thread&) = delete; + + thread& operator=(thread&& __t) noexcept +Index: libstdc++-v3/include/std/chrono +=================================================================== +--- a/src/libstdc++-v3/include/std/chrono (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/std/chrono (.../branches/gcc-8-branch) +@@ -275,15 +275,15 @@ + struct duration_values + { + static constexpr _Rep +- zero() ++ zero() noexcept + { return _Rep(0); } + + static constexpr _Rep +- max() ++ max() noexcept + { return numeric_limits<_Rep>::max(); } + + static constexpr _Rep +- min() ++ min() noexcept + { return numeric_limits<_Rep>::lowest(); } + }; + +@@ -430,15 +430,15 @@ + + // 20.11.5.4 special values + static constexpr duration +- zero() ++ zero() noexcept + { return duration(duration_values::zero()); } + + static constexpr duration +- min() ++ min() noexcept + { return duration(duration_values::min()); } + + static constexpr duration +- max() ++ max() noexcept + { return duration(duration_values::max()); } + + private: +@@ -656,11 +656,11 @@ + + // special values + static constexpr time_point +- min() ++ min() noexcept + { return time_point(duration::min()); } + + static constexpr time_point +- max() ++ max() noexcept + { return time_point(duration::max()); } + + private: +Index: libstdc++-v3/include/std/functional +=================================================================== +--- a/src/libstdc++-v3/include/std/functional (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/std/functional (.../branches/gcc-8-branch) +@@ -864,7 +864,8 @@ + template \ + decltype(_S_not<__inv_res_t<_Fn _QUALS, _Args...>>()) \ + operator()(_Args&&... __args) _QUALS \ +- noexcept(noexcept(_S_not<__inv_res_t<_Fn _QUALS, _Args...>>())) \ ++ noexcept(__is_nothrow_invocable<_Fn _QUALS, _Args...>::value \ ++ && noexcept(_S_not<__inv_res_t<_Fn _QUALS, _Args...>>())) \ + { \ + return !std::__invoke(std::forward< _Fn _QUALS >(_M_fn), \ + std::forward<_Args>(__args)...); \ +Index: libstdc++-v3/include/std/variant +=================================================================== +--- a/src/libstdc++-v3/include/std/variant (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/std/variant (.../branches/gcc-8-branch) +@@ -506,6 +506,20 @@ + } + } + ++ void _M_destructive_move(_Move_ctor_base&& __rhs) ++ { ++ this->~_Move_ctor_base(); ++ __try ++ { ++ ::new (this) _Move_ctor_base(std::move(__rhs)); ++ } ++ __catch (...) ++ { ++ this->_M_index = variant_npos; ++ __throw_exception_again; ++ } ++ } ++ + _Move_ctor_base(const _Move_ctor_base&) = default; + _Move_ctor_base& operator=(const _Move_ctor_base&) = default; + _Move_ctor_base& operator=(_Move_ctor_base&&) = default; +@@ -516,6 +530,12 @@ + { + using _Base = _Copy_ctor_alias<_Types...>; + using _Base::_Base; ++ ++ void _M_destructive_move(_Move_ctor_base&& __rhs) ++ { ++ this->~_Move_ctor_base(); ++ ::new (this) _Move_ctor_base(std::move(__rhs)); ++ } + }; + + template +@@ -538,22 +558,14 @@ + { + static constexpr void (*_S_vtable[])(void*, void*) = + { &__erased_assign<_Types&, const _Types&>... }; +- _S_vtable[__rhs._M_index](this->_M_storage(), __rhs._M_storage()); ++ _S_vtable[__rhs._M_index](this->_M_storage(), ++ __rhs._M_storage()); + } + } + else + { + _Copy_assign_base __tmp(__rhs); +- this->~_Copy_assign_base(); +- __try +- { +- ::new (this) _Copy_assign_base(std::move(__tmp)); +- } +- __catch (...) +- { +- this->_M_index = variant_npos; +- __throw_exception_again; +- } ++ this->_M_destructive_move(std::move(__tmp)); + } + __glibcxx_assert(this->_M_index == __rhs._M_index); + return *this; +@@ -582,20 +594,6 @@ + using _Base = _Copy_assign_alias<_Types...>; + using _Base::_Base; + +- void _M_destructive_move(_Move_assign_base&& __rhs) +- { +- this->~_Move_assign_base(); +- __try +- { +- ::new (this) _Move_assign_base(std::move(__rhs)); +- } +- __catch (...) +- { +- this->_M_index = variant_npos; +- __throw_exception_again; +- } +- } +- + _Move_assign_base& + operator=(_Move_assign_base&& __rhs) + noexcept(_Traits<_Types...>::_S_nothrow_move_assign) +@@ -613,16 +611,7 @@ + else + { + _Move_assign_base __tmp(std::move(__rhs)); +- this->~_Move_assign_base(); +- __try +- { +- ::new (this) _Move_assign_base(std::move(__tmp)); +- } +- __catch (...) +- { +- this->_M_index = variant_npos; +- __throw_exception_again; +- } ++ this->_M_destructive_move(std::move(__tmp)); + } + __glibcxx_assert(this->_M_index == __rhs._M_index); + return *this; +Index: libstdc++-v3/include/experimental/memory_resource +=================================================================== +--- a/src/libstdc++-v3/include/experimental/memory_resource (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/experimental/memory_resource (.../branches/gcc-8-branch) +@@ -33,7 +33,6 @@ + #include + #include + #include +-#include + #include + + namespace std { +@@ -258,6 +257,22 @@ + template + class __resource_adaptor_imp : public memory_resource + { ++ static_assert(is_same::value_type>::value, ++ "Allocator's value_type is char"); ++ static_assert(is_same::pointer>::value, ++ "Allocator's pointer type is value_type*"); ++ static_assert(is_same::const_pointer>::value, ++ "Allocator's const_pointer type is value_type const*"); ++ static_assert(is_same::void_pointer>::value, ++ "Allocator's void_pointer type is void*"); ++ static_assert(is_same::const_void_pointer>::value, ++ "Allocator's const_void_pointer type is void const*"); ++ + public: + using allocator_type = _Alloc; + +@@ -276,7 +291,7 @@ + __resource_adaptor_imp& + operator=(const __resource_adaptor_imp&) = default; + +- allocator_type get_allocator() const { return _M_alloc; } ++ allocator_type get_allocator() const noexcept { return _M_alloc; } + + protected: + virtual void* +@@ -311,13 +326,13 @@ + private: + // Calculate Aligned Size + // Returns a size that is larger than or equal to __size and divisible +- // by __alignment, where __alignment is required to be the power of 2. ++ // by __alignment, where __alignment is required to be a power of 2. + static size_t + _S_aligned_size(size_t __size, size_t __alignment) + { return ((__size - 1)|(__alignment - 1)) + 1; } + + // Determine whether alignment meets one of those preconditions: +- // 1. Equals to Zero ++ // 1. Equal to Zero + // 2. Is power of two + static bool + _S_supported (size_t __x) +@@ -327,47 +342,50 @@ + }; + + // Global memory resources +- inline std::atomic& +- __get_default_resource() +- { +- static atomic _S_default_resource(new_delete_resource()); +- return _S_default_resource; +- } + + inline memory_resource* + new_delete_resource() noexcept + { +- static resource_adaptor> __r; +- return static_cast(&__r); ++ using type = resource_adaptor>; ++ alignas(type) static unsigned char __buf[sizeof(type)]; ++ static type* __r = new(__buf) type; ++ return __r; + } + +- template +- class __null_memory_resource : private memory_resource ++ inline memory_resource* ++ null_memory_resource() noexcept ++ { ++ class type final : public memory_resource + { +- protected: + void* +- do_allocate(size_t, size_t) ++ do_allocate(size_t, size_t) override + { std::__throw_bad_alloc(); } + + void +- do_deallocate(void*, size_t, size_t) noexcept ++ do_deallocate(void*, size_t, size_t) noexcept override + { } + + bool +- do_is_equal(const memory_resource& __other) const noexcept ++ do_is_equal(const memory_resource& __other) const noexcept override + { return this == &__other; } +- +- friend memory_resource* null_memory_resource() noexcept; + }; + +- inline memory_resource* +- null_memory_resource() noexcept ++ alignas(type) static unsigned char __buf[sizeof(type)]; ++ static type* __r = new(__buf) type; ++ return __r; ++ } ++ ++ // The default memory resource ++ ++ inline std::atomic& ++ __get_default_resource() + { +- static __null_memory_resource __r; +- return static_cast(&__r); ++ using type = atomic; ++ alignas(type) static unsigned char __buf[sizeof(type)]; ++ static type* __r = new(__buf) type(new_delete_resource()); ++ return *__r; + } + +- // The default memory resource + inline memory_resource* + get_default_resource() noexcept + { return __get_default_resource().load(); } +Index: libstdc++-v3/include/experimental/string_view +=================================================================== +--- a/src/libstdc++-v3/include/experimental/string_view (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/experimental/string_view (.../branches/gcc-8-branch) +@@ -273,7 +273,7 @@ + // [string.view.ops], string operations: + + constexpr basic_string_view +- substr(size_type __pos, size_type __n=npos) const ++ substr(size_type __pos = 0, size_type __n = npos) const + { + return __pos <= this->_M_len + ? basic_string_view{this->_M_str + __pos, +Index: libstdc++-v3/include/experimental/bits/fs_path.h +=================================================================== +--- a/src/libstdc++-v3/include/experimental/bits/fs_path.h (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/experimental/bits/fs_path.h (.../branches/gcc-8-branch) +@@ -122,7 +122,9 @@ + + template + using _Path = typename +- std::enable_if<__and_<__not_>, ++ std::enable_if<__and_<__not_::type, ++ path>>, ++ __not_>, + __constructible_from<_Tp1, _Tp2>>::value, + path>::type; + +Index: libstdc++-v3/include/experimental/string +=================================================================== +--- a/src/libstdc++-v3/include/experimental/string (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/experimental/string (.../branches/gcc-8-branch) +@@ -62,9 +62,9 @@ + __cont.end()); + } + +- namespace pmr { +- _GLIBCXX_BEGIN_NAMESPACE_CXX11 +- ++#if _GLIBCXX_USE_CXX11_ABI ++ namespace pmr ++ { + // basic_string using polymorphic allocator in namespace pmr + template> + using basic_string = +@@ -77,8 +77,8 @@ + typedef basic_string u32string; + typedef basic_string wstring; + +- _GLIBCXX_END_NAMESPACE_CXX11 + } // namespace pmr ++#endif + } // namespace fundamentals_v2 + } // namespace experimental + +Index: libstdc++-v3/include/experimental/regex +=================================================================== +--- a/src/libstdc++-v3/include/experimental/regex (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/experimental/regex (.../branches/gcc-8-branch) +@@ -44,10 +44,9 @@ + { + inline namespace fundamentals_v2 + { ++#if _GLIBCXX_USE_CXX11_ABI + namespace pmr + { +-_GLIBCXX_BEGIN_NAMESPACE_CXX11 +- + template + using match_results + = std::match_results<_BidirectionalIterator, polymorphic_allocator< +@@ -58,9 +57,8 @@ + typedef match_results smatch; + typedef match_results wsmatch; + +-_GLIBCXX_END_NAMESPACE_CXX11 + } // namespace pmr +- ++#endif + } // namespace fundamentals_v2 + } // namespace experimental + _GLIBCXX_END_NAMESPACE_VERSION +Index: libstdc++-v3/include/ext/vstring.h +=================================================================== +--- a/src/libstdc++-v3/include/ext/vstring.h (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/ext/vstring.h (.../branches/gcc-8-branch) +@@ -2962,6 +2962,6 @@ + + #endif // C++11 + +-#include "vstring.tcc" ++#include + + #endif /* _VSTRING_H */ +Index: libstdc++-v3/include/ext/pointer.h +=================================================================== +--- a/src/libstdc++-v3/include/ext/pointer.h (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/ext/pointer.h (.../branches/gcc-8-branch) +@@ -437,6 +437,10 @@ + _CXX_POINTER_ARITH_OPERATOR_SET(unsigned int); + _CXX_POINTER_ARITH_OPERATOR_SET(long); + _CXX_POINTER_ARITH_OPERATOR_SET(unsigned long); ++#ifdef _GLIBCXX_USE_LONG_LONG ++ _CXX_POINTER_ARITH_OPERATOR_SET(long long); ++ _CXX_POINTER_ARITH_OPERATOR_SET(unsigned long long); ++#endif + + // Mathematical Manipulators + inline _Pointer_adapter& +Index: libstdc++-v3/include/ext/random +=================================================================== +--- a/src/libstdc++-v3/include/ext/random (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/ext/random (.../branches/gcc-8-branch) +@@ -3778,8 +3778,8 @@ + _GLIBCXX_END_NAMESPACE_VERSION + } // namespace __gnu_cxx + +-#include "ext/opt_random.h" +-#include "random.tcc" ++#include ++#include + + #endif // _GLIBCXX_USE_C99_STDINT_TR1 && UINT32_C + +Index: libstdc++-v3/include/ext/aligned_buffer.h +=================================================================== +--- a/src/libstdc++-v3/include/ext/aligned_buffer.h (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/ext/aligned_buffer.h (.../branches/gcc-8-branch) +@@ -49,6 +49,8 @@ + // Target macro ADJUST_FIELD_ALIGN can produce different alignment for + // types when used as class members. __aligned_membuf is intended + // for use as a class member, so align the buffer as for a class member. ++ // Since GCC 8 we could just use alignof(_Tp) instead, but older ++ // versions of non-GNU compilers might still need this trick. + struct _Tp2 { _Tp _M_t; }; + + alignas(__alignof__(_Tp2::_M_t)) unsigned char _M_storage[sizeof(_Tp)]; +@@ -86,11 +88,10 @@ + // This type is still used to avoid an ABI change. + template + struct __aligned_buffer +- : std::aligned_storage::value> ++ : std::aligned_storage + { + typename +- std::aligned_storage::value>::type +- _M_storage; ++ std::aligned_storage::type _M_storage; + + __aligned_buffer() = default; + +Index: libstdc++-v3/include/bits/shared_ptr.h +=================================================================== +--- a/src/libstdc++-v3/include/bits/shared_ptr.h (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/bits/shared_ptr.h (.../branches/gcc-8-branch) +@@ -355,9 +355,8 @@ + private: + // This constructor is non-standard, it is used by allocate_shared. + template +- shared_ptr(_Sp_make_shared_tag __tag, const _Alloc& __a, +- _Args&&... __args) +- : __shared_ptr<_Tp>(__tag, __a, std::forward<_Args>(__args)...) ++ shared_ptr(_Sp_alloc_shared_tag<_Alloc> __tag, _Args&&... __args) ++ : __shared_ptr<_Tp>(__tag, std::forward<_Args>(__args)...) + { } + + template +@@ -703,7 +702,7 @@ + inline shared_ptr<_Tp> + allocate_shared(const _Alloc& __a, _Args&&... __args) + { +- return shared_ptr<_Tp>(_Sp_make_shared_tag(), __a, ++ return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a}, + std::forward<_Args>(__args)...); + } + +@@ -718,7 +717,7 @@ + inline shared_ptr<_Tp> + make_shared(_Args&&... __args) + { +- typedef typename std::remove_const<_Tp>::type _Tp_nc; ++ typedef typename std::remove_cv<_Tp>::type _Tp_nc; + return std::allocate_shared<_Tp>(std::allocator<_Tp_nc>(), + std::forward<_Args>(__args)...); + } +Index: libstdc++-v3/include/bits/hashtable.h +=================================================================== +--- a/src/libstdc++-v3/include/bits/hashtable.h (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/bits/hashtable.h (.../branches/gcc-8-branch) +@@ -1222,6 +1222,9 @@ + _M_assign(__ht, + [&__roan](__node_type* __n) + { return __roan(std::move_if_noexcept(__n->_M_v())); }); ++ ++ if (__former_buckets) ++ _M_deallocate_buckets(__former_buckets, __former_bucket_count); + __ht.clear(); + } + __catch(...) +Index: libstdc++-v3/include/bits/stl_list.h +=================================================================== +--- a/src/libstdc++-v3/include/bits/stl_list.h (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/bits/stl_list.h (.../branches/gcc-8-branch) +@@ -384,7 +384,8 @@ + { + __detail::_List_node_header _M_node; + +- _List_impl() _GLIBCXX_NOEXCEPT_IF( noexcept(_Node_alloc_type()) ) ++ _List_impl() _GLIBCXX_NOEXCEPT_IF( ++ is_nothrow_default_constructible<_Node_alloc_type>::value) + : _Node_alloc_type() + { } + +Index: libstdc++-v3/include/bits/stl_map.h +=================================================================== +--- a/src/libstdc++-v3/include/bits/stl_map.h (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/bits/stl_map.h (.../branches/gcc-8-branch) +@@ -808,12 +808,11 @@ + insert(value_type&& __x) + { return _M_t._M_insert_unique(std::move(__x)); } + +- template::value>::type> +- std::pair ++ template ++ __enable_if_t::value, ++ pair> + insert(_Pair&& __x) +- { return _M_t._M_insert_unique(std::forward<_Pair>(__x)); } ++ { return _M_t._M_emplace_unique(std::forward<_Pair>(__x)); } + #endif + // @} + +@@ -869,13 +868,13 @@ + insert(const_iterator __position, value_type&& __x) + { return _M_t._M_insert_unique_(__position, std::move(__x)); } + +- template::value>::type> +- iterator ++ template ++ __enable_if_t::value, iterator> + insert(const_iterator __position, _Pair&& __x) +- { return _M_t._M_insert_unique_(__position, +- std::forward<_Pair>(__x)); } ++ { ++ return _M_t._M_emplace_hint_unique(__position, ++ std::forward<_Pair>(__x)); ++ } + #endif + // @} + +Index: libstdc++-v3/include/bits/fs_dir.h +=================================================================== +--- a/src/libstdc++-v3/include/bits/fs_dir.h (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/bits/fs_dir.h (.../branches/gcc-8-branch) +@@ -138,9 +138,14 @@ + refresh(__ec); + } + +- void refresh() { _M_type = symlink_status().type(); } +- void refresh(error_code& __ec) { _M_type = symlink_status(__ec).type(); } ++ void ++ refresh() ++ { _M_type = symlink_status().type(); } + ++ void ++ refresh(error_code& __ec) noexcept ++ { _M_type = symlink_status(__ec).type(); } ++ + // observers + const filesystem::path& path() const noexcept { return _M_path; } + operator const filesystem::path& () const noexcept { return _M_path; } +@@ -313,7 +318,10 @@ + _M_file_type(error_code& __ec) const noexcept + { + if (_M_type != file_type::none && _M_type != file_type::symlink) +- return _M_type; ++ { ++ __ec.clear(); ++ return _M_type; ++ } + return status(__ec).type(); + } + +Index: libstdc++-v3/include/bits/stl_queue.h +=================================================================== +--- a/src/libstdc++-v3/include/bits/stl_queue.h (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/bits/stl_queue.h (.../branches/gcc-8-branch) +@@ -302,6 +302,18 @@ + #endif // __cplusplus >= 201103L + }; + ++#if __cpp_deduction_guides >= 201606 ++ template::value>> ++ queue(_Container) -> queue; ++ ++ template::value>, ++ typename = enable_if_t<__is_allocator<_Allocator>::value>> ++ queue(_Container, _Allocator) ++ -> queue; ++#endif ++ + /** + * @brief Queue equality comparison. + * @param __x A %queue. +@@ -653,6 +665,32 @@ + #endif // __cplusplus >= 201103L + }; + ++#if __cpp_deduction_guides >= 201606 ++ template::value>, ++ typename = enable_if_t::value>> ++ priority_queue(_Compare, _Container) ++ -> priority_queue; ++ ++ template::value_type, ++ typename _Compare = less<_ValT>, ++ typename _Container = vector<_ValT>, ++ typename = _RequireInputIter<_InputIterator>, ++ typename = enable_if_t::value>, ++ typename = enable_if_t::value>> ++ priority_queue(_InputIterator, _InputIterator, _Compare = _Compare(), ++ _Container = _Container()) ++ -> priority_queue<_ValT, _Container, _Compare>; ++ ++ template::value>, ++ typename = enable_if_t::value>, ++ typename = enable_if_t<__is_allocator<_Allocator>::value>> ++ priority_queue(_Compare, _Container, _Allocator) ++ -> priority_queue; ++#endif ++ + // No equality/comparison operators are provided for priority_queue. + + #if __cplusplus >= 201103L +Index: libstdc++-v3/include/bits/locale_facets.h +=================================================================== +--- a/src/libstdc++-v3/include/bits/locale_facets.h (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/bits/locale_facets.h (.../branches/gcc-8-branch) +@@ -900,7 +900,8 @@ + { + if (_M_widen_ok == 1) + { +- __builtin_memcpy(__to, __lo, __hi - __lo); ++ if (__builtin_expect(__hi != __lo, true)) ++ __builtin_memcpy(__to, __lo, __hi - __lo); + return __hi; + } + if (!_M_widen_ok) +@@ -965,7 +966,8 @@ + { + if (__builtin_expect(_M_narrow_ok == 1, true)) + { +- __builtin_memcpy(__to, __lo, __hi - __lo); ++ if (__builtin_expect(__hi != __lo, true)) ++ __builtin_memcpy(__to, __lo, __hi - __lo); + return __hi; + } + if (!_M_narrow_ok) +@@ -1104,7 +1106,8 @@ + virtual const char* + do_widen(const char* __lo, const char* __hi, char_type* __to) const + { +- __builtin_memcpy(__to, __lo, __hi - __lo); ++ if (__builtin_expect(__hi != __lo, true)) ++ __builtin_memcpy(__to, __lo, __hi - __lo); + return __hi; + } + +@@ -1157,7 +1160,8 @@ + do_narrow(const char_type* __lo, const char_type* __hi, + char __dfault __attribute__((__unused__)), char* __to) const + { +- __builtin_memcpy(__to, __lo, __hi - __lo); ++ if (__builtin_expect(__hi != __lo, true)) ++ __builtin_memcpy(__to, __lo, __hi - __lo); + return __hi; + } + +Index: libstdc++-v3/include/bits/locale_conv.h +=================================================================== +--- a/src/libstdc++-v3/include/bits/locale_conv.h (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/bits/locale_conv.h (.../branches/gcc-8-branch) +@@ -35,10 +35,10 @@ + #else + + #include +-#include "stringfwd.h" +-#include "allocator.h" +-#include "codecvt.h" +-#include "unique_ptr.h" ++#include ++#include ++#include ++#include + + namespace std _GLIBCXX_VISIBILITY(default) + { +Index: libstdc++-v3/include/bits/fs_path.h +=================================================================== +--- a/src/libstdc++-v3/include/bits/fs_path.h (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/bits/fs_path.h (.../branches/gcc-8-branch) +@@ -106,7 +106,8 @@ + + template + using _Path = typename +- std::enable_if<__and_<__not_>, ++ std::enable_if<__and_<__not_, path>>, ++ __not_>, + __constructible_from<_Tp1, _Tp2>>::value, + path>::type; + +@@ -497,7 +498,7 @@ + struct _Cmpt; + using _List = _GLIBCXX_STD_C::vector<_Cmpt>; + _List _M_cmpts; // empty unless _M_type == _Type::_Multi +- _Type _M_type = _Type::_Multi; ++ _Type _M_type = _Type::_Filename; + }; + + template<> +@@ -1076,7 +1077,7 @@ + { + if (_M_type == _Type::_Multi) + return iterator(this, _M_cmpts.begin()); +- return iterator(this, false); ++ return iterator(this, empty()); + } + + inline path::iterator +Index: libstdc++-v3/include/bits/stl_stack.h +=================================================================== +--- a/src/libstdc++-v3/include/bits/stl_stack.h (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/bits/stl_stack.h (.../branches/gcc-8-branch) +@@ -276,6 +276,18 @@ + #endif // __cplusplus >= 201103L + }; + ++#if __cpp_deduction_guides >= 201606 ++ template::value>> ++ stack(_Container) -> stack; ++ ++ template::value>, ++ typename = enable_if_t<__is_allocator<_Allocator>::value>> ++ stack(_Container, _Allocator) ++ -> stack; ++#endif ++ + /** + * @brief Stack equality comparison. + * @param __x A %stack. +Index: libstdc++-v3/include/bits/unique_ptr.h +=================================================================== +--- a/src/libstdc++-v3/include/bits/unique_ptr.h (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/bits/unique_ptr.h (.../branches/gcc-8-branch) +@@ -190,7 +190,7 @@ + typename = _DeleterConstraint<_Up>> + constexpr unique_ptr() noexcept + : _M_t() +- { } ++ { } + + /** Takes ownership of a pointer. + * +@@ -233,7 +233,7 @@ + /// Creates a unique_ptr that owns nothing. + template > +- constexpr unique_ptr(nullptr_t) noexcept : unique_ptr() { } ++ constexpr unique_ptr(nullptr_t) noexcept : _M_t() { } + + // Move constructors. + +@@ -458,7 +458,7 @@ + typename = _DeleterConstraint<_Up>> + constexpr unique_ptr() noexcept + : _M_t() +- { } ++ { } + + /** Takes ownership of a pointer. + * +@@ -517,7 +517,7 @@ + /// Creates a unique_ptr that owns nothing. + template > +- constexpr unique_ptr(nullptr_t) noexcept : unique_ptr() { } ++ constexpr unique_ptr(nullptr_t) noexcept : _M_t() { } + + template>> +Index: libstdc++-v3/include/bits/forward_list.h +=================================================================== +--- a/src/libstdc++-v3/include/bits/forward_list.h (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/bits/forward_list.h (.../branches/gcc-8-branch) +@@ -298,7 +298,7 @@ + _Fwd_list_node_base _M_head; + + _Fwd_list_impl() +- noexcept( noexcept(_Node_alloc_type()) ) ++ noexcept(is_nothrow_default_constructible<_Node_alloc_type>::value) + : _Node_alloc_type(), _M_head() + { } + +Index: libstdc++-v3/include/bits/basic_string.h +=================================================================== +--- a/src/libstdc++-v3/include/bits/basic_string.h (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/bits/basic_string.h (.../branches/gcc-8-branch) +@@ -744,10 +744,18 @@ + // Replace allocator if POCMA is true. + std::__alloc_on_move(_M_get_allocator(), __str._M_get_allocator()); + +- if (!__str._M_is_local() +- && (_Alloc_traits::_S_propagate_on_move_assign() +- || _Alloc_traits::_S_always_equal())) ++ if (__str._M_is_local()) + { ++ // We've always got room for a short string, just copy it. ++ if (__str.size()) ++ this->_S_copy(_M_data(), __str._M_data(), __str.size()); ++ _M_set_length(__str.size()); ++ } ++ else if (_Alloc_traits::_S_propagate_on_move_assign() ++ || _Alloc_traits::_S_always_equal() ++ || _M_get_allocator() == __str._M_get_allocator()) ++ { ++ // Just move the allocated pointer, our allocator can free it. + pointer __data = nullptr; + size_type __capacity; + if (!_M_is_local()) +@@ -754,10 +762,11 @@ + { + if (_Alloc_traits::_S_always_equal()) + { ++ // __str can reuse our existing storage. + __data = _M_data(); + __capacity = _M_allocated_capacity; + } +- else ++ else // __str can't use it, so free it. + _M_destroy(_M_allocated_capacity); + } + +@@ -772,8 +781,8 @@ + else + __str._M_data(__str._M_local_buf); + } +- else +- assign(__str); ++ else // Need to do a deep copy ++ assign(__str); + __str.clear(); + return *this; + } +Index: libstdc++-v3/include/bits/stl_multimap.h +=================================================================== +--- a/src/libstdc++-v3/include/bits/stl_multimap.h (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/bits/stl_multimap.h (.../branches/gcc-8-branch) +@@ -544,12 +544,10 @@ + insert(value_type&& __x) + { return _M_t._M_insert_equal(std::move(__x)); } + +- template::value>::type> +- iterator ++ template ++ __enable_if_t::value, iterator> + insert(_Pair&& __x) +- { return _M_t._M_insert_equal(std::forward<_Pair>(__x)); } ++ { return _M_t._M_emplace_equal(std::forward<_Pair>(__x)); } + #endif + // @} + +@@ -589,13 +587,13 @@ + insert(const_iterator __position, value_type&& __x) + { return _M_t._M_insert_equal_(__position, std::move(__x)); } + +- template::value>::type> +- iterator ++ template ++ __enable_if_t::value, iterator> + insert(const_iterator __position, _Pair&& __x) +- { return _M_t._M_insert_equal_(__position, +- std::forward<_Pair>(__x)); } ++ { ++ return _M_t._M_emplace_hint_equal(__position, ++ std::forward<_Pair>(__x)); ++ } + #endif + // @} + +Index: libstdc++-v3/include/bits/stl_pair.h +=================================================================== +--- a/src/libstdc++-v3/include/bits/stl_pair.h (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/bits/stl_pair.h (.../branches/gcc-8-branch) +@@ -185,8 +185,18 @@ + struct __nonesuch_no_braces : std::__nonesuch { + explicit __nonesuch_no_braces(const __nonesuch&) = delete; + }; ++#endif // C++11 + +-#endif ++ template class __pair_base ++ { ++#if __cplusplus >= 201103L ++ template friend struct pair; ++ __pair_base() = default; ++ ~__pair_base() = default; ++ __pair_base(const __pair_base&) = default; ++ __pair_base& operator=(const __pair_base&) = delete; ++#endif // C++11 ++ }; + + /** + * @brief Struct holding two objects of arbitrary type. +@@ -196,6 +206,7 @@ + */ + template + struct pair ++ : private __pair_base<_T1, _T2> + { + typedef _T1 first_type; /// @c first_type is the first bound type + typedef _T2 second_type; /// @c second_type is the second bound type +@@ -376,17 +387,11 @@ + + pair& + operator=(typename conditional< +- __not_<__and_, +- is_copy_assignable<_T2>>>::value, +- const pair&, const __nonesuch_no_braces&>::type __p) = delete; +- +- pair& +- operator=(typename conditional< + __and_, + is_move_assignable<_T2>>::value, + pair&&, __nonesuch_no_braces&&>::type __p) + noexcept(__and_, +- is_nothrow_move_assignable<_T2>>::value) ++ is_nothrow_move_assignable<_T2>>::value) + { + first = std::forward(__p.first); + second = std::forward(__p.second); +Index: libstdc++-v3/include/bits/unordered_map.h +=================================================================== +--- a/src/libstdc++-v3/include/bits/unordered_map.h (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/bits/unordered_map.h (.../branches/gcc-8-branch) +@@ -585,12 +585,11 @@ + insert(value_type&& __x) + { return _M_h.insert(std::move(__x)); } + +- template::value>::type> +- std::pair ++ template ++ __enable_if_t::value, ++ pair> + insert(_Pair&& __x) +- { return _M_h.insert(std::forward<_Pair>(__x)); } ++ { return _M_h.emplace(std::forward<_Pair>(__x)); } + //@} + + //@{ +@@ -625,12 +624,10 @@ + insert(const_iterator __hint, value_type&& __x) + { return _M_h.insert(__hint, std::move(__x)); } + +- template::value>::type> +- iterator ++ template ++ __enable_if_t::value, iterator> + insert(const_iterator __hint, _Pair&& __x) +- { return _M_h.insert(__hint, std::forward<_Pair>(__x)); } ++ { return _M_h.emplace_hint(__hint, std::forward<_Pair>(__x)); } + //@} + + /** +@@ -1560,12 +1557,10 @@ + insert(value_type&& __x) + { return _M_h.insert(std::move(__x)); } + +- template::value>::type> +- iterator ++ template ++ __enable_if_t::value, iterator> + insert(_Pair&& __x) +- { return _M_h.insert(std::forward<_Pair>(__x)); } ++ { return _M_h.emplace(std::forward<_Pair>(__x)); } + //@} + + //@{ +@@ -1598,12 +1593,10 @@ + insert(const_iterator __hint, value_type&& __x) + { return _M_h.insert(__hint, std::move(__x)); } + +- template::value>::type> +- iterator ++ template ++ __enable_if_t::value, iterator> + insert(const_iterator __hint, _Pair&& __x) +- { return _M_h.insert(__hint, std::forward<_Pair>(__x)); } ++ { return _M_h.emplace_hint(__hint, std::forward<_Pair>(__x)); } + //@} + + /** +Index: libstdc++-v3/include/bits/char_traits.h +=================================================================== +--- a/src/libstdc++-v3/include/bits/char_traits.h (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/bits/char_traits.h (.../branches/gcc-8-branch) +@@ -183,6 +183,8 @@ + char_traits<_CharT>:: + move(char_type* __s1, const char_type* __s2, std::size_t __n) + { ++ if (__n == 0) ++ return __s1; + return static_cast<_CharT*>(__builtin_memmove(__s1, __s2, + __n * sizeof(char_type))); + } +Index: libstdc++-v3/include/bits/c++config +=================================================================== +--- a/src/libstdc++-v3/include/bits/c++config (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/bits/c++config (.../branches/gcc-8-branch) +@@ -609,4 +609,9 @@ + # endif + #endif + ++/* Define if __float128 is supported on this host. */ ++#if defined(__FLOAT128__) || defined(__SIZEOF_FLOAT128__) ++#define _GLIBCXX_USE_FLOAT128 ++#endif ++ + // End of prewritten config; the settings discovered at configure time follow. +Index: libstdc++-v3/include/bits/regex_executor.tcc +=================================================================== +--- a/src/libstdc++-v3/include/bits/regex_executor.tcc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/bits/regex_executor.tcc (.../branches/gcc-8-branch) +@@ -366,11 +366,11 @@ + _BiIter __actual_end) + { + if (!_M_icase) +- return std::__equal4(__expected_begin, __expected_end, ++ return _GLIBCXX_STD_A::__equal4(__expected_begin, __expected_end, + __actual_begin, __actual_end); + typedef std::ctype<_CharT> __ctype_type; + const auto& __fctyp = use_facet<__ctype_type>(_M_traits.getloc()); +- return std::__equal4(__expected_begin, __expected_end, ++ return _GLIBCXX_STD_A::__equal4(__expected_begin, __expected_end, + __actual_begin, __actual_end, + [this, &__fctyp](_CharT __lhs, _CharT __rhs) + { +Index: libstdc++-v3/include/bits/stl_iterator.h +=================================================================== +--- a/src/libstdc++-v3/include/bits/stl_iterator.h (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/bits/stl_iterator.h (.../branches/gcc-8-branch) +@@ -122,6 +122,7 @@ + */ + // _GLIBCXX_RESOLVE_LIB_DEFECTS + // 235 No specification of default ctor for reverse_iterator ++ // 1012. reverse_iterator default ctor should value initialize + _GLIBCXX17_CONSTEXPR + reverse_iterator() : current() { } + +@@ -176,9 +177,11 @@ + * + * This requires that @c --current is dereferenceable. + */ ++ // _GLIBCXX_RESOLVE_LIB_DEFECTS ++ // 2188. Reverse iterator does not fully support targets that overload & + _GLIBCXX17_CONSTEXPR pointer + operator->() const +- { return &(operator*()); } ++ { return std::__addressof(operator*()); } + + /** + * @return @c *this +Index: libstdc++-v3/include/bits/valarray_array.h +=================================================================== +--- a/src/libstdc++-v3/include/bits/valarray_array.h (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/bits/valarray_array.h (.../branches/gcc-8-branch) +@@ -341,17 +341,16 @@ + } + + // +- // Compute the sum of elements in range [__f, __l) ++ // Compute the sum of elements in range [__f, __l) which must not be empty. + // This is a naive algorithm. It suffers from cancelling. +- // In the future try to specialize +- // for _Tp = float, double, long double using a more accurate +- // algorithm. ++ // In the future try to specialize for _Tp = float, double, long double ++ // using a more accurate algorithm. + // + template + inline _Tp + __valarray_sum(const _Tp* __f, const _Tp* __l) + { +- _Tp __r = _Tp(); ++ _Tp __r = *__f++; + while (__f != __l) + __r += *__f++; + return __r; +Index: libstdc++-v3/include/bits/shared_ptr_base.h +=================================================================== +--- a/src/libstdc++-v3/include/bits/shared_ptr_base.h (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/bits/shared_ptr_base.h (.../branches/gcc-8-branch) +@@ -500,22 +500,24 @@ + + struct _Sp_make_shared_tag + { +-#if !__cpp_rtti + private: +- template +- friend class __shared_ptr; + template + friend class _Sp_counted_ptr_inplace; + + static const type_info& +- _S_ti() noexcept ++ _S_ti() noexcept _GLIBCXX_VISIBILITY(default) + { +- alignas(type_info) static constexpr _Sp_make_shared_tag __tag; ++ alignas(type_info) static constexpr char __tag[sizeof(type_info)] = { }; + return reinterpret_cast(__tag); + } +-#endif + }; + ++ template ++ struct _Sp_alloc_shared_tag ++ { ++ const _Alloc& _M_a; ++ }; ++ + template + class _Sp_counted_ptr_inplace final : public _Sp_counted_base<_Lp> + { +@@ -561,20 +563,32 @@ + this->~_Sp_counted_ptr_inplace(); + } + +- // Sneaky trick so __shared_ptr can get the managed pointer ++ private: ++ friend class __shared_count<_Lp>; // To be able to call _M_ptr(). ++ ++ // No longer used, but code compiled against old libstdc++ headers ++ // might still call it from __shared_ptr ctor to get the pointer out. + virtual void* +- _M_get_deleter(const std::type_info& __ti) noexcept ++ _M_get_deleter(const std::type_info& __ti) noexcept override + { ++ // Check for the fake type_info first, so we don't try to access it ++ // as a real type_info object. ++ if (&__ti == &_Sp_make_shared_tag::_S_ti()) ++ return const_cast::type*>(_M_ptr()); + #if __cpp_rtti +- if (__ti == typeid(_Sp_make_shared_tag)) ++ // Callers compiled with old libstdc++ headers and RTTI enabled ++ // might pass this instead: ++ else if (__ti == typeid(_Sp_make_shared_tag)) ++ return const_cast::type*>(_M_ptr()); + #else +- if (&__ti == &_Sp_make_shared_tag::_S_ti()) ++ // Cannot detect a real type_info object. If the linker keeps a ++ // definition of this function compiled with -fno-rtti then callers ++ // that have RTTI enabled and pass a real type_info object will get ++ // a null pointer returned. + #endif +- return const_cast::type*>(_M_ptr()); + return nullptr; + } + +- private: + _Tp* _M_ptr() noexcept { return _M_impl._M_storage._M_ptr(); } + + _Impl _M_impl; +@@ -590,6 +604,12 @@ + template<_Lock_policy _Lp> + class __shared_count + { ++ template ++ struct __not_alloc_shared_tag { using type = void; }; ++ ++ template ++ struct __not_alloc_shared_tag<_Sp_alloc_shared_tag<_Tp>> { }; ++ + public: + constexpr __shared_count() noexcept : _M_pi(0) + { } +@@ -619,12 +639,14 @@ + : __shared_count(__p, __sp_array_delete{}, allocator()) + { } + +- template ++ template::type> + __shared_count(_Ptr __p, _Deleter __d) + : __shared_count(__p, std::move(__d), allocator()) + { } + +- template ++ template::type> + __shared_count(_Ptr __p, _Deleter __d, _Alloc __a) : _M_pi(0) + { + typedef _Sp_counted_deleter<_Ptr, _Deleter, _Alloc, _Lp> _Sp_cd_type; +@@ -645,18 +667,18 @@ + } + + template +- __shared_count(_Sp_make_shared_tag, _Tp*, const _Alloc& __a, ++ __shared_count(_Tp*& __p, _Sp_alloc_shared_tag<_Alloc> __a, + _Args&&... __args) +- : _M_pi(0) + { + typedef _Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp> _Sp_cp_type; +- typename _Sp_cp_type::__allocator_type __a2(__a); ++ typename _Sp_cp_type::__allocator_type __a2(__a._M_a); + auto __guard = std::__allocate_guarded(__a2); + _Sp_cp_type* __mem = __guard.get(); +- ::new (__mem) _Sp_cp_type(std::move(__a), +- std::forward<_Args>(__args)...); +- _M_pi = __mem; ++ auto __pi = ::new (__mem) ++ _Sp_cp_type(__a._M_a, std::forward<_Args>(__args)...); + __guard = nullptr; ++ _M_pi = __pi; ++ __p = __pi->_M_ptr(); + } + + #if _GLIBCXX_USE_DEPRECATED +@@ -1316,21 +1338,9 @@ + protected: + // This constructor is non-standard, it is used by allocate_shared. + template +- __shared_ptr(_Sp_make_shared_tag __tag, const _Alloc& __a, +- _Args&&... __args) +- : _M_ptr(), _M_refcount(__tag, (_Tp*)0, __a, +- std::forward<_Args>(__args)...) +- { +- // _M_ptr needs to point to the newly constructed object. +- // This relies on _Sp_counted_ptr_inplace::_M_get_deleter. +-#if __cpp_rtti +- void* __p = _M_refcount._M_get_deleter(typeid(__tag)); +-#else +- void* __p = _M_refcount._M_get_deleter(_Sp_make_shared_tag::_S_ti()); +-#endif +- _M_ptr = static_cast<_Tp*>(__p); +- _M_enable_shared_from_this_with(_M_ptr); +- } ++ __shared_ptr(_Sp_alloc_shared_tag<_Alloc> __tag, _Args&&... __args) ++ : _M_ptr(), _M_refcount(_M_ptr, __tag, std::forward<_Args>(__args)...) ++ { _M_enable_shared_from_this_with(_M_ptr); } + + template +@@ -1825,7 +1835,7 @@ + inline __shared_ptr<_Tp, _Lp> + __allocate_shared(const _Alloc& __a, _Args&&... __args) + { +- return __shared_ptr<_Tp, _Lp>(_Sp_make_shared_tag(), __a, ++ return __shared_ptr<_Tp, _Lp>(_Sp_alloc_shared_tag<_Alloc>{__a}, + std::forward<_Args>(__args)...); + } + +Index: libstdc++-v3/include/bits/stl_bvector.h +=================================================================== +--- a/src/libstdc++-v3/include/bits/stl_bvector.h (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/bits/stl_bvector.h (.../branches/gcc-8-branch) +@@ -469,8 +469,8 @@ + : public _Bit_alloc_type, public _Bvector_impl_data + { + public: +- _Bvector_impl() +- _GLIBCXX_NOEXCEPT_IF( noexcept(_Bit_alloc_type()) ) ++ _Bvector_impl() _GLIBCXX_NOEXCEPT_IF( ++ is_nothrow_default_constructible<_Bit_alloc_type>::value) + : _Bit_alloc_type() + { } + +Index: libstdc++-v3/include/Makefile.am +=================================================================== +--- a/src/libstdc++-v3/include/Makefile.am (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/include/Makefile.am (.../branches/gcc-8-branch) +@@ -1230,6 +1230,14 @@ + echo 0 > stamp-allocator-new + endif + ++if ENABLE_FLOAT128 ++stamp-float128: ++ echo 'define _GLIBCXX_USE_FLOAT128 1' > stamp-float128 ++else ++stamp-float128: ++ echo 'undef _GLIBCXX_USE_FLOAT128' > stamp-float128 ++endif ++ + # NB: The non-empty default ldbl_compat works around an AIX sed + # oddity, see libstdc++/31957 for details. + ${host_builddir}/c++config.h: ${CONFIG_HEADER} \ +@@ -1241,7 +1249,8 @@ + stamp-extern-template \ + stamp-dual-abi \ + stamp-cxx11-abi \ +- stamp-allocator-new ++ stamp-allocator-new \ ++ stamp-float128 + @date=`cat ${toplevel_srcdir}/gcc/DATESTAMP` ;\ + release=`sed 's/^\([0-9]*\).*$$/\1/' ${toplevel_srcdir}/gcc/BASE-VER` ;\ + ns_version=`cat stamp-namespace-version` ;\ +@@ -1250,6 +1259,7 @@ + dualabi=`cat stamp-dual-abi` ;\ + cxx11abi=`cat stamp-cxx11-abi` ;\ + allocatornew=`cat stamp-allocator-new` ;\ ++ float128=`cat stamp-float128` ;\ + ldbl_compat='s,g,g,' ;\ + grep "^[ ]*#[ ]*define[ ][ ]*_GLIBCXX_LONG_DOUBLE_COMPAT[ ][ ]*1[ ]*$$" \ + ${CONFIG_HEADER} > /dev/null 2>&1 \ +@@ -1262,6 +1272,7 @@ + -e "s,define _GLIBCXX_USE_DUAL_ABI, define _GLIBCXX_USE_DUAL_ABI $$dualabi," \ + -e "s,define _GLIBCXX_USE_CXX11_ABI, define _GLIBCXX_USE_CXX11_ABI $$cxx11abi," \ + -e "s,define _GLIBCXX_USE_ALLOCATOR_NEW, define _GLIBCXX_USE_ALLOCATOR_NEW $$allocatornew," \ ++ -e "s,define _GLIBCXX_USE_FLOAT128,$$float128," \ + -e "$$ldbl_compat" \ + < ${glibcxx_srcdir}/include/bits/c++config > $@ ;\ + sed -e 's/HAVE_/_GLIBCXX_HAVE_/g' \ +Index: libstdc++-v3/libsupc++/new_opa.cc +=================================================================== +--- a/src/libstdc++-v3/libsupc++/new_opa.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/libsupc++/new_opa.cc (.../branches/gcc-8-branch) +@@ -25,20 +25,36 @@ + + #include + #include ++#include + #include + #include "new" + ++#if !_GLIBCXX_HAVE_ALIGNED_ALLOC && !_GLIBCXX_HAVE__ALIGNED_MALLOC \ ++ && !_GLIBCXX_HAVE_POSIX_MEMALIGN && _GLIBCXX_HAVE_MEMALIGN ++# if _GLIBCXX_HOSTED && __has_include() ++// Some C libraries declare memalign in ++# include ++# else ++extern "C" void *memalign(std::size_t boundary, std::size_t size); ++# endif ++#endif ++ + using std::new_handler; + using std::bad_alloc; + +-#if !_GLIBCXX_HAVE_ALIGNED_ALLOC +-#if _GLIBCXX_HAVE__ALIGNED_MALLOC +-#define aligned_alloc(al,sz) _aligned_malloc(sz,al) ++namespace __gnu_cxx { ++#if _GLIBCXX_HAVE_ALIGNED_ALLOC ++using ::aligned_alloc; ++#elif _GLIBCXX_HAVE__ALIGNED_MALLOC ++static inline void* ++aligned_alloc (std::size_t al, std::size_t sz) ++{ return _aligned_malloc(sz, al); } + #elif _GLIBCXX_HAVE_POSIX_MEMALIGN + static inline void* + aligned_alloc (std::size_t al, std::size_t sz) + { + void *ptr; ++ // posix_memalign has additional requirement, not present on aligned_alloc: + // The value of alignment shall be a power of two multiple of sizeof(void *). + if (al < sizeof(void*)) + al = sizeof(void*); +@@ -48,25 +64,23 @@ + return nullptr; + } + #elif _GLIBCXX_HAVE_MEMALIGN +-#if _GLIBCXX_HOSTED +-#include +-#else +-extern "C" void *memalign(std::size_t boundary, std::size_t size); ++static inline void* ++aligned_alloc (std::size_t al, std::size_t sz) ++{ ++#ifdef __sun ++ // Solaris 10 memalign requires that alignment is greater than or equal to ++ // the size of a word. ++ if (al < sizeof(int)) ++ al = sizeof(int); + #endif +-#define aligned_alloc memalign +-#else +-#include ++ return memalign (al, sz); ++} ++#else // !HAVE__ALIGNED_MALLOC && !HAVE_POSIX_MEMALIGN && !HAVE_MEMALIGN + // The C library doesn't provide any aligned allocation functions, define one. + // This is a modified version of code from gcc/config/i386/gmm_malloc.h + static inline void* + aligned_alloc (std::size_t al, std::size_t sz) + { +- // Alignment must be a power of two. +- if (al & (al - 1)) +- return nullptr; +- else if (!sz) +- return nullptr; +- + // We need extra bytes to store the original value returned by malloc. + if (al < sizeof(void*)) + al = sizeof(void*); +@@ -82,7 +96,7 @@ + return aligned_ptr; + } + #endif +-#endif ++} // namespace __gnu_cxx + + _GLIBCXX_WEAK_DEFINITION void * + operator new (std::size_t sz, std::align_val_t al) +@@ -90,16 +104,28 @@ + void *p; + std::size_t align = (std::size_t)al; + ++ /* Alignment must be a power of two. */ ++ /* XXX This should be checked by the compiler (PR 86878). */ ++ if (__builtin_expect (align & (align - 1), false)) ++ _GLIBCXX_THROW_OR_ABORT(bad_alloc()); ++ + /* malloc (0) is unpredictable; avoid it. */ +- if (sz == 0) ++ if (__builtin_expect (sz == 0, false)) + sz = 1; + + #if _GLIBCXX_HAVE_ALIGNED_ALLOC ++# ifdef _AIX ++ /* AIX 7.2.0.0 aligned_alloc incorrectly has posix_memalign's requirement ++ * that alignment is a multiple of sizeof(void*). */ ++ if (align < sizeof(void*)) ++ align = sizeof(void*); ++# endif + /* C11: the value of size shall be an integral multiple of alignment. */ + if (std::size_t rem = sz & (align - 1)) + sz += align - rem; + #endif + ++ using __gnu_cxx::aligned_alloc; + while (__builtin_expect ((p = aligned_alloc (align, sz)) == 0, false)) + { + new_handler handler = std::get_new_handler (); +Index: libstdc++-v3/ChangeLog +=================================================================== +--- a/src/libstdc++-v3/ChangeLog (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/ChangeLog (.../branches/gcc-8-branch) +@@ -1,3 +1,785 @@ ++2019-02-09 Jonathan Wakely ++ ++ Backport from mainline ++ 2019-01-08 Jonathan Wakely ++ ++ PR libstdc++/88066 ++ * include/bits/locale_conv.h: Use <> for includes not "". ++ * include/ext/random: Likewise. ++ * include/ext/vstring.h: Likewise. ++ ++2019-02-08 Jonathan Wakely ++ ++ * doc/html/*: Regenerate. ++ ++ * src/c++17/fs_ops.cc (absolute(const path&, error_code&)): Do nothing ++ if the path is already absolute. ++ [!_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Pass error_code to current_path. ++ ++ Backport from mainline ++ 2019-01-11 Jonathan Wakely ++ ++ * include/std/chrono (duration_values::zero(), duration_values::min()) ++ (duration_values::max()): Add noexcept. ++ (duration::zero(), duration::min(), duration::max()): Likewise. ++ (time_point::zero(), time_point::min(), time_point::max()): Likewise. ++ * testsuite/20_util/duration/requirements/noexcept.cc: New test. ++ * testsuite/20_util/time_point/requirements/noexcept.cc: New test. ++ ++2019-02-08 Jonathan Wakely ++ ++ Backport from mainline ++ 2019-01-07 Jonathan Wakely ++ ++ PR libstdc++/87787 ++ * include/bits/char_traits.h (char_traits::move): Do not pass null ++ pointers to memmove. ++ * include/bits/locale_facets.h ++ (ctype::widen(const char*, const char*, char*)): Do not ++ pass null pointers to memcpy. ++ (ctype::narrow(const char*, const char*, char, char*)): ++ Likewise. ++ (ctype::do_widen(const char*, const char*, char*)): ++ Likewise. ++ (ctype::do_narrow(const char*, const char*, char, char*)): ++ Likewise. ++ ++2019-02-08 Jonathan Wakely ++ ++ Backport from mainline ++ 2018-11-23 Martin Sebor ++ Jonathan Wakely ++ ++ PR libstdc++/65229 ++ * python/libstdcxx/v6/printers.py (StdBitsetPrinter): Handle ++ exception thrown for std::bitset<0>. ++ * testsuite/libstdc++-prettyprinters/simple.cc: Test std::bitset<0>. ++ ++2019-02-08 Jonathan Wakely ++ ++ Backport from mainline ++ 2018-11-23 Jonathan Wakely ++ ++ PR libstdc++/87308 (partial) ++ * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Adjust regex to ++ work around PR 88166. ++ ++2019-02-08 Jonathan Wakely ++ ++ Backport from mainline ++ 2019-02-05 Jonathan Wakely ++ ++ PR libstdc++/89128 ++ * include/bits/stl_queue.h (queue, priority_queue): Add deduction ++ guides. ++ * include/bits/stl_stack.h (stack): Likewise. ++ * testsuite/23_containers/priority_queue/deduction.cc: New test. ++ * testsuite/23_containers/queue/deduction.cc: New test. ++ * testsuite/23_containers/stack/deduction.cc: New test. ++ ++2019-02-08 Jonathan Wakely ++ ++ Backport from mainline ++ 2018-11-29 Jonathan Wakely ++ ++ PR libstdc++/88119 ++ * include/ext/aligned_buffer.h (__aligned_membuf): Add comment. ++ (__aligned_buffer): Use __alignof__ instead of std::alignment_of. ++ * include/std/type_traits (alignment_of): Use alignof instead of ++ __alignof__. ++ * testsuite/20_util/alignment_of/value.cc: Fix test to check values ++ match alignof not __alignof__, as required by the standard. ++ ++2019-02-08 Jonathan Wakely ++ ++ Backport from mainline ++ 2018-11-28 Jonathan Wakely ++ ++ PR libstdc++/83511 ++ * include/std/string_view (basic_string_view::substr): Add default ++ argument to first parameter. ++ * include/experimental/string_view (basic_string_view::substr): ++ Likewise. ++ * testsuite/21_strings/basic_string_view/operations/substr/char/ ++ 83511.cc: New test. ++ * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/ ++ 83511.cc: New test. ++ * testsuite/experimental/string_view/operations/substr/char/83511.cc: ++ New test. ++ * testsuite/experimental/string_view/operations/substr/wchar_t/83511.cc: ++ New test. ++ ++ Backport from mainline ++ 2018-11-19 Jonathan Wakely ++ ++ PR libstdc++/88084 - Implement LWG 2777 ++ * include/std/string_view (basic_string_view::copy): Use traits to ++ copy. ++ * testsuite/21_strings/basic_string_view/operations/copy/char/2.cc: ++ New test. ++ * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/2.cc: ++ New test. ++ ++ Backport from mainline ++ 2018-11-29 Jonathan Wakely ++ ++ PR libstdc++/86910 ++ PR libstdc++/87846 ++ * src/filesystem/ops.cc (experimental::create_directories): Report ++ an error when the path resolves to an existing non-directory (P1164). ++ * src/filesystem/std-ops.cc (create_directories): Likewise. Handle ++ empty filenames due to trailing slashes. ++ * testsuite/27_io/filesystem/operations/create_directories.cc: Test ++ when some component of the path exists and is not a directory. Test ++ trailing slashes. ++ * testsuite/experimental/filesystem/operations/create_directories.cc: ++ Likewise. ++ ++ Backport from mainline ++ 2018-11-28 Jonathan Wakely ++ ++ * doc/xml/manual/intro.xml: Document LWG 3096 change. ++ * src/filesystem/std-path.cc (path::lexically_relative(const path&)): ++ Treat a final empty element equivalently to a final dot element. ++ * testsuite/27_io/filesystem/path/generation/relative.cc: Add checks ++ for the examples in the DR. ++ ++ Backport from mainline ++ 2018-07-20 Jonathan Wakely ++ ++ PR libstdc++/86595 ++ * include/bits/fs_dir.h (directory_entry::refresh(error_code&)): Add ++ noexcept. ++ ++ Backport from mainline ++ 2018-05-21 Jonathan Wakely ++ ++ * src/filesystem/std-ops.cc (absolute): Report an error for empty ++ paths. ++ (weakly_canonical(const path&)): Do not call canonical on empty path. ++ (weakly_canonical(const path&, error_code&)): Likewise. ++ * testsuite/27_io/filesystem/operations/absolute.cc: Check for errors. ++ ++ Backport from mainline ++ 2019-01-30 Jonathan Wakely ++ ++ PR libstdc++/89117 ++ * src/c++17/fs_path.cc (path::replace_extension): Erase extension from ++ final component as well as from _M_pathname. ++ * testsuite/27_io/filesystem/path/modifiers/replace_extension.cc: ++ Add more test cases. ++ ++2019-01-21 Jonathan Wakely ++ ++ Backport from mainline ++ 2019-01-18 Jonathan Wakely ++ ++ PR libstdc++/87514 ++ PR libstdc++/87520 ++ PR libstdc++/88782 ++ * include/bits/shared_ptr.h ++ (shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...)) ++ (allocate_shared): Change to use new tag type. ++ (_Sp_alloc_shared_tag): Define new type. ++ (_Sp_counted_ptr_inplace): Declare __shared_count<_Lp> as a friend. ++ (__shared_count(Ptr, Deleter),__shared_count(Ptr, Deleter, Alloc)): ++ Constrain to prevent being called with _Sp_alloc_shared_tag. ++ (__shared_count(_Sp_make_shared_tag, const _Alloc&, Args&&...)): ++ Replace constructor with ... ++ (__shared_count(Tp*&, _Sp_alloc_shared_tag<_Alloc>, Args&&...)): Use ++ reference parameter so address of the new object can be returned to ++ the caller. Obtain the allocator from the tag type. ++ (__shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...)): Replace ++ constructor with ... ++ (__shared_ptr(_Sp_alloc_shared_tag, Args&&...)): Pass _M_ptr ++ to the __shared_count constructor. ++ (__allocate_shared): Change to use new tag type. ++ ++2019-01-14 Jonathan Wakely ++ ++ PR libstdc++/80762 ++ * testsuite/experimental/filesystem/path/construct/80762.cc: Add ++ dg-require-filesystem-ts directive. ++ ++2019-01-10 Jonathan Wakely ++ ++ Backport from mainline ++ 2019-01-04 Jonathan Wakely ++ ++ (path::lexically_normal()): Use std::vector iterators instead of ++ path::iterator. Use pop_back to remove components from the end. Clear ++ trailing filename, instead of using erase(const_iterator) to remove ++ a non-final component. ++ * testsuite/27_io/filesystem/path/generation/normal.cc: Test ++ additional cases. ++ * testsuite/27_io/filesystem/path/generation/normal2.cc: New test. ++ ++2019-01-10 Jonathan Wakely ++ ++ Backport from mainline ++ 2018-12-12 Jonathan Wakely ++ ++ PR libstdc++/80762 ++ * include/bits/fs_path.h (path::_Path): Use remove_cv_t and is_void. ++ * include/experimental/bits/fs_path.h (path::_Path): Likewise. ++ * testsuite/27_io/filesystem/path/construct/80762.cc: New test. ++ * testsuite/experimental/filesystem/path/construct/80762.cc: New test. ++ ++2019-01-10 Jonathan Wakely ++ ++ Backport from mainline ++ 2018-05-23 Jonathan Wakely ++ ++ * include/bits/fs_path.h (path::_M_type): Change default member ++ initializer to _Filename. ++ (path::begin): Create past-the-end iterator for empty path. ++ (path::has_relative_path()): Return false for empty filenames. ++ (path::_M_split_cmpts): Set _M_type to _Filename for empty paths. ++ Fix offset of empty final component. ++ * testsuite/27_io/filesystem/path/itr/components.cc: New. ++ * testsuite/27_io/filesystem/path/itr/traversal.cc: Add new inputs. ++ ++2019-01-10 Jonathan Wakely ++ ++ Backport from mainline ++ 2019-01-10 Jonathan Wakely ++ ++ * testsuite/util/testsuite_fs.h (nonexistent_path): Include name ++ of the source file containing the caller. ++ * testsuite/27_io/filesystem/iterators/directory_iterator.cc: Remove ++ directories created by test. ++ * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc: ++ Likewise. ++ * testsuite/experimental/filesystem/iterators/directory_iterator.cc: ++ Likewise. ++ * testsuite/experimental/filesystem/iterators/ ++ recursive_directory_iterator.cc: Likewise. ++ ++2019-01-10 Jonathan Wakely ++ ++ Backport from mainline ++ 2018-11-27 Jonathan Wakely ++ ++ * testsuite/27_io/filesystem/operations/canonical.cc: Remove ++ directory created by test. ++ * testsuite/27_io/filesystem/operations/symlink_status.cc: Remove ++ symlink created by test. ++ ++2019-01-10 Jonathan Wakely ++ ++ * src/filesystem/std-path.cc (path::remove_filename()): Remove debug ++ check that prevents building with -fno-exceptions. ++ ++2019-01-09 Jonathan Wakely ++ ++ * testsuite/20_util/optional/cons/value_neg.cc: Change dg-error to ++ dg-prune-output. Remove unused header. ++ ++ Backport from mainline ++ 2019-01-08 Jonathan Wakely ++ ++ PR libstdc++/87855 ++ * include/std/optional (_Optional_payload_base): New class template ++ for common code hoisted from _Optional_payload specializations. Use ++ a template for the union, to allow a partial specialization for ++ types with non-trivial destructors. Add constructors for in-place ++ initialization to the union. ++ (_Optional_payload(bool, const _Optional_payload&)): Use _M_construct ++ to perform non-trivial copy construction, instead of relying on ++ non-standard copy elision in a delegating constructor. ++ (_Optional_payload(bool, _Optional_payload&&)): Likewise for ++ non-trivial move construction. ++ (_Optional_payload): Derive from _Optional_payload_base and use it ++ for everything except the non-trivial assignment operators, which are ++ defined as needed. ++ (_Optional_payload): Derive from the specialization ++ _Optional_payload and add a destructor. ++ (_Optional_base_impl::_M_destruct, _Optional_base_impl::_M_reset): ++ Forward to corresponding members of _Optional_payload. ++ (_Optional_base_impl::_M_is_engaged, _Optional_base_impl::_M_get): ++ Hoist common members from _Optional_base. ++ (_Optional_base): Make all members and base class public. ++ (_Optional_base::_M_get, _Optional_base::_M_is_engaged): Move to ++ _Optional_base_impl. ++ * python/libstdcxx/v6/printers.py (StdExpOptionalPrinter): Add ++ support for new std::optional layout. ++ * testsuite/libstdc++-prettyprinters/compat.cc: New test. ++ ++ Backport from mainline ++ 2018-11-19 Ville Voutilainen ++ ++ PR libstdc++/87855 ++ Also implement P0602R4 (variant and optional ++ should propagate copy/move triviality) for std::optional. ++ * include/std/optional (_Optional_payload): Change ++ the main constraints to check constructibility in ++ addition to assignability. ++ (operator=): Make constexpr. ++ (_M_reset): Likewise. ++ (_M_construct): Likewise. ++ (operator->): Likewise. ++ * testsuite/20_util/optional/assignment/8.cc: Adjust. ++ * testsuite/20_util/optional/assignment/9.cc: New. ++ ++2018-12-23 Iain Sandoe ++ ++ Backport from mainline ++ 2018-12-06 Iain Sandoe ++ ++ * scripts/make_exports.pl (check names): Don’t try to export ++ construction vtable symbols. ++ ++2018-12-22 Iain Sandoe ++ ++ Backport from mainline ++ 2018-12-06 Jonathan Wakely ++ Iain Sandoe ++ ++ PR libstdc++/64883 ++ * testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't test ++ always_inline on Darwin. ++ * testsuite/17_intro/headers/c++2011/all_attributes.cc: Likewise. ++ * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise. ++ * testsuite/17_intro/headers/c++2017/all_attributes.cc: Likewise. ++ * testsuite/17_intro/headers/c++2020/all_attributes.cc: Likewise. ++ ++2018-12-06 Iain Sandoe ++ ++ Backport from mainline ++ 2018-08-25 Iain Sandoe ++ ++ PR libstdc++/70694 ++ * configure.host (OPT_LDFLAGS): Don't append ++ -fvisibility-inlines-hidden for newer Darwin. ++ ++2018-11-28 François Dumont ++ ++ PR libstdc++/88199 ++ * include/bits/hashtable.h ++ (_Hashtable<>::_M_move_assign(_Hashtable&&, false_type)): Deallocate ++ former buckets after assignment. ++ * testsuite/23_containers/unordered_set/allocator/move_assign.cc ++ (test03): New. ++ ++2018-11-22 Jonathan Wakely ++ ++ Backport from mainline ++ 2018-11-22 Jonathan Wakely ++ ++ PR libstdc++/85930 ++ PR libstdc++/87520 ++ * include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti) ++ [__cpp_rtti]: Define even when RTTI is enabled. Use array of ++ sizeof(type_info) so that type-punned reference binds to an object ++ of the correct size as well as correct alignment. ++ (_Sp_counted_ptr_inplace::_M_get_deleter) [__cpp_rtti]: Check for ++ _S_ti() reference even when RTTI is enabled. ++ (__shared_ptr(_Sp_make_shared_tag, const _Alloc&, _Args&&...)) ++ [__cpp_rtti]: Pass _S_ti() instead of typeid(_Sp_make_shared_tag). ++ ++2018-10-31 Jonathan Wakely ++ ++ Backport from mainline ++ 2018-10-31 Jonathan Wakely ++ ++ PR libstdc++/87822 ++ * include/bits/stl_pair.h (__pair_base): Change to class template. ++ (pair): Make base class type depend on template parameters. ++ * testsuite/20_util/pair/87822.cc: New test. ++ ++2018-10-30 Jonathan Wakely ++ ++ Backport from mainline ++ 2018-10-30 Jonathan Wakely ++ ++ PR libstdc++/87809 ++ * include/bits/forward_list.h (_Fwd_list_impl::_Fwd_list_impl()): Use ++ trait in exception-specification instead of possibly invalid ++ expression. ++ * include/bits/stl_bvector.h (_Bvector_impl::_Bvector_impl()): ++ Likewise. ++ * include/bits/stl_list.h (_List_impl::_List_impl()): Likewise. ++ * testsuite/23_containers/forward_list/cons/87809.cc: New test. ++ * testsuite/23_containers/list/cons/87809.cc: New test. ++ * testsuite/23_containers/vector/bool/cons/87809.cc: New test. ++ * testsuite/23_containers/vector/cons/87809.cc: New test. ++ ++2018-10-25 Jonathan Wakely ++ ++ PR libstdc++/87749 ++ * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] ++ (basic_string::operator=(basic_string&&)): For short strings copy the ++ buffer inline. Only fall back to using assign(const basic_string&) to ++ do a deep copy when reallocation is needed. ++ * testsuite/21_strings/basic_string/modifiers/assign/char/87749.cc: ++ New test. ++ * testsuite/21_strings/basic_string/modifiers/assign/char/ ++ move_assign_optim.cc: New test. ++ * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/87749.cc: ++ New test. ++ * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/ ++ move_assign_optim.cc: New test. ++ ++2018-10-23 Jonathan Wakely ++ ++ PR libstdc++/87704 ++ * include/bits/unique_ptr.h (unique_ptr::unique_ptr(nullptr_t)): Do ++ not delegate to default constructor. ++ (unique_ptr::unique_ptr(nullptr_t)): Likewise. ++ * testsuite/20_util/unique_ptr/cons/incomplete.cc: New test. ++ ++2018-10-19 Jonathan Wakely ++ ++ * include/bits/regex_executor.tcc (_Backref_matcher::_M_apply): Use ++ _GLIBCXX_STD_A to refer to normal mode algorithms. ++ * testsuite/28_regex/headers/regex/parallel_mode.cc: New test. ++ * testsuite/28_regex/headers/regex/std_c++0x_neg.cc: Remove empty ++ whitespace. ++ ++2018-10-18 Jonathan Wakely ++ ++ Backport from mainline ++ 2018-10-18 Jonathan Wakely ++ ++ PR libstdc++/87641 ++ * include/bits/valarray_array.h (__valarray_sum): Use first element ++ to initialize accumulator instead of value-initializing it. ++ * testsuite/26_numerics/valarray/87641.cc: New test. ++ ++2018-10-15 Jonathan Wakely ++ ++ * testsuite/22_locale/numpunct/members/char/3.cc: Adjust test to ++ account for change to glibc it_IT localedata (glibc bz#10797). ++ ++2018-10-12 Jonathan Wakely ++ ++ Backport from mainline ++ 2018-07-31 Jonathan Wakely ++ ++ PR libstdc++/86751 ++ * include/bits/stl_pair.h (__pair_base): New class with deleted copy ++ assignment operator. ++ (pair): Derive from __pair_base. ++ (pair::operator=): Remove deleted overload. ++ * python/libstdcxx/v6/printers.py (StdPairPrinter): New pretty printer ++ so that new base class isn't shown in GDB. ++ * testsuite/20_util/pair/86751.cc: New test. ++ * testsuite/20_util/pair/ref_assign.cc: New test. ++ ++2018-10-12 Jonathan Wakely ++ ++ Backport from mainline ++ 2018-09-03 Jonathan Wakely ++ ++ PR libstdc++/78595 ++ * include/bits/stl_map.h (map::insert(_Pair&&)) ++ (map::insert(const_iterator, _Pair&&)): Do emplace instead of insert. ++ * include/bits/stl_multimap.h (multimap::insert(_Pair&&)) ++ (multimap::insert(const_iterator, _Pair&&)): Likewise. ++ * include/bits/unordered_map.h (unordered_map::insert(_Pair&&)) ++ (unordered_map::insert(const_iterator, _Pair&&)) ++ (unordered_multimap::insert(_Pair&&)) ++ (unordered_multimap::insert(const_iterator, _Pair&&)): Likewise. ++ * include/std/type_traits (__enable_if_t): Define for C++11. ++ * testsuite/23_containers/map/modifiers/insert/78595.cc: New test. ++ * testsuite/23_containers/multimap/modifiers/insert/78595.cc: New test. ++ * testsuite/23_containers/unordered_map/modifiers/78595.cc: New test. ++ * testsuite/23_containers/unordered_multimap/modifiers/78595.cc: New ++ test. ++ ++2018-10-12 Jonathan Wakely ++ ++ Backport from mainline ++ 2018-08-30 Jonathan Wakely ++ ++ * include/ext/pointer.h (_Pointer_adapter): Define operators for ++ pointer arithmetic using long long offsets. ++ * testsuite/ext/ext_pointer/1.cc: Test pointer arithmetic using ++ long long values. ++ ++2018-10-12 Jonathan Wakely ++ ++ Backport from mainline ++ 2018-08-23 Jonathan Wakely ++ ++ * testsuite/21_strings/basic_string/init-list.cc: ++ Require cxx11-abi. ++ * testsuite/experimental/polymorphic_allocator/pmr_typedefs_match.cc: ++ Likewise. ++ * testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc: ++ Likewise. ++ ++ Backport from mainline ++ 2018-08-22 Jonathan Wakely ++ ++ PR libstdc++/87061 ++ * include/experimental/regex [!_GLIBCXX_USE_CXX11_ABI] ++ (experimental::pmr::match_results, experimental::pmr::cmatch) ++ (experimental::pmr::smatch, experimental::pmr::wcmatch) ++ (experimental::pmr::wsmatch): Do not declare for gcc4-compatible ABI, ++ because COW strings don't support C++11 allocator model. ++ * include/experimental/string [!_GLIBCXX_USE_CXX11_ABI] ++ (experimental::pmr::basic_string, experimental::pmr::string) ++ (experimental::pmr::u16string, experimental::pmr::u32string) ++ (experimental::pmr::wstring): Likewise. ++ ++ Backport from mainline ++ 2018-08-15 Jonathan Wakely ++ ++ * include/experimental/regex: Remove begin/end macros for namespace. ++ * include/experimental/string: Likewise. ++ * testsuite/experimental/polymorphic_allocator/pmr_typedefs_deque.cc: ++ New test. ++ * testsuite/experimental/polymorphic_allocator/ ++ pmr_typedefs_forward_list.cc: New test. ++ * testsuite/experimental/polymorphic_allocator/pmr_typedefs_list.cc: ++ New test. ++ * testsuite/experimental/polymorphic_allocator/pmr_typedefs_map.cc: ++ New test. ++ * testsuite/experimental/polymorphic_allocator/pmr_typedefs_match.cc: ++ New test. ++ * testsuite/experimental/polymorphic_allocator/ ++ pmr_typedefs_multimap.cc: New test. ++ * testsuite/experimental/polymorphic_allocator/ ++ pmr_typedefs_multiset.cc: New test. ++ * testsuite/experimental/polymorphic_allocator/pmr_typedefs_set.cc: ++ New test. ++ * testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc: ++ New test. ++ * testsuite/experimental/polymorphic_allocator/ ++ pmr_typedefs_unordered_map.cc: New test. ++ * testsuite/experimental/polymorphic_allocator/ ++ pmr_typedefs_unordered_multimap.cc: New test. ++ * testsuite/experimental/polymorphic_allocator/ ++ pmr_typedefs_unordered_multiset.cc: New test. ++ * testsuite/experimental/polymorphic_allocator/ ++ pmr_typedefs_unordered_set.cc: New test. ++ * testsuite/experimental/polymorphic_allocator/pmr_typedefs_vector.cc: ++ New test. ++ ++2018-10-12 Jonathan Wakely ++ ++ Backport from mainline ++ 2018-07-24 Jonathan Wakely ++ ++ PR libstdc++/70966 ++ * include/experimental/memory_resource (__get_default_resource): Use ++ placement new to create an object with dynamic storage duration. ++ ++ Backport from mainline ++ 2018-06-20 Jonathan Wakely ++ ++ PR libstdc++/70966 ++ * include/experimental/memory_resource (__resource_adaptor_imp): Add ++ static assertions to enforce requirements on pointer types. ++ (__resource_adaptor_imp::get_allocator()): Add noexcept. ++ (new_delete_resource, null_memory_resource): Return address of an ++ object with dynamic storage duration. ++ (__null_memory_resource): Remove. ++ * testsuite/experimental/memory_resource/70966.cc: New. ++ ++2018-10-12 Jonathan Wakely ++ ++ PR libstdc++/77854 ++ * doc/xml/manual/status_cxx1998.xml: Document size_type and ++ difference_type for containers. ++ * doc/html/*: Regenerate. ++ ++2018-10-08 Joseph Myers ++ ++ Backport from mainline ++ 2018-10-02 Joseph Myers ++ ++ * testsuite/lib/libstdc++.exp (libstdc++_init): Use ++ -fno-show-column in default cxxflags. ++ ++2018-10-08 Jonathan Wakely ++ ++ Backport from mainline ++ 2018-10-08 Jonathan Wakely ++ ++ PR libstdc++/87538 ++ * include/std/functional (_Not_fn::operator()): Check value of ++ __is_nothrow_invocable as well. ++ * testsuite/20_util/function_objects/not_fn/87538.cc: New test. ++ * testsuite/experimental/functional/87538.cc: New test. ++ ++2018-09-11 Jonathan Wakely ++ ++ PR libstdc++/87278 ++ * include/bits/shared_ptr.h (make_shared): Use remove_cv instead of ++ remove_const. ++ * testsuite/20_util/shared_ptr/creation/87278.cc: New test. ++ ++2018-08-28 Jonathan Wakely ++ ++ PR libstdc++/87116 ++ * src/filesystem/std-path.cc (path::lexically_normal): When handling ++ a dot-dot filename, preserve an empty final component in the iteration ++ sequence. ++ [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use preferred-separator for ++ root-directory. ++ * testsuite/27_io/filesystem/path/generation/normal.cc: Add new tests ++ for more than two adjacent dot-dot filenames. ++ [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Replace slashes with ++ preferred-separator in expected normalized strings. ++ ++2018-08-13 Jonathan Wakely ++ ++ Revert ++ 2018-08-10 Sebastian Huber ++ ++ PR target/85904 ++ * configure.ac: Define HAVE_ALIGNED_ALLOC if building for ++ Newlib. ++ * configure: Regenerate. ++ ++2018-08-10 Sebastian Huber ++ ++ Backport from mainline ++ 2018-08-10 Sebastian Huber ++ ++ PR target/85904 ++ * configure.ac: Define HAVE_ALIGNED_ALLOC if building for ++ Newlib. ++ * configure: Regenerate. ++ ++2018-08-08 Jonathan Wakely ++ ++ * libsupc++/new_opa.cc (aligned_alloc): Declare inside namespace to ++ avoid clashing with an ::aligned_alloc function that was not detected ++ by configure. ++ ++ PR libstdc++/86597 ++ * include/bits/fs_dir.h (directory_entry::_M_file_type(error_code&)): ++ Clear error_code when cached type is used. ++ * testsuite/27_io/filesystem/directory_entry/86597.cc: New test. ++ ++ * doc/xml/manual/using.xml: Remove C++2a headers not on gcc-8-branch. ++ * doc/html/*: Regenerate. ++ ++ * doc/xml/manual/using.xml: Add missing header to table and fix typo. ++ Remove C++17 headers not present on gcc-8-branch. ++ * doc/html/*: Regenerate. ++ ++2018-08-07 Jonathan Wakely ++ ++ Backport from mainline ++ 2018-07-31 Jonathan Wakely ++ ++ * doc/xml/manual/test.xml: Improve documentation on writing tests for ++ newer standards. ++ * doc/xml/manual/using.xml: Document all headers for C++11 and later. ++ * doc/html/*: Regenerate. ++ ++ Backport from mainline ++ 2018-05-03 Jonathan Wakely ++ ++ PR libstdc++/84535 ++ * include/std/thread (thread::__not_same): New SFINAE helper. ++ (thread::thread(_Callable&&, _Args&&...)): Add SFINAE constraint that ++ first argument is not a std::thread. Add static assertion to check ++ INVOKE expression is valid. ++ (thread::thread(thread&), thread::thread(const thread&&)): Remove. ++ * testsuite/30_threads/thread/cons/84535.cc: New. ++ ++ Backport from mainline ++ 2018-08-03 Jonathan Wakely ++ ++ * src/c++11/system_error.cc ++ (system_error_category::default_error_condition): Add workaround for ++ ENOTEMPTY and EEXIST having the same value on AIX. ++ * testsuite/19_diagnostics/error_category/system_category.cc: Add ++ extra testcases for EDOM, EILSEQ, ERANGE, EEXIST and ENOTEMPTY. ++ ++ Backport from mainline ++ 2018-08-01 Jonathan Wakely ++ ++ PR libstdc++/60555 ++ * src/c++11/system_error.cc ++ (system_error_category::default_error_condition): New override to ++ check for POSIX errno values. ++ * testsuite/19_diagnostics/error_category/generic_category.cc: New ++ * testsuite/19_diagnostics/error_category/system_category.cc: New ++ test. ++ ++ Backport from mainline ++ 2018-08-07 Jonathan Wakely ++ ++ PR libstdc++/86874 ++ * include/std/variant (_Copy_ctor_base::_M_destructive_move): Define ++ here instead of in _Move_assign_base. ++ (_Copy_ctor_base::_M_destructive_move): Define. ++ (_Copy_assign_base::operator=): Use _M_destructive_move when changing ++ the contained value to another alternative. ++ (_Move_assign_base::operator=): Likewise. ++ (_Move_assign_base::_M_destructive_move): Remove. ++ * testsuite/20_util/variant/86874.cc: New test. ++ ++ Backport from mainline ++ 2018-08-07 Jonathan Wakely ++ ++ PR libstdc++/86861 ++ * libsupc++/new_opa.cc [_GLIBCXX_HAVE_MEMALIGN] (aligned_alloc): ++ Replace macro with inline function. ++ [__sun]: Increase alignment to meet memalign precondition. ++ [!HAVE__ALIGNED_MALLOC && !HAVE_POSIX_MEMALIGN && !HAVE_MEMALIGN] ++ (aligned_alloc): Move check for valid alignment to operator new. ++ Remove redundant check for non-zero size, it's enforced by the caller. ++ (operator new): Move check for valid alignment here. Use ++ __builtin_expect on check for zero size. ++ ++2018-07-31 Jonathan Wakely ++ ++ Backport from mainline ++ 2018-07-30 Jonathan Wakely ++ ++ * libsupc++/new_opa.cc (operator new(size_t, align_val_t)): Add ++ workaround for aligned_alloc bug on AIX. ++ * testsuite/18_support/new_aligned.cc: New test. ++ ++ Backport from mainline ++ 2018-07-20 Fangrui Song ++ ++ * include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti): Use ++ _GLIBCXX_VISIBILITY(default). ++ ++ Backport from mainline ++ 2018-07-30 Jonathan Wakely ++ ++ PR libstdc++/86734 ++ * include/bits/stl_iterator.h (reverse_iterator::operator->): Use ++ addressof (LWG 2188). ++ * testsuite/24_iterators/reverse_iterator/dr2188.cc: New test. ++ ++ Backport from mainline ++ 2018-05-08 Jonathan Wakely ++ ++ PR libstdc++/85672 ++ * include/Makefile.am [!ENABLE_FLOAT128]: Change c++config.h entry ++ to #undef _GLIBCXX_USE_FLOAT128 instead of defining it to zero. ++ * include/Makefile.in: Regenerate. ++ * include/bits/c++config (_GLIBCXX_USE_FLOAT128): Move definition ++ within conditional block. ++ ++ Backport from mainline ++ 2018-05-01 Tulio Magno Quites Machado Filho ++ ++ PR libstdc++/84654 ++ * acinclude.m4: Set ENABLE_FLOAT128 instead of _GLIBCXX_USE_FLOAT128. ++ * config.h.in: Remove references to _GLIBCXX_USE_FLOAT128. ++ * configure: Regenerate. ++ * include/Makefile.am: Replace the value of _GLIBCXX_USE_FLOAT128 ++ based on ENABLE_FLOAT128. ++ * include/Makefile.in: Regenerate. ++ * include/bits/c++config: Define _GLIBCXX_USE_FLOAT128. ++ [!defined(__FLOAT128__) && !defined(__SIZEOF_FLOAT128__)]: Undefine ++ _GLIBCXX_USE_FLOAT128. ++ ++2018-07-26 Marek Polacek ++ ++ * testsuite/30_threads/condition_variable_any/cond.cc: New. ++ + 2018-07-26 Release Manager + + * GCC 8.2.0 released. +Index: libstdc++-v3/testsuite/24_iterators/reverse_iterator/dr2188.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/24_iterators/reverse_iterator/dr2188.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/24_iterators/reverse_iterator/dr2188.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,47 @@ ++// Copyright (C) 2018 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 } } ++ ++// PR libstdc++/86734 ++ ++#include ++#include ++ ++void ++test01() ++{ ++ // LWG DR 2188 ++ // Reverse iterator does not fully support targets that overload operator& ++ struct X { ++ int val; ++ int* operator&() { return &val; } ++ const int* operator&() const { return &val; } ++ }; ++ ++ X x[2] = { {1}, {2} }; ++ std::reverse_iterator rev(x+2); ++ VERIFY( rev->val == 2 ); ++ ++rev; ++ VERIFY( rev->val == 1 ); ++} ++ ++int ++main() ++{ ++ test01(); ++} +Index: libstdc++-v3/testsuite/28_regex/headers/regex/parallel_mode.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/28_regex/headers/regex/parallel_mode.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/28_regex/headers/regex/parallel_mode.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,22 @@ ++// Copyright (C) 2018 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 } } ++// { dg-require-normal-mode "" } ++ ++#define _GLIBCXX_PARALLEL ++#include +Index: libstdc++-v3/testsuite/28_regex/headers/regex/std_c++0x_neg.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/28_regex/headers/regex/std_c++0x_neg.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/28_regex/headers/regex/std_c++0x_neg.cc (.../branches/gcc-8-branch) +@@ -21,6 +21,3 @@ + #include + + // { dg-error "ISO C.. 2011" "" { target *-*-* } 32 } +- +- +- +Index: libstdc++-v3/testsuite/18_support/new_aligned.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/18_support/new_aligned.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/18_support/new_aligned.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,119 @@ ++// Copyright (C) 2018 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++17 } } ++ ++#include ++#include ++#include ++ ++struct Test ++{ ++ Test(std::size_t size, std::size_t a) ++ : size(size), alignment(std::align_val_t{a}), ++ p(::operator new(size, alignment)) ++ { } ++ ++ ~Test() { ::operator delete(p, size, alignment); } ++ ++ std::size_t size; ++ std::align_val_t alignment; ++ void* p; ++ ++ bool valid() const { return p != nullptr; } ++ ++ bool aligned() const ++ { ++ auto ptr = p; ++ auto space = size; ++ return std::align((std::size_t)alignment, size, ptr, space) == p; ++ } ++}; ++ ++// operator new(size_t size, align_val_t alignment) has ++// undefined behaviour if the alignment argument is not ++// a valid alignment value (i.e. not a power of two). ++// ++// Unlike posix_memalign there is no requirement that ++// alignment >= sizeof(void*). ++// ++// Unlike aligned_alloc there is no requirement that ++// size is an integer multiple of alignment. ++ ++void ++test01() ++{ ++ // Test small values that would not be valid for ++ // posix_memalign or aligned_alloc. ++ ++ Test t11{1, 1}; ++ VERIFY( t11.valid() ); ++ VERIFY( t11.aligned() ); ++ ++ Test t21{2, 1}; ++ VERIFY( t21.valid() ); ++ VERIFY( t21.aligned() ); ++ ++ Test t12{1, 2}; ++ VERIFY( t12.valid() ); ++ VERIFY( t12.aligned() ); ++ ++ Test t22{2, 2}; ++ VERIFY( t22.valid() ); ++ VERIFY( t22.aligned() ); ++ ++ Test t32{3, 2}; ++ VERIFY( t32.valid() ); ++ VERIFY( t32.aligned() ); ++ ++ Test t42{4, 2}; ++ VERIFY( t42.valid() ); ++ VERIFY( t42.aligned() ); ++ ++ Test t24{2, 4}; ++ VERIFY( t24.valid() ); ++ VERIFY( t24.aligned() ); ++ ++ Test t34{3, 4}; ++ VERIFY( t34.valid() ); ++ VERIFY( t34.aligned() ); ++ ++ Test t44{4, 4}; ++ VERIFY( t44.valid() ); ++ VERIFY( t44.aligned() ); ++ ++ // Test some larger values. ++ ++ Test t128_16{128, 16}; ++ VERIFY( t128_16.valid() ); ++ VERIFY( t128_16.aligned() ); ++ ++ Test t128_64{128, 64}; ++ VERIFY( t128_64.valid() ); ++ VERIFY( t128_64.aligned() ); ++ ++ Test t64_128{64, 128}; ++ VERIFY( t64_128.valid() ); ++ VERIFY( t64_128.aligned() ); ++} ++ ++int ++main() ++{ ++ test01(); ++} +Index: libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/libstdc++-prettyprinters/simple.cc (.../branches/gcc-8-branch) +@@ -41,6 +41,10 @@ + std::string str = "zardoz"; + // { dg-final { note-test str "\"zardoz\"" } } + ++ // PR 65229 ++ std::bitset<0> bs0; ++// { dg-final { note-test bs0 {std::bitset} } } ++ + std::bitset<10> bs; + bs[0] = 1; + bs[5] = 1; +Index: libstdc++-v3/testsuite/30_threads/condition_variable_any/cond.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/30_threads/condition_variable_any/cond.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/30_threads/condition_variable_any/cond.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,35 @@ ++// { dg-do run } ++// { dg-options "-pthread" } ++// { dg-require-effective-target c++11 } ++// { dg-require-effective-target pthread } ++// { dg-require-gthreads "" } ++ ++// Copyright (C) 2018 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 ++// . ++ ++#include ++#include ++ ++int main() ++{ ++ const size_t sz = sizeof(std::condition_variable_any); ++ char garbage[sz]; ++ memset(garbage, 0xff, sz); ++ auto cond = new ((void*)garbage) std::condition_variable_any(); ++ cond->notify_all(); ++ cond->~condition_variable_any(); ++} +Index: libstdc++-v3/testsuite/30_threads/thread/cons/84535.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/30_threads/thread/cons/84535.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/30_threads/thread/cons/84535.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,31 @@ ++// { dg-do compile { target c++11 } } ++// { dg-require-cstdint "" } ++// { dg-require-gthreads "" } ++ ++// Copyright (C) 2018 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 ++// . ++ ++#include ++ ++using std::is_constructible; ++using std::thread; ++ ++// PR libstdc++/84535 ++static_assert(!is_constructible::value, ""); ++static_assert(!is_constructible::value, ""); ++static_assert(!is_constructible::value, ""); ++static_assert(!is_constructible::value, ""); +Index: libstdc++-v3/testsuite/ext/ext_pointer/1.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/ext/ext_pointer/1.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/ext/ext_pointer/1.cc (.../branches/gcc-8-branch) +@@ -180,6 +180,19 @@ + VERIFY(bPtr3 == aPtr); + } + ++// Check that long long values can be used for pointer arithmetic. ++void test05() ++{ ++ A a[2] = { 1, 2 }; ++ A_pointer p = a; ++ A_pointer q = p + 0ull; ++ VERIFY( p == q ); ++ q += 0ll; ++ VERIFY( p == q ); ++ q += 1ll; ++ VERIFY( q->i == p[1ll].i ); ++} ++ + int main() + { + test01(); +@@ -186,5 +199,6 @@ + test02(); + test03(); + test04(); ++ test05(); + return 0; + } +Index: libstdc++-v3/testsuite/22_locale/numpunct/members/char/3.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/22_locale/numpunct/members/char/3.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/22_locale/numpunct/members/char/3.cc (.../branches/gcc-8-branch) +@@ -1,4 +1,4 @@ +-// { dg-require-namedlocale "it_IT.ISO8859-15" } ++// { dg-require-namedlocale "nl_NL.ISO8859-15" } + + // 2001-01-24 Benjamin Kosnik + +@@ -28,12 +28,14 @@ + { + using namespace std; + +- locale loc_it = locale(ISO_8859(15,it_IT)); ++ // nl_NL chosen because it has no thousands separator (at this time). ++ locale loc_it = locale(ISO_8859(15,nl_NL)); + + const numpunct& nump_it = use_facet >(loc_it); + + string g = nump_it.grouping(); + ++ // Ensure that grouping is empty for locales with empty thousands separator. + VERIFY( g == "" ); + } + +Index: libstdc++-v3/testsuite/lib/libstdc++.exp +=================================================================== +--- a/src/libstdc++-v3/testsuite/lib/libstdc++.exp (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/lib/libstdc++.exp (.../branches/gcc-8-branch) +@@ -239,7 +239,7 @@ + + # Default settings. + set cxx [transform "g++"] +- set cxxflags "-fmessage-length=0" ++ set cxxflags "-fmessage-length=0 -fno-show-column" + set cxxpchflags "" + set cxxvtvflags "" + set cxxldflags "" +Index: libstdc++-v3/testsuite/23_containers/queue/deduction.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/23_containers/queue/deduction.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/23_containers/queue/deduction.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,89 @@ ++// Copyright (C) 2019 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++17 } } ++ ++#include ++#include ++#include ++ ++template struct require_same; ++template struct require_same { using type = void; }; ++ ++template ++ typename require_same::type ++ check_type(U&) { } ++ ++void ++test01() ++{ ++ std::queue s0; ++ ++ std::queue s1 = s0; ++ check_type>(s1); ++ ++ std::queue s2 = std::move(s0); ++ check_type>(s2); ++ ++ const std::queue s3 = s0; ++ check_type>(s3); ++ ++ const std::queue s4 = s3; ++ check_type>(s4); ++ ++ std::allocator a; ++ std::queue s5(s0, a); ++ check_type>(s5); ++ ++ std::queue s6(std::move(s0), a); ++ check_type>(s6); ++ ++ const std::queue s7(s3, a); ++ check_type>(s7); ++} ++ ++void ++test02() ++{ ++ std::deque d; ++ std::list l; ++ ++ std::queue s1(d); ++ check_type>(s1); ++ ++ std::queue s2(d, d.get_allocator()); ++ check_type>(s2); ++ ++ std::queue s3(std::move(d)); ++ check_type>(s3); ++ ++ std::queue s4(std::move(d), d.get_allocator()); ++ check_type>(s4); ++ ++ std::queue s5(l); ++ check_type>>(s5); ++ ++ std::queue s6(l, l.get_allocator()); ++ check_type>>(s6); ++ ++ std::queue s7(std::move(l)); ++ check_type>>(s7); ++ ++ std::queue s8(std::move(l), l.get_allocator()); ++ check_type>>(s8); ++} +Index: libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/78595.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/78595.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/78595.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,122 @@ ++// Copyright (C) 2018 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 ++ ++void ++test01() ++{ ++ struct X { ++ mutable int conversions = 0; ++ ++ operator std::pair() const { ++ if (++conversions > 1) ++ throw 1; ++ return {}; ++ } ++ }; ++ ++ std::unordered_map m; ++ m.insert(X()); ++ VERIFY( m.size() == 1 ); ++ m.insert(m.begin(), X()); ++ VERIFY( m.size() == 1 ); ++ ++} ++void ++test02() ++{ ++ struct Y { ++ int conversions = 0; ++ ++ operator std::pair() && { ++ if (++conversions > 1) ++ throw 1; ++ return {}; ++ } ++ }; ++ ++ std::unordered_map m; ++ m.insert(Y()); ++ VERIFY( m.size() == 1 ); ++ m.insert(m.begin(), Y()); ++ VERIFY( m.size() == 1 ); ++} ++ ++struct Key { ++ int key; ++ bool operator==(const Key& r) const { return key == r.key; } ++}; ++ ++namespace std { ++ template<> struct hash { ++ size_t operator()(const Key& k) const { return std::hash()(k.key); } ++ }; ++} ++ ++struct Z { ++ operator std::pair() const { return { { z }, 0 }; } ++ int z; ++}; ++ ++template ++struct Alloc ++{ ++ Alloc() = default; ++ ++ template ++ Alloc(const Alloc&) { } ++ ++ using value_type = T; ++ ++ T* allocate(std::size_t n) { return std::allocator().allocate(n); } ++ ++ void deallocate(T* p, std::size_t n) { std::allocator().deallocate(p, n); } ++ ++ template ++ void construct(U* p, const Z& z) { ::new (p) U{ { z.z+1 }, 0}; } ++ ++ template ++ bool operator==(const Alloc&) { return true; } ++ ++ template ++ bool operator!=(const Alloc&) { return false; } ++}; ++ ++void ++test03() ++{ ++ std::unordered_map, std::equal_to, ++ Alloc>> m; ++ m.insert(Z{}); ++ m.insert(Z{}); ++ VERIFY( m.size() == 1 ); ++ m.insert(Z{}); ++ m.insert(Z{1}); ++ VERIFY( m.size() == 2 ); ++} ++ ++int ++main() ++{ ++ test01(); ++ test02(); ++ test03(); ++} +Index: libstdc++-v3/testsuite/23_containers/priority_queue/deduction.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/23_containers/priority_queue/deduction.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/23_containers/priority_queue/deduction.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,119 @@ ++// Copyright (C) 2019 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++17 } } ++ ++#include ++#include ++#include ++#include ++ ++template struct require_same; ++template struct require_same { using type = void; }; ++ ++template ++ typename require_same::type ++ check_type(U&) { } ++ ++void ++test01() ++{ ++ std::priority_queue s0; ++ ++ std::priority_queue s1 = s0; ++ check_type>(s1); ++ ++ std::priority_queue s2 = std::move(s0); ++ check_type>(s2); ++ ++ const std::priority_queue s3 = s0; ++ check_type>(s3); ++ ++ const std::priority_queue s4 = s3; ++ check_type>(s4); ++ ++ std::allocator a; ++ std::priority_queue s5(s0, a); ++ check_type>(s5); ++ ++ std::priority_queue s6(std::move(s0), a); ++ check_type>(s6); ++ ++ const std::priority_queue s7(s3, a); ++ check_type>(s7); ++} ++ ++template ++ using input_iterator_seq ++ = __gnu_test::test_container; ++ ++void ++test02() ++{ ++ using Deque = std::deque; ++ Deque d; ++ using Vector = std::vector; ++ Vector v; ++ using Cmp = std::greater; ++ Cmp cmp; ++ ++ std::priority_queue s1(cmp, d); ++ check_type>(s1); ++ ++ std::priority_queue s2(cmp, d, d.get_allocator()); ++ check_type>(s2); ++ ++ std::priority_queue s3(cmp, std::move(d)); ++ check_type>(s3); ++ ++ std::priority_queue s4(cmp, std::move(d), d.get_allocator()); ++ check_type>(s4); ++ ++ std::priority_queue s5(cmp, v); ++ check_type>(s5); ++ ++ std::priority_queue s6(cmp, v, v.get_allocator()); ++ check_type>(s6); ++ ++ std::priority_queue s7(cmp, std::move(v)); ++ check_type>(s7); ++ ++ std::priority_queue s8(cmp, std::move(v), v.get_allocator()); ++ check_type>(s8); ++ ++ short a[1] = {}; ++ input_iterator_seq seq(a); ++ ++ std::priority_queue s9(seq.begin(), seq.end()); ++ check_type>(s9); ++ ++ std::priority_queue s10(seq.begin(), seq.end(), {}); ++ check_type>(s10); ++ ++ std::priority_queue s11(seq.begin(), seq.end(), {}, {}); ++ check_type>(s11); ++ ++ std::priority_queue s12(seq.begin(), seq.end(), cmp); ++ check_type>(s12); ++ ++ std::priority_queue s13(seq.begin(), seq.end(), cmp, {}); ++ check_type>(s13); ++ ++ std::priority_queue s14(seq.begin(), seq.end(), cmp, std::deque{}); ++ check_type, Cmp>>(s14); ++} +Index: libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/78595.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/78595.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/23_containers/multimap/modifiers/insert/78595.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,115 @@ ++// Copyright (C) 2018 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 ++ ++void ++test01() ++{ ++ struct X { ++ mutable int conversions = 0; ++ ++ operator std::pair() const { ++ if (++conversions > 1) ++ throw 1; ++ return {}; ++ } ++ }; ++ ++ std::multimap m; ++ m.insert(X()); ++ VERIFY( m.size() == 1 ); ++ m.insert(m.begin(), X()); ++ VERIFY( m.size() == 2 ); ++ ++} ++void ++test02() ++{ ++ struct Y { ++ int conversions = 0; ++ ++ operator std::pair() && { ++ if (++conversions > 1) ++ throw 1; ++ return {}; ++ } ++ }; ++ ++ std::multimap m; ++ m.insert(Y()); ++ VERIFY( m.size() == 1 ); ++ m.insert(m.begin(), Y()); ++ VERIFY( m.size() == 2 ); ++} ++ ++struct Key { ++ int key; ++ bool operator<(const Key& r) const { return key < r.key; } ++}; ++ ++struct Z { ++ operator std::pair() const { return { { z }, 0 }; } ++ int z; ++}; ++ ++template ++struct Alloc ++{ ++ Alloc() = default; ++ ++ template ++ Alloc(const Alloc&) { } ++ ++ using value_type = T; ++ ++ T* allocate(std::size_t n) { return std::allocator().allocate(n); } ++ ++ void deallocate(T* p, std::size_t n) { std::allocator().deallocate(p, n); } ++ ++ template ++ void construct(U* p, const Z& z) { ::new (p) U{ { z.z+1 }, 0}; } ++ ++ template ++ bool operator==(const Alloc&) { return true; } ++ ++ template ++ bool operator!=(const Alloc&) { return false; } ++}; ++ ++void ++test03() ++{ ++ std::multimap, Alloc>> m; ++ m.insert(Z{}); ++ m.insert(Z{}); ++ VERIFY( m.size() == 2 ); ++ m.insert(Z{}); ++ m.insert(Z{1}); ++ VERIFY( m.size() == 4 ); ++} ++ ++int ++main() ++{ ++ test01(); ++ test02(); ++ test03(); ++} +Index: libstdc++-v3/testsuite/23_containers/forward_list/cons/87809.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/23_containers/forward_list/cons/87809.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/23_containers/forward_list/cons/87809.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,42 @@ ++// Copyright (C) 2018 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 ++ ++template ++struct Alloc ++{ ++ using value_type = T; ++ ++ T* allocate(unsigned n); ++ void deallocate(T* p, unsigned n); ++ ++ Alloc(int) { } ++ ++ template ++ Alloc(const Alloc&) { } ++}; ++ ++template ++ bool operator==(Alloc, Alloc) { return true; } ++template ++ bool operator!=(Alloc, Alloc) { return false; } ++ ++constexpr bool b ++ = std::is_default_constructible>>::value; +Index: libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/78595.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/78595.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/78595.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,122 @@ ++// Copyright (C) 2018 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 ++ ++void ++test01() ++{ ++ struct X { ++ mutable int conversions = 0; ++ ++ operator std::pair() const { ++ if (++conversions > 1) ++ throw 1; ++ return {}; ++ } ++ }; ++ ++ std::unordered_multimap m; ++ m.insert(X()); ++ VERIFY( m.size() == 1 ); ++ m.insert(m.begin(), X()); ++ VERIFY( m.size() == 2 ); ++ ++} ++void ++test02() ++{ ++ struct Y { ++ int conversions = 0; ++ ++ operator std::pair() && { ++ if (++conversions > 1) ++ throw 1; ++ return {}; ++ } ++ }; ++ ++ std::unordered_multimap m; ++ m.insert(Y()); ++ VERIFY( m.size() == 1 ); ++ m.insert(m.begin(), Y()); ++ VERIFY( m.size() == 2 ); ++} ++ ++struct Key { ++ int key; ++ bool operator==(const Key& r) const { return key == r.key; } ++}; ++ ++namespace std { ++ template<> struct hash { ++ size_t operator()(const Key& k) const { return std::hash()(k.key); } ++ }; ++} ++ ++struct Z { ++ operator std::pair() const { return { { z }, 0 }; } ++ int z; ++}; ++ ++template ++struct Alloc ++{ ++ Alloc() = default; ++ ++ template ++ Alloc(const Alloc&) { } ++ ++ using value_type = T; ++ ++ T* allocate(std::size_t n) { return std::allocator().allocate(n); } ++ ++ void deallocate(T* p, std::size_t n) { std::allocator().deallocate(p, n); } ++ ++ template ++ void construct(U* p, const Z& z) { ::new (p) U{ { z.z+1 }, 0}; } ++ ++ template ++ bool operator==(const Alloc&) { return true; } ++ ++ template ++ bool operator!=(const Alloc&) { return false; } ++}; ++ ++void ++test03() ++{ ++ std::unordered_multimap, std::equal_to, ++ Alloc>> m; ++ m.insert(Z{}); ++ m.insert(Z{}); ++ VERIFY( m.size() == 2 ); ++ m.insert(Z{}); ++ m.insert(Z{1}); ++ VERIFY( m.size() == 4 ); ++} ++ ++int ++main() ++{ ++ test01(); ++ test02(); ++ test03(); ++} +Index: libstdc++-v3/testsuite/23_containers/vector/bool/cons/87809.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/23_containers/vector/bool/cons/87809.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/23_containers/vector/bool/cons/87809.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,42 @@ ++// Copyright (C) 2018 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 ++ ++template ++struct Alloc ++{ ++ using value_type = T; ++ ++ T* allocate(unsigned n); ++ void deallocate(T* p, unsigned n); ++ ++ Alloc(int) { } ++ ++ template ++ Alloc(const Alloc&) { } ++}; ++ ++template ++ bool operator==(Alloc, Alloc) { return true; } ++template ++ bool operator!=(Alloc, Alloc) { return false; } ++ ++constexpr bool b ++ = std::is_default_constructible>>::value; +Index: libstdc++-v3/testsuite/23_containers/vector/cons/87809.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/23_containers/vector/cons/87809.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/23_containers/vector/cons/87809.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,42 @@ ++// Copyright (C) 2018 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 ++ ++template ++struct Alloc ++{ ++ using value_type = T; ++ ++ T* allocate(unsigned n); ++ void deallocate(T* p, unsigned n); ++ ++ Alloc(int) { } ++ ++ template ++ Alloc(const Alloc&) { } ++}; ++ ++template ++ bool operator==(Alloc, Alloc) { return true; } ++template ++ bool operator!=(Alloc, Alloc) { return false; } ++ ++constexpr bool b ++ = std::is_default_constructible>>::value; +Index: libstdc++-v3/testsuite/23_containers/unordered_set/allocator/move_assign.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/move_assign.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/23_containers/unordered_set/allocator/move_assign.cc (.../branches/gcc-8-branch) +@@ -18,6 +18,7 @@ + // { dg-do run { target c++11 } } + + #include ++ + #include + #include + #include +@@ -24,65 +25,126 @@ + + using __gnu_test::propagating_allocator; + using __gnu_test::counter_type; ++using __gnu_test::tracker_allocator; ++using __gnu_test::tracker_allocator_counter; + + void test01() + { +- typedef propagating_allocator alloc_type; +- typedef __gnu_test::counter_type_hasher hash; +- typedef std::unordered_set, +- alloc_type> test_type; ++ tracker_allocator_counter::reset(); ++ { ++ typedef propagating_allocator> alloc_type; ++ typedef __gnu_test::counter_type_hasher hash; ++ typedef std::unordered_set, ++ alloc_type> test_type; + +- test_type v1(alloc_type(1)); +- v1.emplace(0); ++ test_type v1(alloc_type(1)); ++ v1.emplace(0); + +- test_type v2(alloc_type(2)); +- v2.emplace(1); ++ test_type v2(alloc_type(2)); ++ v2.emplace(1); + +- counter_type::reset(); ++ counter_type::reset(); + +- v2 = std::move(v1); ++ v2 = std::move(v1); + +- VERIFY( 1 == v1.get_allocator().get_personality() ); +- VERIFY( 2 == v2.get_allocator().get_personality() ); ++ VERIFY( 1 == v1.get_allocator().get_personality() ); ++ VERIFY( 2 == v2.get_allocator().get_personality() ); + +- VERIFY( counter_type::move_count == 1 ); +- VERIFY( counter_type::destructor_count == 2 ); ++ VERIFY( counter_type::move_count == 1 ); ++ VERIFY( counter_type::destructor_count == 2 ); ++ } ++ ++ // Check there's nothing left allocated or constructed. ++ VERIFY( tracker_allocator_counter::get_construct_count() ++ == tracker_allocator_counter::get_destruct_count() ); ++ VERIFY( tracker_allocator_counter::get_allocation_count() ++ == tracker_allocator_counter::get_deallocation_count() ); + } + + void test02() + { +- typedef propagating_allocator alloc_type; +- typedef __gnu_test::counter_type_hasher hash; +- typedef std::unordered_set, +- alloc_type> test_type; ++ tracker_allocator_counter::reset(); ++ { ++ typedef propagating_allocator> alloc_type; ++ typedef __gnu_test::counter_type_hasher hash; ++ typedef std::unordered_set, ++ alloc_type> test_type; + +- test_type v1(alloc_type(1)); +- v1.emplace(0); ++ test_type v1(alloc_type(1)); ++ v1.emplace(0); + +- auto it = v1.begin(); ++ auto it = v1.begin(); + +- test_type v2(alloc_type(2)); +- v2.emplace(0); ++ test_type v2(alloc_type(2)); ++ v2.emplace(0); + +- counter_type::reset(); ++ counter_type::reset(); + +- v2 = std::move(v1); ++ v2 = std::move(v1); + +- VERIFY(0 == v1.get_allocator().get_personality()); +- VERIFY(1 == v2.get_allocator().get_personality()); ++ VERIFY(0 == v1.get_allocator().get_personality()); ++ VERIFY(1 == v2.get_allocator().get_personality()); + +- VERIFY( counter_type::move_count == 0 ); +- VERIFY( counter_type::copy_count == 0 ); +- VERIFY( counter_type::destructor_count == 1 ); ++ VERIFY( counter_type::move_count == 0 ); ++ VERIFY( counter_type::copy_count == 0 ); ++ VERIFY( counter_type::destructor_count == 1 ); + +- VERIFY( it == v2.begin() ); ++ VERIFY( it == v2.begin() ); ++ } ++ ++ // Check there's nothing left allocated or constructed. ++ VERIFY( tracker_allocator_counter::get_construct_count() ++ == tracker_allocator_counter::get_destruct_count() ); ++ VERIFY( tracker_allocator_counter::get_allocation_count() ++ == tracker_allocator_counter::get_deallocation_count() ); + } + ++void test03() ++{ ++ tracker_allocator_counter::reset(); ++ { ++ typedef propagating_allocator> alloc_type; ++ typedef __gnu_test::counter_type_hasher hash; ++ typedef std::unordered_set, ++ alloc_type> test_type; ++ ++ test_type v1(alloc_type(1)); ++ v1.emplace(0); ++ ++ test_type v2(alloc_type(2)); ++ int i = 0; ++ v2.emplace(i++); ++ for (; v2.bucket_count() == v1.bucket_count(); ++i) ++ v2.emplace(i); ++ ++ counter_type::reset(); ++ ++ v2 = std::move(v1); ++ ++ VERIFY( 1 == v1.get_allocator().get_personality() ); ++ VERIFY( 2 == v2.get_allocator().get_personality() ); ++ ++ VERIFY( counter_type::move_count == 1 ); ++ VERIFY( counter_type::destructor_count == i + 1 ); ++ } ++ ++ // Check there's nothing left allocated or constructed. ++ VERIFY( tracker_allocator_counter::get_construct_count() ++ == tracker_allocator_counter::get_destruct_count() ); ++ VERIFY( tracker_allocator_counter::get_allocation_count() ++ == tracker_allocator_counter::get_deallocation_count() ); ++} ++ + int main() + { + test01(); + test02(); ++ test03(); + return 0; + } +Index: libstdc++-v3/testsuite/23_containers/stack/deduction.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/23_containers/stack/deduction.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/23_containers/stack/deduction.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,89 @@ ++// Copyright (C) 2019 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++17 } } ++ ++#include ++#include ++#include ++ ++template struct require_same; ++template struct require_same { using type = void; }; ++ ++template ++ typename require_same::type ++ check_type(U&) { } ++ ++void ++test01() ++{ ++ std::stack s0; ++ ++ std::stack s1 = s0; ++ check_type>(s1); ++ ++ std::stack s2 = std::move(s0); ++ check_type>(s2); ++ ++ const std::stack s3 = s0; ++ check_type>(s3); ++ ++ const std::stack s4 = s3; ++ check_type>(s4); ++ ++ std::allocator a; ++ std::stack s5(s0, a); ++ check_type>(s5); ++ ++ std::stack s6(std::move(s0), a); ++ check_type>(s6); ++ ++ const std::stack s7(s3, a); ++ check_type>(s7); ++} ++ ++void ++test02() ++ { ++ std::deque d; ++ std::list l; ++ ++ std::stack s1(d); ++ check_type>(s1); ++ ++ std::stack s2(d, d.get_allocator()); ++ check_type>(s2); ++ ++ std::stack s3(std::move(d)); ++ check_type>(s3); ++ ++ std::stack s4(std::move(d), d.get_allocator()); ++ check_type>(s4); ++ ++ std::stack s5(l); ++ check_type>>(s5); ++ ++ std::stack s6(l, l.get_allocator()); ++ check_type>>(s6); ++ ++ std::stack s7(std::move(l)); ++ check_type>>(s7); ++ ++ std::stack s8(std::move(l), l.get_allocator()); ++ check_type>>(s8); ++} +Index: libstdc++-v3/testsuite/23_containers/list/cons/87809.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/23_containers/list/cons/87809.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/23_containers/list/cons/87809.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,42 @@ ++// Copyright (C) 2018 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 ++ ++template ++struct Alloc ++{ ++ using value_type = T; ++ ++ T* allocate(unsigned n); ++ void deallocate(T* p, unsigned n); ++ ++ Alloc(int) { } ++ ++ template ++ Alloc(const Alloc&) { } ++}; ++ ++template ++ bool operator==(Alloc, Alloc) { return true; } ++template ++ bool operator!=(Alloc, Alloc) { return false; } ++ ++constexpr bool b ++ = std::is_default_constructible>>::value; +Index: libstdc++-v3/testsuite/23_containers/map/modifiers/insert/78595.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/78595.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/78595.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,115 @@ ++// Copyright (C) 2018 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 ++ ++void ++test01() ++{ ++ struct X { ++ mutable int conversions = 0; ++ ++ operator std::pair() const { ++ if (++conversions > 1) ++ throw 1; ++ return {}; ++ } ++ }; ++ ++ std::map m; ++ m.insert(X()); ++ VERIFY( m.size() == 1 ); ++ m.insert(m.begin(), X()); ++ VERIFY( m.size() == 1 ); ++ ++} ++void ++test02() ++{ ++ struct Y { ++ int conversions = 0; ++ ++ operator std::pair() && { ++ if (++conversions > 1) ++ throw 1; ++ return {}; ++ } ++ }; ++ ++ std::map m; ++ m.insert(Y()); ++ VERIFY( m.size() == 1 ); ++ m.insert(m.begin(), Y()); ++ VERIFY( m.size() == 1 ); ++} ++ ++struct Key { ++ int key; ++ bool operator<(const Key& r) const { return key < r.key; } ++}; ++ ++struct Z { ++ operator std::pair() const { return { { z }, 0 }; } ++ int z; ++}; ++ ++template ++struct Alloc ++{ ++ Alloc() = default; ++ ++ template ++ Alloc(const Alloc&) { } ++ ++ using value_type = T; ++ ++ T* allocate(std::size_t n) { return std::allocator().allocate(n); } ++ ++ void deallocate(T* p, std::size_t n) { std::allocator().deallocate(p, n); } ++ ++ template ++ void construct(U* p, const Z& z) { ::new (p) U{ { z.z+1 }, 0}; } ++ ++ template ++ bool operator==(const Alloc&) { return true; } ++ ++ template ++ bool operator!=(const Alloc&) { return false; } ++}; ++ ++void ++test03() ++{ ++ std::map, Alloc>> m; ++ m.insert(Z{}); ++ m.insert(Z{}); ++ VERIFY( m.size() == 1 ); ++ m.insert(Z{}); ++ m.insert(Z{1}); ++ VERIFY( m.size() == 2 ); ++} ++ ++int ++main() ++{ ++ test01(); ++ test02(); ++ test03(); ++} +Index: libstdc++-v3/testsuite/27_io/filesystem/operations/create_directories.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/27_io/filesystem/operations/create_directories.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/27_io/filesystem/operations/create_directories.cc (.../branches/gcc-8-branch) +@@ -76,8 +76,59 @@ + VERIFY( count == 6 ); + } + ++void ++test02() ++{ ++ // PR libstdc++/86910 ++ const auto p = __gnu_test::nonexistent_path(); ++ std::error_code ec; ++ bool result; ++ ++ { ++ __gnu_test::scoped_file file; ++ ++ result = create_directories(file.path, ec); ++ VERIFY( !result ); ++ VERIFY( ec == std::errc::not_a_directory ); ++ result = create_directories(file.path / "foo", ec); ++ VERIFY( !result ); ++ VERIFY( ec == std::errc::not_a_directory ); ++ } ++ ++ create_directories(p); ++ { ++ __gnu_test::scoped_file dir(p, __gnu_test::scoped_file::adopt_file); ++ __gnu_test::scoped_file file(dir.path/"file"); ++ ++ result = create_directories(file.path, ec); ++ VERIFY( !result ); ++ VERIFY( ec == std::errc::not_a_directory ); ++ result = create_directories(file.path/"../bar", ec); ++ VERIFY( !result ); ++ VERIFY( ec == std::errc::not_a_directory ); ++ } ++} ++ ++void ++test03() ++{ ++ // PR libstdc++/87846 ++ const auto p = __gnu_test::nonexistent_path() / ""; ++ bool result = create_directories(p); ++ VERIFY( result ); ++ VERIFY( exists(p) ); ++ remove(p); ++ result = create_directories(p/"foo/"); ++ VERIFY( result ); ++ VERIFY( exists(p) ); ++ VERIFY( exists(p/"foo") ); ++ remove_all(p); ++} ++ + int + main() + { + test01(); ++ test02(); ++ test03(); + } +Index: libstdc++-v3/testsuite/27_io/filesystem/operations/absolute.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/27_io/filesystem/operations/absolute.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/27_io/filesystem/operations/absolute.cc (.../branches/gcc-8-branch) +@@ -31,7 +31,11 @@ + test01() + { + for (const path& p : __gnu_test::test_paths) +- VERIFY( absolute(p).is_absolute() ); ++ { ++ std::error_code ec; ++ path abs = absolute(p, ec); ++ VERIFY( ec || abs.is_absolute() ); ++ } + } + + void +Index: libstdc++-v3/testsuite/27_io/filesystem/operations/canonical.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/27_io/filesystem/operations/canonical.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/27_io/filesystem/operations/canonical.cc (.../branches/gcc-8-branch) +@@ -36,6 +36,7 @@ + VERIFY( ec ); + + create_directory(p); ++ __gnu_test::scoped_file l(p, __gnu_test::scoped_file::adopt_file); + auto p2 = canonical( p, ec ); + compare_paths( p2, fs::current_path()/p ); + VERIFY( !ec ); +Index: libstdc++-v3/testsuite/27_io/filesystem/operations/symlink_status.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/27_io/filesystem/operations/symlink_status.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/27_io/filesystem/operations/symlink_status.cc (.../branches/gcc-8-branch) +@@ -41,6 +41,7 @@ + + fs::path link = __gnu_test::nonexistent_path(); + create_directory_symlink(dot, link); ++ __gnu_test::scoped_file l(link, __gnu_test::scoped_file::adopt_file); + + st1 = fs::symlink_status(link); + VERIFY( st1.type() == fs::file_type::symlink ); +Index: libstdc++-v3/testsuite/27_io/filesystem/directory_entry/86597.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/27_io/filesystem/directory_entry/86597.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/27_io/filesystem/directory_entry/86597.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,74 @@ ++// Copyright (C) 2018 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 -lstdc++fs" } ++// { dg-do run { target c++17 } } ++// { dg-require-filesystem-ts "" } ++ ++#include ++#include ++#include ++#include ++ ++// PR libstdc++/86597 ++ ++void ++test01() ++{ ++ const auto bad_ec = make_error_code(std::errc::address_in_use); ++ std::error_code ec; ++ std::filesystem::directory_entry ent("."); ++ ++ ec = bad_ec; ++ VERIFY( ent.exists(ec) ); ++ VERIFY( !ec ); ++ ++ ec = bad_ec; ++ VERIFY( ent.is_directory(ec) ); ++ VERIFY( !ec ); ++ ++ ec = bad_ec; ++ VERIFY( !ent.is_regular_file(ec) ); ++ VERIFY( !ec ); ++} ++ ++void ++test02() ++{ ++ const auto bad_ec = make_error_code(std::errc::address_in_use); ++ std::error_code ec; ++ std::filesystem::directory_entry ent(__gnu_test::nonexistent_path()); ++ ++ ec = bad_ec; ++ VERIFY( !ent.exists(ec) ); ++ VERIFY( !ec ); ++ ++ ec = bad_ec; ++ VERIFY( !ent.is_directory(ec) ); ++ VERIFY( !ec ); ++ ++ ec = bad_ec; ++ VERIFY( !ent.is_regular_file(ec) ); ++ VERIFY( !ec ); ++} ++ ++int ++main() ++{ ++ test01(); ++ test02(); ++} +Index: libstdc++-v3/testsuite/27_io/filesystem/iterators/directory_iterator.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/27_io/filesystem/iterators/directory_iterator.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/27_io/filesystem/iterators/directory_iterator.cc (.../branches/gcc-8-branch) +@@ -136,6 +136,9 @@ + static_assert( noexcept(begin(it)), "begin is noexcept" ); + VERIFY( end(it) == endit ); + static_assert( noexcept(end(it)), "end is noexcept" ); ++ ++ std::error_code ec; ++ remove_all(p, ec); + } + + int +Index: libstdc++-v3/testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc (.../branches/gcc-8-branch) +@@ -177,6 +177,9 @@ + static_assert( noexcept(begin(it)), "begin is noexcept" ); + VERIFY( end(it) == endit ); + static_assert( noexcept(end(it)), "end is noexcept" ); ++ ++ std::error_code ec; ++ remove_all(p, ec); + } + + int +Index: libstdc++-v3/testsuite/27_io/filesystem/path/modifiers/replace_extension.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/27_io/filesystem/path/modifiers/replace_extension.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/27_io/filesystem/path/modifiers/replace_extension.cc (.../branches/gcc-8-branch) +@@ -34,6 +34,15 @@ + compare_paths( path("/foo.txt").replace_extension("cpp"), "/foo.cpp" ); + compare_paths( path("/foo.txt").replace_extension(".cpp"), "/foo.cpp" ); + compare_paths( path("/").replace_extension("bar"), "/.bar" ); ++ compare_paths( path("/").replace_extension(".bar"), "/.bar" ); ++ compare_paths( path("/dir/").replace_extension("bar"), "/dir/.bar" ); ++ compare_paths( path("dir/foo").replace_extension("bar"), "dir/foo.bar" ); ++ ++ // PR 89117: ++ compare_paths( path("/foo.txt").replace_extension(), "/foo" ); ++ compare_paths( path("foo.txt").replace_extension(), "foo" ); ++ compare_paths( path("/foo").replace_extension(), "/foo" ); ++ compare_paths( path("foo").replace_extension(), "foo" ); + } + + void +Index: libstdc++-v3/testsuite/27_io/filesystem/path/construct/80762.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/27_io/filesystem/path/construct/80762.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/27_io/filesystem/path/construct/80762.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,29 @@ ++// Copyright (C) 2018 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++17 } } ++ ++#include ++ ++using std::filesystem::path; ++ ++static_assert( !std::is_constructible_v ); ++static_assert( !std::is_constructible_v ); ++static_assert( !std::is_constructible_v ); ++static_assert( !std::is_constructible_v ); ++static_assert( !std::is_constructible_v ); +Index: libstdc++-v3/testsuite/27_io/filesystem/path/generation/relative.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/27_io/filesystem/path/generation/relative.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/27_io/filesystem/path/generation/relative.cc (.../branches/gcc-8-branch) +@@ -45,11 +45,31 @@ + compare_paths( p.lexically_relative(p), "." ); + compare_paths( p.lexically_relative("a/../a/b/../b/c/../c/."), "../../b/c" ); + compare_paths( p.lexically_relative("../../../"), "" ); ++ ++ compare_paths( path("a/./.").lexically_relative("a"), "./." ); + } + ++void ++test03() ++{ ++ // LWG 3096 ++ compare_paths( path("/dir").lexically_relative("/dir"), "." ); ++ compare_paths( path("/dir").lexically_relative("/dir/"), "." ); ++ compare_paths( path("/dir").lexically_relative("/dir/."), "." ); ++ ++ compare_paths( path("/dir/").lexically_relative("/dir"), "." ); ++ compare_paths( path("/dir/").lexically_relative("/dir/"), "." ); ++ compare_paths( path("/dir/").lexically_relative("/dir/."), "." ); ++ ++ compare_paths( path("/dir/.").lexically_relative("/dir"), "." ); ++ compare_paths( path("/dir/.").lexically_relative("/dir/"), "." ); ++ compare_paths( path("/dir/.").lexically_relative("/dir/."), "." ); ++} ++ + int + main() + { + test01(); + test02(); ++ test03(); + } +Index: libstdc++-v3/testsuite/27_io/filesystem/path/generation/normal.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/27_io/filesystem/path/generation/normal.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/27_io/filesystem/path/generation/normal.cc (.../branches/gcc-8-branch) +@@ -1,4 +1,4 @@ +-// Copyright (C) 2017-2018 Free Software Foundation, Inc. ++// Copyright (C) 2017-2019 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 +@@ -24,9 +24,19 @@ + #include + + using std::filesystem::path; +-using __gnu_test::compare_paths; + + void ++compare_paths(path p, std::string expected) ++{ ++#if defined(_WIN32) && !defined(__CYGWIN__) ++ for (auto& c : expected) ++ if (c == '/') ++ c = '\\'; ++#endif ++ __gnu_test::compare_paths(p, expected); ++} ++ ++void + test01() + { + // C++17 [fs.path.gen] p2 +@@ -69,8 +79,11 @@ + {"/foo" , "/foo" }, + {"/foo/" , "/foo/" }, + {"/foo/." , "/foo/" }, ++ {"/foo/.." , "/" }, ++ {"/foo/../.." , "/" }, + {"/foo/bar/.." , "/foo/" }, +- {"/foo/.." , "/" }, ++ {"/foo/bar/../.." , "/" }, ++ {"/foo/bar/baz/../../.." , "/" }, // PR libstdc++/87116 + + {"/." , "/" }, + {"/./" , "/" }, +@@ -88,10 +101,11 @@ + {"foo/.." , "." }, + {"foo/../" , "." }, + {"foo/../.." , ".." }, ++ {"foo/../../..", "../.." }, + + // with root name (OS-dependent): + #if defined(_WIN32) && !defined(__CYGWIN__) +- {"C:bar/.." , "C:." }, ++ {"C:bar/.." , "C:" }, + #else + {"C:bar/.." , "." }, + #endif +@@ -111,6 +125,8 @@ + {"../foo/../foo/.." , ".." }, + {"../.f/../f" , "../f" }, + {"../f/../.f" , "../.f" }, ++ {"../.." , "../.." }, ++ {"../../." , "../.." }, + {".././../." , "../.." }, + {".././.././" , "../.." }, + {"/.." , "/" }, +@@ -119,6 +135,48 @@ + compare_paths( path(test.input).lexically_normal(), test.normalized ); + } + ++void ++test04() ++{ ++ // PR libstdc++/87116 ++ path p = "a/b/c"; ++ compare_paths( (p/"../..").lexically_normal(), "a/" ); ++ ++ p = "a/b/c/d/e"; ++ compare_paths( (p/"..").lexically_normal(), "a/b/c/d/" ); ++ compare_paths( (p/"../..").lexically_normal(), "a/b/c/" ); ++ compare_paths( (p/"../../..").lexically_normal(), "a/b/" ); ++ compare_paths( (p/"../../../..").lexically_normal(), "a/" ); ++ compare_paths( (p/"../../../../..").lexically_normal(), "." ); ++ compare_paths( (p/"../../../../../..").lexically_normal(), ".." ); ++ ++ p = "/a/b/c/d/e"; ++ compare_paths( (p/"..").lexically_normal(), "/a/b/c/d/" ); ++ compare_paths( (p/"../..").lexically_normal(), "/a/b/c/" ); ++ compare_paths( (p/"../../..").lexically_normal(), "/a/b/" ); ++ compare_paths( (p/"../../../..").lexically_normal(), "/a/" ); ++ compare_paths( (p/"../../../../..").lexically_normal(), "/" ); ++ compare_paths( (p/"../../../../../..").lexically_normal(), "/" ); ++ ++#if defined(_WIN32) && !defined(__CYGWIN__) ++ p = "A:b/c/d/e"; ++ compare_paths( (p/"..").lexically_normal(), "A:b/c/d/" ); ++ compare_paths( (p/"../..").lexically_normal(), "A:b/c/" ); ++ compare_paths( (p/"../../..").lexically_normal(), "A:b/" ); ++ compare_paths( (p/"../../../..").lexically_normal(), "A:" ); ++ compare_paths( (p/"../../../../..").lexically_normal(), "A:.." ); ++ compare_paths( (p/"../../../../../..").lexically_normal(), "A:../.." ); ++ ++ p = "A:/b/c/d/e"; ++ compare_paths( (p/"..").lexically_normal(), "A:/b/c/d/" ); ++ compare_paths( (p/"../..").lexically_normal(), "A:/b/c/" ); ++ compare_paths( (p/"../../..").lexically_normal(), "A:/b/" ); ++ compare_paths( (p/"../../../..").lexically_normal(), "A:/" ); ++ compare_paths( (p/"../../../../..").lexically_normal(), "A:/" ); ++ compare_paths( (p/"../../../../../..").lexically_normal(), "A:/" ); ++#endif ++} ++ + int + main() + { +@@ -125,4 +183,5 @@ + test01(); + test02(); + test03(); ++ test04(); + } +Index: libstdc++-v3/testsuite/27_io/filesystem/path/generation/normal2.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/27_io/filesystem/path/generation/normal2.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/27_io/filesystem/path/generation/normal2.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,53 @@ ++// Copyright (C) 2019 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 -lstdc++fs" } ++// { dg-do run { target c++17 } } ++// { dg-require-filesystem-ts "" } ++ ++#undef _GLIBCXX_USE_CXX11_ABI ++#define _GLIBCXX_USE_CXX11_ABI 0 ++#include ++#include ++ ++using std::filesystem::path; ++ ++void ++compare_paths(path p, std::string expected) ++{ ++#if defined(_WIN32) && !defined(__CYGWIN__) ++ for (auto& c : expected) ++ if (c == '/') ++ c = '\\'; ++#endif ++ __gnu_test::compare_paths(p, expected); ++} ++ ++void ++test02() ++{ ++ path p = "./a/b/c/../.././b/c"; ++ // For the COW string this used to produce incorrect results: ++ auto norm = p.lexically_normal(); ++ compare_paths( norm, "a/b/c" ); ++} ++ ++int ++main() ++{ ++ test02(); ++} +Index: libstdc++-v3/testsuite/27_io/filesystem/path/itr/traversal.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/27_io/filesystem/path/itr/traversal.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/27_io/filesystem/path/itr/traversal.cc (.../branches/gcc-8-branch) +@@ -104,7 +104,7 @@ + void + test03() + { +- path paths[] = { "single", "multiple/elements" }; ++ path paths[] = { "single", "multiple/elements", "trailing/slash/", "/." }; + for (const path& p : paths) + for (auto iter = p.begin(); iter != p.end(); ++iter) + { +Index: libstdc++-v3/testsuite/27_io/filesystem/path/itr/components.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/27_io/filesystem/path/itr/components.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/27_io/filesystem/path/itr/components.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,51 @@ ++// Copyright (C) 2018 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 -lstdc++fs" } ++// { dg-do run { target c++17 } } ++// { dg-require-filesystem-ts "" } ++ ++#include ++#include ++#include ++#include ++ ++void ++test01() ++{ ++ for (std::filesystem::path p : __gnu_test::test_paths) ++ { ++ if (p.empty()) ++ VERIFY(std::distance(p.begin(), p.end()) == 0); ++ else ++ VERIFY(std::distance(p.begin(), p.end()) != 0); ++ ++ for (const std::filesystem::path& cmpt : p) ++ { ++ if (cmpt.empty()) ++ VERIFY(std::distance(cmpt.begin(), cmpt.end()) == 0); ++ else ++ VERIFY(std::distance(cmpt.begin(), cmpt.end()) == 1); ++ } ++ } ++} ++ ++int ++main() ++{ ++ test01(); ++} +Index: libstdc++-v3/testsuite/19_diagnostics/error_category/system_category.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/19_diagnostics/error_category/system_category.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/19_diagnostics/error_category/system_category.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,114 @@ ++// Copyright (C) 2018 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() ++{ ++ const char* name = std::system_category().name(); ++ VERIFY( name == std::string("system") ); ++} ++ ++void ++test02() ++{ ++ const std::error_category& cat = std::system_category(); ++ std::error_condition cond; ++ ++ // As of 2011, ISO C only defines EDOM, EILSEQ and ERANGE: ++ cond = cat.default_error_condition(EDOM); ++ VERIFY( cond.value() == EDOM ); ++ VERIFY( cond == std::errc::argument_out_of_domain ); ++ VERIFY( cond.category() == std::generic_category() ); ++ cond = cat.default_error_condition(EILSEQ); ++ VERIFY( cond.value() == EILSEQ ); ++ VERIFY( cond == std::errc::illegal_byte_sequence ); ++ VERIFY( cond.category() == std::generic_category() ); ++ cond = cat.default_error_condition(ERANGE); ++ VERIFY( cond.value() == ERANGE ); ++ VERIFY( cond == std::errc::result_out_of_range ); ++ VERIFY( cond.category() == std::generic_category() ); ++ ++ // EBADF and EACCES are defined on all targets, ++ // according to config/os/*/error_constants.h ++ cond = cat.default_error_condition(EBADF); ++ VERIFY( cond.value() == EBADF ); ++ VERIFY( cond == std::errc::bad_file_descriptor ); ++ VERIFY( cond.category() == std::generic_category() ); ++ cond = cat.default_error_condition(EACCES); ++ VERIFY( cond.value() == EACCES ); ++ VERIFY( cond == std::errc::permission_denied ); ++ VERIFY( cond.category() == std::generic_category() ); ++ ++ // All POSIX errno values are positive: ++ cond = cat.default_error_condition(-1); ++ VERIFY( cond.value() == -1 ); ++ VERIFY( cond.category() == cat ); ++ cond = cat.default_error_condition(-99); ++ VERIFY( cond.value() == -99 ); ++ VERIFY( cond.category() == cat ); ++ ++ // PR libstdc++/60555 ++ VERIFY( std::error_code(EDOM, cat) == std::errc::argument_out_of_domain ); ++ VERIFY( std::error_code(EILSEQ, cat) == std::errc::illegal_byte_sequence ); ++ VERIFY( std::error_code(ERANGE, cat) == std::errc::result_out_of_range ); ++ VERIFY( std::error_code(EBADF, cat) == std::errc::bad_file_descriptor ); ++ VERIFY( std::error_code(EACCES, cat) == std::errc::permission_denied ); ++ ++ // As shown at https://gcc.gnu.org/ml/libstdc++/2018-08/msg00018.html ++ // these two error codes might have the same value on AIX, but we still ++ // expect both to be matched by system_category and so use generic_category: ++#ifdef EEXIST ++ cond = cat.default_error_condition(EEXIST); ++ VERIFY( cond.value() == EEXIST ); ++ VERIFY( cond == std::errc::file_exists ); ++ VERIFY( cond.category() == std::generic_category() ); ++ VERIFY( std::error_code(EEXIST, cat) == std::errc::file_exists ); ++#endif ++#ifdef ENOTEMPTY ++ cond = cat.default_error_condition(ENOTEMPTY); ++ VERIFY( cond.value() == ENOTEMPTY ); ++ VERIFY( cond == std::errc::directory_not_empty ); ++ VERIFY( cond.category() == std::generic_category() ); ++ VERIFY( std::error_code(ENOTEMPTY, cat) == std::errc::directory_not_empty ); ++#endif ++} ++ ++void ++test03() ++{ ++ // set "C" locale to get expected message ++ auto loc = std::locale::global(std::locale::classic()); ++ ++ std::string msg = std::system_category().message(EBADF); ++ VERIFY( msg.find("file") != std::string::npos ); ++ ++ std::locale::global(loc); ++} ++ ++int ++main() ++{ ++ test01(); ++ test02(); ++ test03(); ++} +Index: libstdc++-v3/testsuite/19_diagnostics/error_category/generic_category.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/19_diagnostics/error_category/generic_category.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/19_diagnostics/error_category/generic_category.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,69 @@ ++// Copyright (C) 2018 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() ++{ ++ const char* name = std::generic_category().name(); ++ VERIFY( name == std::string("generic") ); ++} ++ ++void ++test02() ++{ ++ const std::error_category& cat = std::generic_category(); ++ std::error_condition cond; ++ ++ cond = cat.default_error_condition(EBADF); ++ VERIFY( cond.value() == EBADF ); ++ VERIFY( cond == std::errc::bad_file_descriptor ); ++ VERIFY( cond.category() == std::generic_category() ); ++ cond = cat.default_error_condition(EACCES); ++ VERIFY( cond.value() == EACCES ); ++ VERIFY( cond == std::errc::permission_denied ); ++ VERIFY( cond.category() == std::generic_category() ); ++ ++ // PR libstdc++/60555 ++ VERIFY( std::error_code(EBADF, cat) == std::errc::bad_file_descriptor ); ++ VERIFY( std::error_code(EACCES, cat) == std::errc::permission_denied ); ++} ++ ++void ++test03() ++{ ++ // set "C" locale to get expected message ++ auto loc = std::locale::global(std::locale::classic()); ++ ++ std::string msg = std::generic_category().message(EBADF); ++ VERIFY( msg.find("file") != std::string::npos ); ++ ++ std::locale::global(loc); ++} ++ ++int ++main() ++{ ++ test01(); ++ test02(); ++ test03(); ++} +Index: libstdc++-v3/testsuite/21_strings/basic_string_view/operations/substr/wchar_t/83511.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/substr/wchar_t/83511.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/substr/wchar_t/83511.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,38 @@ ++// { dg-options "-std=gnu++17" } ++// { dg-do run { target c++17 } } ++ ++// Copyright (C) 2018 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 ++// . ++ ++// basic_string_view::substr ++ ++#include ++#include ++ ++void ++test01() ++{ ++ const std::wstring_view s = L"abcdef"; ++ VERIFY( s.substr() == s ); ++ VERIFY( std::wstring_view{}.substr().empty() ); ++} ++ ++int ++main() ++{ ++ test01(); ++} +Index: libstdc++-v3/testsuite/21_strings/basic_string_view/operations/substr/char/83511.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/substr/char/83511.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/substr/char/83511.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,38 @@ ++// { dg-options "-std=gnu++17" } ++// { dg-do run { target c++17 } } ++ ++// Copyright (C) 2018 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 ++// . ++ ++// basic_string_view::substr ++ ++#include ++#include ++ ++void ++test01() ++{ ++ const std::string_view s = "abcdef"; ++ VERIFY( s.substr() == s ); ++ VERIFY( std::string_view{}.substr().empty() ); ++} ++ ++int ++main() ++{ ++ test01(); ++} +Index: libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/wchar_t/2.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/wchar_t/2.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/wchar_t/2.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,56 @@ ++// Copyright (C) 2018 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++17 } } ++ ++#include ++#include ++ ++using char_type = wchar_t; ++ ++// PR libstdc++/88084 ++// LWG 2777. basic_string_view::copy should use char_traits::copy ++ ++struct traits : std::char_traits ++{ ++ static char_type* ++ copy(char_type* s, const char_type* p, std::size_t n) ++ { ++ while (n--) ++ *s++ = 'X'; ++ return s; ++ } ++}; ++ ++void ++test01() ++{ ++ std::basic_string_view s = L"abc"; ++ char_type buf[3] = { L'1', L'2', L'3' }; ++ auto len = s.copy(buf, 3, 1); ++ VERIFY( len == 2 ); ++ VERIFY( buf[0] == L'X' ); ++ VERIFY( buf[1] == L'X' ); ++ VERIFY( buf[2] == L'3' ); ++} ++ ++int ++main() ++{ ++ test01(); ++} +Index: libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/char/2.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/char/2.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/char/2.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,56 @@ ++// Copyright (C) 2018 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++17 } } ++ ++#include ++#include ++ ++using char_type = char; ++ ++// PR libstdc++/88084 ++// LWG 2777. basic_string_view::copy should use char_traits::copy ++ ++struct traits : std::char_traits ++{ ++ static char_type* ++ copy(char_type* s, const char_type* p, std::size_t n) ++ { ++ while (n--) ++ *s++ = 'X'; ++ return s; ++ } ++}; ++ ++void ++test01() ++{ ++ std::basic_string_view s = "abc"; ++ char_type buf[3] = { '1', '2', '3' }; ++ auto len = s.copy(buf, 3, 1); ++ VERIFY( len == 2 ); ++ VERIFY( buf[0] == 'X' ); ++ VERIFY( buf[1] == 'X' ); ++ VERIFY( buf[2] == '3' ); ++} ++ ++int ++main() ++{ ++ test01(); ++} +Index: libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/87749.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/87749.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/87749.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,79 @@ ++// Copyright (C) 2018 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 } } ++ ++// PR libstdc++/87749 ++ ++#include ++#include ++ ++bool oom = false; ++ ++template ++struct alloc ++{ ++ using value_type = T; ++ ++#if !_GLIBCXX_USE_CXX11_ABI ++ using size_type = unsigned long; ++ using difference_type = long; ++ using reference = T&; ++ using const_reference = T&; ++ using pointer = T*; ++ using const_pointer = const T*; ++ template ++ struct rebind { using other = alloc; }; ++#endif ++ ++ int not_empty = 0; // this makes is_always_equal false ++ ++ alloc() = default; ++ template ++ alloc(const alloc&) { } ++ ++ T* allocate(unsigned long n) ++ { ++ if (oom) ++ throw std::bad_alloc(); ++ return std::allocator().allocate(n); ++ } ++ ++ void deallocate(T* p, unsigned long n) ++ { ++ std::allocator().deallocate(p, n); ++ } ++}; ++ ++template ++bool operator==(const alloc&, const alloc&) { return true; } ++ ++template ++bool operator!=(const alloc&, const alloc&) { return false; } ++ ++int main() ++{ ++ using string ++ = std::basic_string, alloc>; ++ ++ string s = L"PR libstdc++/87749 a string that is longer than a short string"; ++ const auto ptr = s.c_str(); ++ oom = true; ++ string ss; ++ ss = std::move(s); // allocators are equal, should not allocate new storage ++ VERIFY( ss.c_str() == ptr ); ++} +Index: libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/move_assign_optim.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/move_assign_optim.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/move_assign_optim.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,35 @@ ++// Copyright (C) 2018 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 "-O1" } ++// { dg-do compile { target c++11 } } ++// { dg-final { scan-assembler-not "__throw_length_error" } } ++// { dg-final { scan-assembler-not "__throw_bad_alloc" } } ++ ++#include ++#undef _GLIBCXX_EXTERN_TEMPLATE ++#include ++ ++void ++test01(std::wstring& target, std::wstring&& source) ++{ ++ // The move assignment operator should be simple enough that the compiler ++ // can see that it never results in a length_error or bad_alloc exception ++ // (which would be turned into std::terminate by the noexcept on the ++ // assignment operator). ++ target = std::move(source); ++} +Index: libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/87749.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/87749.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/87749.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,78 @@ ++// Copyright (C) 2018 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 } } ++ ++// PR libstdc++/87749 ++ ++#include ++#include ++ ++bool oom = false; ++ ++template ++struct alloc ++{ ++ using value_type = T; ++ ++#if !_GLIBCXX_USE_CXX11_ABI ++ using size_type = unsigned long; ++ using difference_type = long; ++ using reference = T&; ++ using const_reference = T&; ++ using pointer = T*; ++ using const_pointer = const T*; ++ template ++ struct rebind { using other = alloc; }; ++#endif ++ ++ int not_empty = 0; // this makes is_always_equal false ++ ++ alloc() = default; ++ template ++ alloc(const alloc&) { } ++ ++ T* allocate(unsigned long n) ++ { ++ if (oom) ++ throw std::bad_alloc(); ++ return std::allocator().allocate(n); ++ } ++ ++ void deallocate(T* p, unsigned long n) ++ { ++ std::allocator().deallocate(p, n); ++ } ++}; ++ ++template ++bool operator==(const alloc&, const alloc&) { return true; } ++ ++template ++bool operator!=(const alloc&, const alloc&) { return false; } ++ ++int main() ++{ ++ using string = std::basic_string, alloc>; ++ ++ string s = "PR libstdc++/87749 a string that is longer than a short string"; ++ const auto ptr = s.c_str(); ++ oom = true; ++ string ss; ++ ss = std::move(s); // allocators are equal, should not allocate new storage ++ VERIFY( ss.c_str() == ptr ); ++} +Index: libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/move_assign_optim.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/move_assign_optim.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/move_assign_optim.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,35 @@ ++// Copyright (C) 2018 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 "-O1" } ++// { dg-do compile { target c++11 } } ++// { dg-final { scan-assembler-not "__throw_length_error" } } ++// { dg-final { scan-assembler-not "__throw_bad_alloc" } } ++ ++#include ++#undef _GLIBCXX_EXTERN_TEMPLATE ++#include ++ ++void ++test01(std::string& target, std::string&& source) ++{ ++ // The move assignment operator should be simple enough that the compiler ++ // can see that it never results in a length_error or bad_alloc exception ++ // (which would be turned into std::terminate by the noexcept on the ++ // assignment operator). ++ target = std::move(source); ++} +Index: libstdc++-v3/testsuite/21_strings/basic_string/init-list.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/21_strings/basic_string/init-list.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/21_strings/basic_string/init-list.cc (.../branches/gcc-8-branch) +@@ -17,6 +17,7 @@ + // + + // { dg-do run { target c++11 } } ++// { dg-require-effective-target cxx11-abi } + + #include + #include +Index: libstdc++-v3/testsuite/26_numerics/valarray/87641.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/26_numerics/valarray/87641.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/26_numerics/valarray/87641.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,75 @@ ++// Copyright (C) 2018 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 ++// . ++ ++#include ++#include ++ ++void ++test01() ++{ ++ // PR libstdc++/87641 ++ std::valarray v1(3); ++ v1[0] = 1; ++ v1[1] = 2; ++ v1[2] = 3; ++ std::valarray< std::valarray > v2(v1, 3); ++ std::valarray v3 = v2.sum(); ++ VERIFY( v3.size() == v1.size() ); ++ VERIFY( v3[0] == 3 ); ++ VERIFY( v3[1] == 6 ); ++ VERIFY( v3[2] == 9 ); ++} ++ ++struct X ++{ ++ X() : val(1) { } ++ ++ X& operator+=(const X& x) { val += x.val; return *this; } ++ bool operator==(const X& x) { return val == x.val; } ++ ++ int val; ++}; ++ ++void ++test02() ++{ ++ std::valarray v1(1); ++ VERIFY( v1.sum() == v1[0] ); ++ ++ std::valarray v2(2); ++ VERIFY( v2.sum().val == 2 ); ++} ++ ++struct Y ++{ ++ X& operator+=(const Y&) { throw 1; } ++}; ++ ++void ++test03() ++{ ++ std::valarray v1(1); ++ (void) v1.sum(); // no addition performed for a single element ++} ++ ++int ++main() ++{ ++ test01(); ++ test02(); ++ test03(); ++} +Index: libstdc++-v3/testsuite/experimental/string_view/operations/substr/wchar_t/83511.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/experimental/string_view/operations/substr/wchar_t/83511.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/experimental/string_view/operations/substr/wchar_t/83511.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,37 @@ ++// { dg-do run { target c++14 } } ++ ++// Copyright (C) 2018 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 ++// . ++ ++// experimental::basic_string_view::substr ++ ++#include ++#include ++ ++void ++test01() ++{ ++ const std::experimental::wstring_view s = L"abcdef"; ++ VERIFY( s.substr() == s ); ++ VERIFY( std::experimental::wstring_view{}.substr().empty() ); ++} ++ ++int ++main() ++{ ++ test01(); ++} +Index: libstdc++-v3/testsuite/experimental/string_view/operations/substr/char/83511.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/experimental/string_view/operations/substr/char/83511.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/experimental/string_view/operations/substr/char/83511.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,37 @@ ++// { dg-do run { target c++14 } } ++ ++// Copyright (C) 2018 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 ++// . ++ ++// experimental::basic_string_view::substr ++ ++#include ++#include ++ ++void ++test01() ++{ ++ const std::experimental::string_view s = "abcdef"; ++ VERIFY( s.substr() == s ); ++ VERIFY( std::experimental::string_view{}.substr().empty() ); ++} ++ ++int ++main() ++{ ++ test01(); ++} +Index: libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_list.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_list.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_list.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,28 @@ ++// Copyright (C) 2018 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++14 } } ++ ++#include ++ ++namespace xpmr = std::experimental::pmr; ++ ++struct X { }; ++ ++static_assert(std::is_same, ++ std::list>>::value, ++ "pmr::list"); +Index: libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_set.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_set.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_set.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,32 @@ ++// Copyright (C) 2018 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++14 } } ++ ++#include ++ ++namespace xpmr = std::experimental::pmr; ++ ++struct X { }; ++struct Cmp { bool operator()(X, X) const { return false; } }; ++ ++static_assert(std::is_same, ++ std::set, xpmr::polymorphic_allocator>>::value, ++ "pmr::set"); ++static_assert(std::is_same, ++ std::set>>::value, ++ "pmr::set"); +Index: libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_match.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_match.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_match.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,50 @@ ++// Copyright (C) 2018 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++14 } } ++// { dg-require-effective-target cxx11-abi } ++ ++#include ++ ++namespace xpmr = std::experimental::pmr; ++ ++struct X; ++static_assert(std::is_same, ++ std::match_results>>>::value, ++ "pmr::match_results"); ++ ++static_assert(std::is_same>>>::value, ++ "pmr::cmatch"); ++static_assert(std::is_same>>>::value, ++ "pmr::smatch"); ++#ifdef _GLIBCXX_USE_WCHAR_T ++static_assert(std::is_same>>>::value, ++ "pmr::wcmatch"); ++static_assert(std::is_same>>>::value, ++ "pmr::wsmatch"); ++#endif +Index: libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_map.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_map.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_map.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,35 @@ ++// Copyright (C) 2018 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++14 } } ++ ++#include ++ ++namespace xpmr = std::experimental::pmr; ++ ++struct X { }; ++struct Y { }; ++struct Cmp { bool operator()(X, X) const { return false; } }; ++ ++static_assert(std::is_same, ++ std::map, ++ xpmr::polymorphic_allocator>>>::value, ++ "pmr::map"); ++static_assert(std::is_same, ++ std::map>>>::value, ++ "pmr::map"); +Index: libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_unordered_multiset.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_unordered_multiset.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_unordered_multiset.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,39 @@ ++// Copyright (C) 2018 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++14 } } ++ ++#include ++ ++namespace xpmr = std::experimental::pmr; ++ ++struct X { }; ++struct Hash { std::size_t operator()(X) const { return 0; } }; ++struct Eq { bool operator()(X, X) const { return true; } }; ++ ++static_assert(std::is_same, ++ std::unordered_multiset, std::equal_to, ++ xpmr::polymorphic_allocator>>::value, ++ "pmr::unordered_multiset"); ++static_assert(std::is_same, ++ std::unordered_multiset, ++ xpmr::polymorphic_allocator>>::value, ++ "pmr::unordered_multiset"); ++static_assert(std::is_same, ++ std::unordered_multiset>>::value, ++ "pmr::unordered_multiset"); +Index: libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_forward_list.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_forward_list.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_forward_list.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,28 @@ ++// Copyright (C) 2018 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++14 } } ++ ++#include ++ ++namespace xpmr = std::experimental::pmr; ++ ++struct X { }; ++ ++static_assert(std::is_same, ++ std::forward_list>>::value, ++ "pmr::forward_list"); +Index: libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_unordered_multimap.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_unordered_multimap.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_unordered_multimap.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,40 @@ ++// Copyright (C) 2018 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++14 } } ++ ++#include ++ ++namespace xpmr = std::experimental::pmr; ++ ++struct X { }; ++struct Y { }; ++struct Hash { std::size_t operator()(X) const { return 0; } }; ++struct Eq { bool operator()(X, X) const { return true; } }; ++ ++static_assert(std::is_same, ++ std::unordered_multimap, std::equal_to, ++ xpmr::polymorphic_allocator>>>::value, ++ "pmr::unordered_multimap"); ++static_assert(std::is_same, ++ std::unordered_multimap, ++ xpmr::polymorphic_allocator>>>::value, ++ "pmr::unordered_multimap"); ++static_assert(std::is_same, ++ std::unordered_multimap>>>::value, ++ "pmr::unordered_multimap"); +Index: libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_unordered_set.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_unordered_set.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_unordered_set.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,39 @@ ++// Copyright (C) 2018 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++14 } } ++ ++#include ++ ++namespace xpmr = std::experimental::pmr; ++ ++struct X { }; ++struct Hash { std::size_t operator()(X) const { return 0; } }; ++struct Eq { bool operator()(X, X) const { return true; } }; ++ ++static_assert(std::is_same, ++ std::unordered_set, std::equal_to, ++ xpmr::polymorphic_allocator>>::value, ++ "pmr::unordered_set"); ++static_assert(std::is_same, ++ std::unordered_set, ++ xpmr::polymorphic_allocator>>::value, ++ "pmr::unordered_set"); ++static_assert(std::is_same, ++ std::unordered_set>>::value, ++ "pmr::unordered_set"); +Index: libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_vector.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_vector.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_vector.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,28 @@ ++// Copyright (C) 2018 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++14 } } ++ ++#include ++ ++namespace xpmr = std::experimental::pmr; ++ ++struct X { }; ++ ++static_assert(std::is_same, ++ std::vector>>::value, ++ "pmr::vector"); +Index: libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_deque.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_deque.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_deque.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,28 @@ ++// Copyright (C) 2018 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++14 } } ++ ++#include ++ ++namespace xpmr = std::experimental::pmr; ++ ++struct X { }; ++ ++static_assert(std::is_same, ++ std::deque>>::value, ++ "pmr::deque"); +Index: libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_unordered_map.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_unordered_map.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_unordered_map.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,40 @@ ++// Copyright (C) 2018 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++14 } } ++ ++#include ++ ++namespace xpmr = std::experimental::pmr; ++ ++struct X { }; ++struct Y { }; ++struct Hash { std::size_t operator()(X) const { return 0; } }; ++struct Eq { bool operator()(X, X) const { return true; } }; ++ ++static_assert(std::is_same, ++ std::unordered_map, std::equal_to, ++ xpmr::polymorphic_allocator>>>::value, ++ "pmr::unordered_map"); ++static_assert(std::is_same, ++ std::unordered_map, ++ xpmr::polymorphic_allocator>>>::value, ++ "pmr::unordered_map"); ++static_assert(std::is_same, ++ std::unordered_map>>>::value, ++ "pmr::unordered_map"); +Index: libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_multiset.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_multiset.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_multiset.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,32 @@ ++// Copyright (C) 2018 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++14 } } ++ ++#include ++ ++namespace xpmr = std::experimental::pmr; ++ ++struct X { }; ++struct Cmp { bool operator()(X, X) const { return false; } }; ++ ++static_assert(std::is_same, ++ std::multiset, xpmr::polymorphic_allocator>>::value, ++ "pmr::multiset"); ++static_assert(std::is_same, ++ std::multiset>>::value, ++ "pmr::multiset"); +Index: libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,61 @@ ++// Copyright (C) 2018 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++14 } } ++// { dg-require-effective-target cxx11-abi } ++ ++#include ++ ++namespace xpmr = std::experimental::pmr; ++ ++struct T : std::char_traits { }; ++ ++static_assert(std::is_same, ++ std::basic_string, ++ xpmr::polymorphic_allocator>>::value, ++ "pmr::basic_string"); ++static_assert(std::is_same, ++ std::basic_string>>::value, ++ "pmr::basic_string"); ++ ++static_assert(std::is_same, ++ xpmr::polymorphic_allocator>>::value, ++ "pmr::string"); ++static_assert(std::is_same, ++ xpmr::polymorphic_allocator>>::value, ++ "pmr::u16string"); ++static_assert(std::is_same, ++ xpmr::polymorphic_allocator>>::value, ++ "pmr::u32string"); ++ ++#ifdef _GLIBCXX_USE_WCHAR_T ++static_assert(std::is_same, ++ std::basic_string, ++ xpmr::polymorphic_allocator>>::value, ++ "pmr::basic_string"); ++static_assert(std::is_same, ++ std::basic_string>>::value, ++ "pmr::basic_string"); ++ ++static_assert(std::is_same, ++ xpmr::polymorphic_allocator>>::value, ++ "pmr::wstring"); ++#endif +Index: libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_multimap.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_multimap.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/experimental/polymorphic_allocator/pmr_typedefs_multimap.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,35 @@ ++// Copyright (C) 2018 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++14 } } ++ ++#include ++ ++namespace xpmr = std::experimental::pmr; ++ ++struct X { }; ++struct Y { }; ++struct Cmp { bool operator()(X, X) const { return false; } }; ++ ++static_assert(std::is_same, ++ std::multimap, ++ xpmr::polymorphic_allocator>>>::value, ++ "pmr::multimap"); ++static_assert(std::is_same, ++ std::multimap>>>::value, ++ "pmr::multimap"); +Index: libstdc++-v3/testsuite/experimental/memory_resource/70966.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/experimental/memory_resource/70966.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/experimental/memory_resource/70966.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,56 @@ ++// Copyright (C) 2018 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++14 } } ++ ++#include ++ ++namespace pmr = std::experimental::pmr; ++ ++struct X ++{ ++ pmr::memory_resource* res = nullptr; ++ void* ptr = nullptr; ++ static constexpr std::size_t n = 64; ++ ++ constexpr X() { } ++ ++ explicit ++ X(pmr::memory_resource* r) : res(r), ptr(r->allocate(n)) { } ++ ++ ~X() { if (ptr) res->deallocate(ptr, n); } ++}; ++ ++void ++swap(X& lhs, X& rhs) { ++ std::swap(lhs.res, rhs.res); ++ std::swap(lhs.ptr, rhs.ptr); ++} ++ ++void ++test01() ++{ ++ static X x1; ++ X x2(pmr::new_delete_resource()); ++ swap(x1, x2); ++ // Now x1 will deallocate the memory during destruction of static objects. ++} ++ ++int main() ++{ ++ test01(); ++} +Index: libstdc++-v3/testsuite/experimental/filesystem/operations/create_directories.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/experimental/filesystem/operations/create_directories.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/experimental/filesystem/operations/create_directories.cc (.../branches/gcc-8-branch) +@@ -69,8 +69,60 @@ + VERIFY( count == 6 ); + } + ++void ++test02() ++{ ++ // PR libstdc++/86910 ++ const auto p = __gnu_test::nonexistent_path(); ++ std::error_code ec; ++ bool result; ++ ++ { ++ __gnu_test::scoped_file file; ++ ++ result = create_directories(file.path, ec); ++ VERIFY( !result ); ++ VERIFY( ec == std::errc::not_a_directory ); ++ result = create_directories(file.path / "foo", ec); ++ VERIFY( !result ); ++ __builtin_printf("%d\n", ec.value()); ++ VERIFY( ec == std::errc::not_a_directory ); ++ } ++ ++ create_directories(p); ++ { ++ __gnu_test::scoped_file dir(p, __gnu_test::scoped_file::adopt_file); ++ __gnu_test::scoped_file file(dir.path/"file"); ++ ++ result = create_directories(file.path, ec); ++ VERIFY( !result ); ++ VERIFY( ec == std::errc::not_a_directory ); ++ result = create_directories(file.path/"../bar", ec); ++ VERIFY( !result ); ++ VERIFY( ec == std::errc::not_a_directory ); ++ } ++} ++ ++void ++test03() ++{ ++ // PR libstdc++/87846 ++ const auto p = __gnu_test::nonexistent_path() / "/"; ++ bool result = create_directories(p); ++ VERIFY( result ); ++ VERIFY( exists(p) ); ++ remove(p); ++ result = create_directories(p/"foo/"); ++ VERIFY( result ); ++ VERIFY( exists(p) ); ++ VERIFY( exists(p/"foo") ); ++ remove_all(p); ++} ++ + int + main() + { + test01(); ++ test02(); ++ test03(); + } +Index: libstdc++-v3/testsuite/experimental/filesystem/iterators/directory_iterator.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/experimental/filesystem/iterators/directory_iterator.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/experimental/filesystem/iterators/directory_iterator.cc (.../branches/gcc-8-branch) +@@ -127,6 +127,9 @@ + static_assert( noexcept(begin(it)), "begin is noexcept" ); + VERIFY( end(it) == endit ); + static_assert( noexcept(end(it)), "end is noexcept" ); ++ ++ std::error_code ec; ++ remove_all(p, ec); + } + + int +Index: libstdc++-v3/testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc (.../branches/gcc-8-branch) +@@ -176,6 +176,9 @@ + static_assert( noexcept(begin(it)), "begin is noexcept" ); + VERIFY( end(it) == endit ); + static_assert( noexcept(end(it)), "end is noexcept" ); ++ ++ std::error_code ec; ++ remove_all(p, ec); + } + + int +Index: libstdc++-v3/testsuite/experimental/filesystem/path/construct/80762.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/experimental/filesystem/path/construct/80762.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/experimental/filesystem/path/construct/80762.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,29 @@ ++// Copyright (C) 2018 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 } } ++// { dg-require-filesystem-ts "" } ++ ++#include ++ ++using std::experimental::filesystem::path; ++ ++static_assert( !std::is_constructible::value, "" ); ++static_assert( !std::is_constructible::value, "" ); ++static_assert( !std::is_constructible::value, "" ); ++static_assert( !std::is_constructible::value, "" ); ++static_assert( !std::is_constructible::value, "" ); +Index: libstdc++-v3/testsuite/experimental/functional/87538.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/experimental/functional/87538.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/experimental/functional/87538.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,48 @@ ++// Copyright (C) 2018 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++14 } } ++ ++#include ++#include ++ ++struct N { ++ int operator()(int i) { if (i == 0) throw -1; return i; } ++}; ++ ++void ++test01() ++{ ++ N n; ++ auto not_n = std::experimental::not_fn(n); ++ static_assert( !noexcept(not_n(1)), "can throw" ); ++ VERIFY(not_n(1) == 0); ++ int exception = 0; ++ try { ++ not_n(0); ++ } ++ catch (int e) { ++ exception = e; ++ } ++ VERIFY(exception == -1); ++} ++ ++int ++main() ++{ ++ test01(); ++} +Index: libstdc++-v3/testsuite/17_intro/headers/c++2014/all_attributes.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_attributes.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_attributes.cc (.../branches/gcc-8-branch) +@@ -21,9 +21,9 @@ + // Ensure the library only uses the __name__ form for attributes. + // Don't test 'const' and 'noreturn' because they are reserved anyway. + #define abi_tag 1 +-#define always_inline 1 + #ifndef __APPLE__ + // darwin headers use these, see PR 64883 ++# define always_inline 1 + # define deprecated 1 + # define visibility 1 + #endif +Index: libstdc++-v3/testsuite/17_intro/headers/c++1998/all_attributes.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_attributes.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_attributes.cc (.../branches/gcc-8-branch) +@@ -21,9 +21,9 @@ + // Ensure the library only uses the __name__ form for attributes. + // Don't test 'const' because it is reserved anyway. + #define abi_tag 1 +-#define always_inline 1 + #ifndef __APPLE__ + // darwin headers use these, see PR 64883 ++# define always_inline 1 + # define deprecated 1 + # define noreturn 1 + # define visibility 1 +Index: libstdc++-v3/testsuite/17_intro/headers/c++2011/all_attributes.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_attributes.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_attributes.cc (.../branches/gcc-8-branch) +@@ -21,11 +21,11 @@ + // Ensure the library only uses the __name__ form for attributes. + // Don't test 'const' and 'noreturn' because they are reserved anyway. + #define abi_tag 1 +-#define always_inline 1 + #ifndef __APPLE__ + // darwin headers use these, see PR 64883 ++# define always_inline 1 ++# define deprecated 1 + # define visibility 1 +-# define deprecated 1 + #endif + #define packed 1 + #define pure 1 +Index: libstdc++-v3/testsuite/util/testsuite_fs.h +=================================================================== +--- a/src/libstdc++-v3/testsuite/util/testsuite_fs.h (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/util/testsuite_fs.h (.../branches/gcc-8-branch) +@@ -76,8 +76,18 @@ + // This is NOT supposed to be a secure way to get a unique name! + // We just need a path that doesn't exist for testing purposes. + test_fs::path +- nonexistent_path() ++ nonexistent_path(std::string file = __builtin_FILE()) + { ++ // Include the caller's filename to help identify tests that fail to ++ // clean up the files they create. ++ // Remove .cc extension: ++ if (file.length() > 3 && file.compare(file.length() - 3, 3, ".cc") == 0) ++ file.resize(file.length() - 3); ++ // And directory: ++ auto pos = file.find_last_of("/\\"); ++ if (pos != file.npos) ++ file.erase(0, pos+1); ++ + test_fs::path p; + #if defined(_GNU_SOURCE) || _XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >= 200112L + char tmp[] = "filesystem-test.XXXXXX"; +@@ -87,16 +97,22 @@ + std::error_code(errno, std::generic_category())); + ::unlink(tmp); + ::close(fd); +- p = tmp; ++ if (!file.empty()) ++ file.insert(0, 1, '-'); ++ file.insert(0, tmp); ++ p = file; + #else +- char buf[64]; ++ if (file.length() > 64) ++ file.resize(64); ++ char buf[128]; + static int counter; + #if _GLIBCXX_USE_C99_STDIO +- std::snprintf(buf, 64, ++ std::snprintf(buf, 128, + #else + std::sprintf(buf, + #endif +- "filesystem-test.%d.%lu", counter++, (unsigned long) ::getpid()); ++ "filesystem-test.%d.%lu-%s", counter++, (unsigned long) ::getpid(), ++ file.c_str()); + p = buf; + #endif + return p; +Index: libstdc++-v3/testsuite/20_util/duration/requirements/noexcept.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/20_util/duration/requirements/noexcept.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/20_util/duration/requirements/noexcept.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,39 @@ ++// Copyright (C) 2019 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 } } ++ ++// P0972R0 zero(), min(), and max() should be noexcept ++ ++#include ++ ++using namespace std; ++ ++using vals = chrono::duration_values; ++static_assert( noexcept(vals::zero()), "duration_values::zero()" ); ++static_assert( noexcept(vals::min()), "duration_values::min()" ); ++static_assert( noexcept(vals::max()), "duration_values::max()" ); ++ ++using dur1 = chrono::system_clock::duration; ++static_assert( noexcept(dur1::zero()), "duration::zero()" ); ++static_assert( noexcept(dur1::min()), "duration::min()" ); ++static_assert( noexcept(dur1::max()), "duration::max()" ); ++ ++using dur2 = chrono::duration>; ++static_assert( noexcept(dur2::zero()), "duration::zero()" ); ++static_assert( noexcept(dur2::min()), "duration::min()" ); ++static_assert( noexcept(dur2::max()), "duration::max()" ); +Index: libstdc++-v3/testsuite/20_util/pair/ref_assign.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/20_util/pair/ref_assign.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/20_util/pair/ref_assign.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,74 @@ ++// Copyright (C) 2018 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 ++ ++void ++test01() ++{ ++ typedef std::pair pair_type; ++ int i = 1; ++ int j = 2; ++ pair_type p(i, 3); ++ const pair_type q(j, 4); ++ p = q; ++ VERIFY( p.first == q.first ); ++ VERIFY( p.second == q.second ); ++ VERIFY( i == j ); ++} ++ ++void ++test02() ++{ ++ typedef std::pair pair_type; ++ int i = 1; ++ int j = 2; ++ pair_type p(3, i); ++ const pair_type q(4, j); ++ p = q; ++ VERIFY( p.first == q.first ); ++ VERIFY( p.second == q.second ); ++ VERIFY( i == j ); ++} ++ ++void ++test03() ++{ ++ typedef std::pair pair_type; ++ int i = 1; ++ int j = 2; ++ int k = 3; ++ int l = 4; ++ pair_type p(i, j); ++ const pair_type q(k, l); ++ p = q; ++ VERIFY( p.first == q.first ); ++ VERIFY( p.second == q.second ); ++ VERIFY( i == k ); ++ VERIFY( j == l ); ++} ++ ++int ++main() ++{ ++ test01(); ++ test02(); ++ test03(); ++} +Index: libstdc++-v3/testsuite/20_util/pair/87822.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/20_util/pair/87822.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/20_util/pair/87822.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,64 @@ ++// Copyright (C) 2018 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 ++// . ++ ++#include ++#include ++ ++void ++test01() ++{ ++ std::pair, int> p; ++#if __cplusplus >= 201103L ++ static_assert(sizeof(p) == (3 * sizeof(int)), "PR libstdc++/87822"); ++#endif ++ VERIFY( (void*)&p == (void*)&p.first ); ++ VERIFY( (void*)&p == (void*)&p.first.first ); ++} ++ ++struct empty { }; ++ ++void ++test02() ++{ ++ std::pair, empty> p; ++#if __cplusplus >= 201103L ++ static_assert(sizeof(p) == (3 * sizeof(empty)), "PR libstdc++/87822"); ++#endif ++ VERIFY( (void*)&p == (void*)&p.first ); ++} ++ ++void ++test03() ++{ ++ typedef std::pair int_pair; ++ typedef std::pair int_pair_pair; ++ std::pair p; ++#if __cplusplus >= 201103L ++ static_assert(sizeof(int_pair_pair) == (2 * sizeof(int_pair)), "nested"); ++ static_assert(sizeof(p) == (2 * sizeof(int_pair_pair)), "nested again"); ++#endif ++ VERIFY( (void*)&p == (void*)&p.first ); ++ VERIFY( (void*)&p == (void*)&p.first.first ); ++ VERIFY( (void*)&p == (void*)&p.first.first.first ); ++} ++ ++int main() ++{ ++ test01(); ++ test02(); ++ test03(); ++} +Index: libstdc++-v3/testsuite/20_util/pair/86751.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/20_util/pair/86751.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/20_util/pair/86751.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,33 @@ ++// Copyright (C) 2018 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 ++ ++struct X { ++ template operator T() const; ++}; ++ ++ ++void ++test01() ++{ ++ std::pair p; ++ X x; ++ p = x; // PR libstdc++/86751 ++} +Index: libstdc++-v3/testsuite/20_util/shared_ptr/creation/87278.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/20_util/shared_ptr/creation/87278.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/20_util/shared_ptr/creation/87278.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,26 @@ ++// Copyright (C) 2018 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 ++ ++void ++test01() ++{ ++ std::make_shared(); ++} +Index: libstdc++-v3/testsuite/20_util/unique_ptr/cons/incomplete.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/20_util/unique_ptr/cons/incomplete.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/20_util/unique_ptr/cons/incomplete.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,32 @@ ++// Copyright (C) 2018 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 ++ ++struct Incomplete; ++ ++void f(void** p) ++{ ++ ::new (p[0]) std::unique_ptr(); ++ ::new (p[1]) std::unique_ptr(); ++ ++ // PR libstdc++/87704 ++ ::new (p[2]) std::unique_ptr(nullptr); ++ ::new (p[3]) std::unique_ptr(nullptr); ++} +Index: libstdc++-v3/testsuite/20_util/function_objects/not_fn/87538.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/20_util/function_objects/not_fn/87538.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/20_util/function_objects/not_fn/87538.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,49 @@ ++// Copyright (C) 2018 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++17 } } ++ ++#include ++#include ++ ++struct N { ++ int operator()(int i) { if (i == 0) throw -1; return i; } ++}; ++ ++void ++test01() ++{ ++ N n; ++ auto not_n = std::not_fn(n); ++ static_assert( !noexcept(not_n(1)) ); ++ VERIFY(not_n(1) == 0); ++ int exception = 0; ++ try { ++ not_n(0); ++ } ++ catch (int e) { ++ exception = e; ++ } ++ VERIFY(exception == -1); ++} ++ ++int ++main() ++{ ++ test01(); ++} +Index: libstdc++-v3/testsuite/20_util/variant/86874.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/20_util/variant/86874.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/20_util/variant/86874.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,55 @@ ++// Copyright (C) 2018 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++17 } } ++ ++#include ++#include ++ ++void ++test01() ++{ ++ std::variant v1, v2; ++ std::swap(v1, v2); ++} ++ ++void ++test02() ++{ ++ std::variant v1{1}, v2{2}; ++ std::swap(v1, v2); ++ VERIFY( std::get<0>(v1) == 2 ); ++ VERIFY( std::get<0>(v2) == 1 ); ++} ++ ++void ++test03() ++{ ++ std::variant v1{1}, v2{2.3}; ++ std::swap(v1, v2); ++ VERIFY( std::get(v1) == 2.3 ); ++ VERIFY( std::get(v2) == 1 ); ++} ++ ++int ++main() ++{ ++ test01(); ++ test02(); ++ test03(); ++} +Index: libstdc++-v3/testsuite/20_util/alignment_of/value.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/20_util/alignment_of/value.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/20_util/alignment_of/value.cc (.../branches/gcc-8-branch) +@@ -20,16 +20,22 @@ + #include + #include + ++template ++constexpr bool test() ++{ ++ return __gnu_test::test_property(alignof(T)); ++} ++ + void test01() + { +- using std::alignment_of; +- using namespace __gnu_test; +- +- static_assert(test_property(__alignof__(char)), ""); +- static_assert(test_property(__alignof__(short)), ""); +- static_assert(test_property(__alignof__(int)), ""); +- static_assert(test_property(__alignof__(double)), ""); +- static_assert(test_property(__alignof__(int[4])), ""); +- static_assert(test_property(__alignof__(ClassType)), ""); ++ static_assert(test(), ""); ++ static_assert(test(), ""); ++ static_assert(test(), ""); ++ static_assert(test(), ""); ++ static_assert(test(), ""); ++ static_assert(test(), ""); ++ static_assert(test(), ""); ++ static_assert(test(), ""); ++ static_assert(test(), ""); ++ static_assert(test<__gnu_test::ClassType>(), ""); + } +Index: libstdc++-v3/testsuite/20_util/optional/cons/value_neg.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/20_util/optional/cons/value_neg.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/20_util/optional/cons/value_neg.cc (.../branches/gcc-8-branch) +@@ -1,5 +1,5 @@ + // { dg-options "-std=gnu++17" } +-// { dg-do compile } ++// { dg-do compile { target c++17 } } + + // Copyright (C) 2013-2018 Free Software Foundation, Inc. + // +@@ -19,7 +19,6 @@ + // . + + #include +-#include + + #include + #include +@@ -37,8 +36,6 @@ + std::optional> oup2 = new int; // { dg-error "conversion" } + struct U { explicit U(std::in_place_t); }; + std::optional ou(std::in_place); // { dg-error "no matching" } +- // { dg-error "no type" "" { target { *-*-* } } 1020 } +- // { dg-error "no type" "" { target { *-*-* } } 1030 } +- // { dg-error "no type" "" { target { *-*-* } } 1087 } + } + } ++// { dg-prune-output "no type .*enable_if" } +Index: libstdc++-v3/testsuite/20_util/optional/assignment/8.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/20_util/optional/assignment/8.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/20_util/optional/assignment/8.cc (.../branches/gcc-8-branch) +@@ -1,5 +1,5 @@ + // { dg-options "-std=gnu++17" } +-// { dg-do compile } ++// { dg-do compile { target c++17 } } + + // Copyright (C) 2018 Free Software Foundation, Inc. + // +@@ -91,6 +91,24 @@ + }; + static_assert(std::is_trivially_move_assignable_v); + ++struct S3 { ++ S3(const S3&); ++ S3& operator=(const S3&) = default; ++}; ++static_assert(std::is_trivially_copy_assignable_v); ++static_assert(std::is_copy_assignable_v); ++static_assert(!std::is_trivially_copy_assignable_v>); ++static_assert(std::is_copy_assignable_v>); ++ ++struct S4 { ++ S4(S4&&); ++ S4& operator=(S4&&) = default; ++}; ++static_assert(std::is_trivially_move_assignable_v); ++static_assert(std::is_move_assignable_v); ++static_assert(!std::is_trivially_move_assignable_v>); ++static_assert(std::is_move_assignable_v>); ++ + union U2 { + char dummy; + S2 s; +Index: libstdc++-v3/testsuite/20_util/optional/assignment/9.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/20_util/optional/assignment/9.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/20_util/optional/assignment/9.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,98 @@ ++// { dg-options "-std=gnu++17" } ++// { dg-do compile { target c++17 } } ++ ++// Copyright (C) 2018 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 ++// . ++ ++#include ++ ++constexpr bool f() ++{ ++ std::optional o1{42}; ++ std::optional o2; ++ o2 = o1; ++ return (o1 == o2); ++} ++ ++constexpr bool f2() ++{ ++ std::optional o1{42}; ++ std::optional o2; ++ std::optional o3; ++ o2 = o1; ++ o3 = std::move(o2); ++ return (o1 == o3); ++} ++ ++void g() ++{ ++ constexpr bool b = f(); ++ static_assert(b); ++ constexpr bool b2 = f2(); ++ static_assert(b2); ++} ++ ++struct NonTrivialButConstexpr ++{ ++ int dummy; ++ NonTrivialButConstexpr() = default; ++ constexpr NonTrivialButConstexpr(int val) : dummy(val) {} ++ NonTrivialButConstexpr(const NonTrivialButConstexpr&) = default; ++ NonTrivialButConstexpr(NonTrivialButConstexpr&&) = default; ++ constexpr NonTrivialButConstexpr& ++ operator=(const NonTrivialButConstexpr& other) ++ { ++ dummy = other.dummy; ++ return *this; ++ } ++ constexpr NonTrivialButConstexpr& ++ operator=(NonTrivialButConstexpr&& other) ++ { ++ dummy = other.dummy; ++ return *this; ++ } ++}; ++ ++constexpr bool f3() ++{ ++ std::optional d1, d2; ++ d1 = d2; ++ std::optional o1{42}; ++ std::optional o2{22}; ++ o2 = o1; ++ return ((*o1).dummy == (*o2).dummy && o1->dummy == o2->dummy); ++} ++ ++constexpr bool f4() ++{ ++ std::optional d1, d2; ++ d1 = std::move(d2); ++ std::optional o1{42}; ++ std::optional o2{22}; ++ std::optional o3{33}; ++ o2 = o1; ++ o3 = std::move(o2); ++ return ((*o1).dummy == (*o3).dummy && o1->dummy == o3->dummy); ++} ++ ++void g2() ++{ ++ constexpr bool b = f3(); ++ static_assert(b); ++ constexpr bool b2 = f4(); ++ static_assert(b2); ++} +Index: libstdc++-v3/testsuite/20_util/time_point/requirements/noexcept.cc +=================================================================== +--- a/src/libstdc++-v3/testsuite/20_util/time_point/requirements/noexcept.cc (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/testsuite/20_util/time_point/requirements/noexcept.cc (.../branches/gcc-8-branch) +@@ -0,0 +1,45 @@ ++// Copyright (C) 2019 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 } } ++ ++// P0972R0 zero(), min(), and max() should be noexcept ++ ++#include ++ ++using namespace std; ++ ++using tp1 = chrono::system_clock::time_point; ++static_assert( noexcept(tp1::min()), "time_point::min()" ); ++static_assert( noexcept(tp1::max()), "time_point::max()" ); ++ ++struct Clock { ++ using rep = int; ++ using period = ratio<1, 24>; ++ using duration = chrono::duration; ++ using time_point = chrono::time_point; ++ static constexpr bool is_steady = false; ++ static time_point now() noexcept; ++}; ++ ++using tp2 = Clock::time_point; ++static_assert( noexcept(tp2::min()), "time_point::min()" ); ++static_assert( noexcept(tp2::max()), "time_point::max()" ); ++ ++using tp3 = chrono::time_point>>; ++static_assert( noexcept(tp3::min()), "time_point::min()" ); ++static_assert( noexcept(tp3::max()), "time_point::max()" ); +Index: libstdc++-v3/config.h.in +=================================================================== +--- a/src/libstdc++-v3/config.h.in (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/config.h.in (.../branches/gcc-8-branch) +@@ -918,9 +918,6 @@ + /* Define if fchmodat is available in . */ + #undef _GLIBCXX_USE_FCHMODAT + +-/* Define if __float128 is supported on this host. */ +-#undef _GLIBCXX_USE_FLOAT128 +- + /* Defined if gettimeofday is available. */ + #undef _GLIBCXX_USE_GETTIMEOFDAY + +Index: libstdc++-v3/acinclude.m4 +=================================================================== +--- a/src/libstdc++-v3/acinclude.m4 (.../tags/gcc_8_2_0_release) ++++ b/src/libstdc++-v3/acinclude.m4 (.../branches/gcc-8-branch) +@@ -3062,7 +3062,7 @@ + dnl + dnl Defines: + dnl _GLIBCXX_USE_INT128 +-dnl _GLIBCXX_USE_FLOAT128 ++dnl ENABLE_FLOAT128 + dnl + AC_DEFUN([GLIBCXX_ENABLE_INT128_FLOAT128], [ + +@@ -3117,13 +3117,12 @@ + + AC_MSG_CHECKING([for __float128]) + if AC_TRY_EVAL(ac_compile); then +- AC_DEFINE(_GLIBCXX_USE_FLOAT128, 1, +- [Define if __float128 is supported on this host.]) + enable_float128=yes + else + enable_float128=no + fi + AC_MSG_RESULT($enable_float128) ++ GLIBCXX_CONDITIONAL(ENABLE_FLOAT128, test $enable_float128 = yes) + rm -f conftest* + + AC_LANG_RESTORE +Index: libiberty/ChangeLog +=================================================================== +--- a/src/libiberty/ChangeLog (.../tags/gcc_8_2_0_release) ++++ b/src/libiberty/ChangeLog (.../branches/gcc-8-branch) +@@ -1,3 +1,10 @@ ++2019-01-22 Nidal Faour ++ ++ PR lto/88422 ++ * simple-object.c (O_BINARY): Define if not already defined. ++ (simple_object_copy_lto_debug_sections): Create file in binary ++ mode. ++ + 2018-07-26 Release Manager + + * GCC 8.2.0 released. +Index: libiberty/simple-object.c +=================================================================== +--- a/src/libiberty/simple-object.c (.../tags/gcc_8_2_0_release) ++++ b/src/libiberty/simple-object.c (.../branches/gcc-8-branch) +@@ -44,6 +44,10 @@ + #define SEEK_SET 0 + #endif + ++#ifndef O_BINARY ++#define O_BINARY 0 ++#endif ++ + #include "simple-object-common.h" + + /* The known object file formats. */ +@@ -326,7 +330,7 @@ + return errmsg; + } + +- outfd = creat (dest, 00777); ++ outfd = open (dest, O_CREAT|O_WRONLY|O_TRUNC|O_BINARY, 00777); + if (outfd == -1) + { + *err = errno; +Index: libbacktrace/elf.c +=================================================================== +--- a/src/libbacktrace/elf.c (.../tags/gcc_8_2_0_release) ++++ b/src/libbacktrace/elf.c (.../branches/gcc-8-branch) +@@ -2868,7 +2868,7 @@ + if (note->type == NT_GNU_BUILD_ID + && note->namesz == 4 + && strncmp (note->name, "GNU", 4) == 0 +- && shdr->sh_size < 12 + ((note->namesz + 3) & ~ 3) + note->descsz) ++ && shdr->sh_size <= 12 + ((note->namesz + 3) & ~ 3) + note->descsz) + { + buildid_data = ¬e->name[0] + ((note->namesz + 3) & ~ 3); + buildid_size = note->descsz; +Index: libbacktrace/ChangeLog +=================================================================== +--- a/src/libbacktrace/ChangeLog (.../tags/gcc_8_2_0_release) ++++ b/src/libbacktrace/ChangeLog (.../branches/gcc-8-branch) +@@ -1,3 +1,12 @@ ++2018-10-23 Richard Biener ++ ++ Backport from mainline ++ 2018-06-21 Denis Khalikov ++ ++ PR other/86198 ++ * elf.c (elf_add): Increase ".note.gnu.build-id" section size ++ checking up to 36 bytes. ++ + 2018-07-26 Release Manager + + * GCC 8.2.0 released. +Index: gnattools/Makefile.in +=================================================================== +--- a/src/gnattools/Makefile.in (.../tags/gcc_8_2_0_release) ++++ b/src/gnattools/Makefile.in (.../branches/gcc-8-branch) +@@ -69,10 +69,16 @@ + -iquote $(fsrcdir) -I$(ftop_srcdir)/include + ADA_INCLUDES_FOR_SUBDIR = -I. -I$(fsrcdir)/ada + ++CXX_LFLAGS = \ ++ -B../../../$(target_noncanonical)/libstdc++-v3/src/.libs \ ++ -B../../../$(target_noncanonical)/libstdc++-v3/libsupc++/.libs \ ++ -L../../../$(target_noncanonical)/libstdc++-v3/src/.libs \ ++ -L../../../$(target_noncanonical)/libstdc++-v3/libsupc++/.libs ++ + # Variables for gnattools, native + TOOLS_FLAGS_TO_PASS_NATIVE= \ + "CC=../../xgcc -B../../" \ +- "CXX=$(CXX)" \ ++ "CXX=../../xg++ -B../../ $(CXX_LFLAGS)" \ + "CFLAGS=$(CFLAGS) $(WARN_CFLAGS)" \ + "LDFLAGS=$(LDFLAGS)" \ + "ADAFLAGS=$(ADAFLAGS)" \ +@@ -90,7 +96,7 @@ + # Variables for regnattools + TOOLS_FLAGS_TO_PASS_RE= \ + "CC=../../xgcc -B../../" \ +- "CXX=$(CXX)" \ ++ "CXX=../../xg++ -B../../ $(CXX_LFLAGS)" \ + "CFLAGS=$(CFLAGS)" \ + "LDFLAGS=$(LDFLAGS)" \ + "ADAFLAGS=$(ADAFLAGS)" \ +Index: gnattools/ChangeLog +=================================================================== +--- a/src/gnattools/ChangeLog (.../tags/gcc_8_2_0_release) ++++ b/src/gnattools/ChangeLog (.../branches/gcc-8-branch) +@@ -1,3 +1,24 @@ ++2018-11-06 Eric Botcazou ++ ++ PR ada/81878 ++ Revert ++ 2018-11-02 Tamar Christina ++ ++ PR ada/81878 ++ * Makefile.in (TOOLS_FLAGS_TO_PASS_NATIVE): Add -B ../../. ++ ++ 2017-08-17 Richard Biener ++ ++ PR ada/81878 ++ * Makefile.in (CXX_LFLAGS): Remove. ++ (TOOLS_FLAGS_TO_PASS_NATIVE): Pass $(CXX) as CXX. ++ (TOOLS_FLAGS_TO_PASS_RE): Likewise. ++ ++2018-11-02 Tamar Christina ++ ++ PR ada/81878 ++ * Makefile.in (TOOLS_FLAGS_TO_PASS_NATIVE): Add -B ../../. ++ + 2018-07-26 Release Manager + + * GCC 8.2.0 released. +Index: libgcc/ChangeLog +=================================================================== +--- a/src/libgcc/ChangeLog (.../tags/gcc_8_2_0_release) ++++ b/src/libgcc/ChangeLog (.../branches/gcc-8-branch) +@@ -1,3 +1,26 @@ ++2018-10-03 H.J. Lu ++ ++ Backport from mainline ++ 2018-07-27 H.J. Lu ++ ++ PR libgcc/85334 ++ * config/i386/shadow-stack-unwind.h (_Unwind_Frames_Increment): ++ ++2018-08-17 John David Anglin ++ ++ Backport from mainline ++ 2018-08-11 John David Anglin ++ ++ * config/pa/linux-atomic.c: Update comment. ++ (FETCH_AND_OP_2, OP_AND_FETCH_2, FETCH_AND_OP_WORD, OP_AND_FETCH_WORD, ++ COMPARE_AND_SWAP_2, __sync_val_compare_and_swap_4, ++ SYNC_LOCK_TEST_AND_SET_2, __sync_lock_test_and_set_4): Use ++ __ATOMIC_RELAXED for atomic loads. ++ (SYNC_LOCK_RELEASE_1): New define. Use __sync_synchronize() and ++ unordered store to release lock. ++ (__sync_lock_release_8): Likewise. ++ (SYNC_LOCK_RELEASE_2): Remove define. ++ + 2018-07-26 Release Manager + + * GCC 8.2.0 released. +Index: libgcc/config/i386/shadow-stack-unwind.h +=================================================================== +--- a/src/libgcc/config/i386/shadow-stack-unwind.h (.../tags/gcc_8_2_0_release) ++++ b/src/libgcc/config/i386/shadow-stack-unwind.h (.../branches/gcc-8-branch) +@@ -49,8 +49,3 @@ + } \ + } \ + while (0) +- +-/* Increment frame count. Skip signal frames. */ +-#undef _Unwind_Frames_Increment +-#define _Unwind_Frames_Increment(context, frames) \ +- if (!_Unwind_IsSignalFrame (context)) frames++ +Index: libgcc/config/pa/linux-atomic.c +=================================================================== +--- a/src/libgcc/config/pa/linux-atomic.c (.../tags/gcc_8_2_0_release) ++++ b/src/libgcc/config/pa/linux-atomic.c (.../branches/gcc-8-branch) +@@ -28,15 +28,10 @@ + #define EBUSY 16 + #define ENOSYS 251 + +-/* All PA-RISC implementations supported by linux have strongly +- ordered loads and stores. Only cache flushes and purges can be +- delayed. The data cache implementations are all globally +- coherent. Thus, there is no need to synchonize memory accesses. ++/* PA-RISC 2.0 supports out-of-order execution for loads and stores. ++ Thus, we need to synchonize memory accesses. For more info, see: ++ "Advanced Performance Features of the 64-bit PA-8000" by Doug Hunt. + +- GCC automatically issues a asm memory barrier when it encounters +- a __sync_synchronize builtin. Thus, we do not need to define this +- builtin. +- + We implement byte, short and int versions of each atomic operation + using the kernel helper defined below. There is no support for + 64-bit operations yet. */ +@@ -119,7 +114,7 @@ + long failure; \ + \ + do { \ +- tmp = __atomic_load_n (ptr, __ATOMIC_SEQ_CST); \ ++ tmp = __atomic_load_n (ptr, __ATOMIC_RELAXED); \ + newval = PFX_OP (tmp INF_OP val); \ + failure = __kernel_cmpxchg2 (ptr, &tmp, &newval, INDEX); \ + } while (failure != 0); \ +@@ -156,7 +151,7 @@ + long failure; \ + \ + do { \ +- tmp = __atomic_load_n (ptr, __ATOMIC_SEQ_CST); \ ++ tmp = __atomic_load_n (ptr, __ATOMIC_RELAXED); \ + newval = PFX_OP (tmp INF_OP val); \ + failure = __kernel_cmpxchg2 (ptr, &tmp, &newval, INDEX); \ + } while (failure != 0); \ +@@ -193,7 +188,7 @@ + long failure; \ + \ + do { \ +- tmp = __atomic_load_n (ptr, __ATOMIC_SEQ_CST); \ ++ tmp = __atomic_load_n (ptr, __ATOMIC_RELAXED); \ + failure = __kernel_cmpxchg (ptr, tmp, PFX_OP (tmp INF_OP val)); \ + } while (failure != 0); \ + \ +@@ -215,7 +210,7 @@ + long failure; \ + \ + do { \ +- tmp = __atomic_load_n (ptr, __ATOMIC_SEQ_CST); \ ++ tmp = __atomic_load_n (ptr, __ATOMIC_RELAXED); \ + failure = __kernel_cmpxchg (ptr, tmp, PFX_OP (tmp INF_OP val)); \ + } while (failure != 0); \ + \ +@@ -241,7 +236,7 @@ + \ + while (1) \ + { \ +- actual_oldval = __atomic_load_n (ptr, __ATOMIC_SEQ_CST); \ ++ actual_oldval = __atomic_load_n (ptr, __ATOMIC_RELAXED); \ + \ + if (__builtin_expect (oldval != actual_oldval, 0)) \ + return actual_oldval; \ +@@ -273,7 +268,7 @@ + + while (1) + { +- actual_oldval = __atomic_load_n (ptr, __ATOMIC_SEQ_CST); ++ actual_oldval = __atomic_load_n (ptr, __ATOMIC_RELAXED); + + if (__builtin_expect (oldval != actual_oldval, 0)) + return actual_oldval; +@@ -300,7 +295,7 @@ + long failure; \ + \ + do { \ +- oldval = __atomic_load_n (ptr, __ATOMIC_SEQ_CST); \ ++ oldval = __atomic_load_n (ptr, __ATOMIC_RELAXED); \ + failure = __kernel_cmpxchg2 (ptr, &oldval, &val, INDEX); \ + } while (failure != 0); \ + \ +@@ -318,7 +313,7 @@ + int oldval; + + do { +- oldval = __atomic_load_n (ptr, __ATOMIC_SEQ_CST); ++ oldval = __atomic_load_n (ptr, __ATOMIC_RELAXED); + failure = __kernel_cmpxchg (ptr, oldval, val); + } while (failure != 0); + +@@ -325,31 +320,24 @@ + return oldval; + } + +-#define SYNC_LOCK_RELEASE_2(TYPE, WIDTH, INDEX) \ ++void HIDDEN ++__sync_lock_release_8 (long long *ptr) ++{ ++ /* All accesses must be complete before we release the lock. */ ++ __sync_synchronize (); ++ *(double *)ptr = 0; ++} ++ ++#define SYNC_LOCK_RELEASE_1(TYPE, WIDTH) \ + void HIDDEN \ + __sync_lock_release_##WIDTH (TYPE *ptr) \ + { \ +- TYPE oldval, zero = 0; \ +- long failure; \ +- \ +- do { \ +- oldval = __atomic_load_n (ptr, __ATOMIC_SEQ_CST); \ +- failure = __kernel_cmpxchg2 (ptr, &oldval, &zero, INDEX); \ +- } while (failure != 0); \ ++ /* All accesses must be complete before we release \ ++ the lock. */ \ ++ __sync_synchronize (); \ ++ *ptr = 0; \ + } + +-SYNC_LOCK_RELEASE_2 (long long, 8, 3) +-SYNC_LOCK_RELEASE_2 (short, 2, 1) +-SYNC_LOCK_RELEASE_2 (signed char, 1, 0) +- +-void HIDDEN +-__sync_lock_release_4 (int *ptr) +-{ +- long failure; +- int oldval; +- +- do { +- oldval = __atomic_load_n (ptr, __ATOMIC_SEQ_CST); +- failure = __kernel_cmpxchg (ptr, oldval, 0); +- } while (failure != 0); +-} ++SYNC_LOCK_RELEASE_1 (int, 4) ++SYNC_LOCK_RELEASE_1 (short, 2) ++SYNC_LOCK_RELEASE_1 (signed char, 1) +Index: gcc/attribs.c +=================================================================== +--- a/src/gcc/attribs.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/attribs.c (.../branches/gcc-8-branch) +@@ -1685,6 +1685,8 @@ + a function global scope, unless declared static. */ + if (current_function_decl != NULL_TREE && !TREE_STATIC (node)) + TREE_PUBLIC (node) = 1; ++ /* Clear TREE_STATIC because DECL_EXTERNAL is set. */ ++ TREE_STATIC (node) = 0; + } + + if (*no_add_attrs == false) +Index: gcc/tree-complex.c +=================================================================== +--- a/src/gcc/tree-complex.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/tree-complex.c (.../branches/gcc-8-branch) +@@ -80,6 +80,9 @@ + non-SSA_NAME/non-invariant args that need to be replaced by SSA_NAMEs. */ + static vec phis_to_revisit; + ++/* BBs that need EH cleanup. */ ++static bitmap need_eh_cleanup; ++ + /* Lookup UID in the complex_variable_components hashtable and return the + associated tree. */ + static tree +@@ -695,13 +698,12 @@ + static void + update_complex_assignment (gimple_stmt_iterator *gsi, tree r, tree i) + { +- gimple *stmt; +- ++ gimple *old_stmt = gsi_stmt (*gsi); + gimple_assign_set_rhs_with_ops (gsi, COMPLEX_EXPR, r, i); +- stmt = gsi_stmt (*gsi); ++ gimple *stmt = gsi_stmt (*gsi); + update_stmt (stmt); +- if (maybe_clean_eh_stmt (stmt)) +- gimple_purge_dead_eh_edges (gimple_bb (stmt)); ++ if (maybe_clean_or_replace_eh_stmt (old_stmt, stmt)) ++ bitmap_set_bit (need_eh_cleanup, gimple_bb (stmt)->index); + + if (gimple_in_ssa_p (cfun)) + update_complex_components (gsi, gsi_stmt (*gsi), r, i); +@@ -1462,6 +1464,8 @@ + } + + update_stmt (stmt); ++ if (maybe_clean_eh_stmt (stmt)) ++ bitmap_set_bit (need_eh_cleanup, gimple_bb (stmt)->index); + } + + /* Expand inline asm that sets some complex SSA_NAMEs. */ +@@ -1680,6 +1684,8 @@ + class complex_propagate complex_propagate; + complex_propagate.ssa_propagate (); + ++ need_eh_cleanup = BITMAP_ALLOC (NULL); ++ + complex_variable_components = new int_tree_htab_type (10); + + complex_ssa_name_components.create (2 * num_ssa_names); +@@ -1725,11 +1731,15 @@ + + gsi_commit_edge_inserts (); + ++ unsigned todo ++ = gimple_purge_all_dead_eh_edges (need_eh_cleanup) ? TODO_cleanup_cfg : 0; ++ BITMAP_FREE (need_eh_cleanup); ++ + delete complex_variable_components; + complex_variable_components = NULL; + complex_ssa_name_components.release (); + complex_lattice_values.release (); +- return 0; ++ return todo; + } + + namespace { +Index: gcc/tree-ssa-tail-merge.c +=================================================================== +--- a/src/gcc/tree-ssa-tail-merge.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/tree-ssa-tail-merge.c (.../branches/gcc-8-branch) +@@ -286,6 +286,21 @@ + #define BB_VOP_AT_EXIT(bb) (((struct aux_bb_info *)bb->aux)->vop_at_exit) + #define BB_DEP_BB(bb) (((struct aux_bb_info *)bb->aux)->dep_bb) + ++/* Valueization helper querying the VN lattice. */ ++ ++static tree ++tail_merge_valueize (tree name) ++{ ++ if (TREE_CODE (name) == SSA_NAME ++ && has_VN_INFO (name)) ++ { ++ tree tem = VN_INFO (name)->valnum; ++ if (tem != VN_TOP) ++ return tem; ++ } ++ return name; ++} ++ + /* Returns true if the only effect a statement STMT has, is to define locally + used SSA_NAMEs. */ + +@@ -301,7 +316,15 @@ + if (gimple_vdef (stmt) != NULL_TREE + || gimple_has_side_effects (stmt) + || gimple_could_trap_p_1 (stmt, false, false) +- || gimple_vuse (stmt) != NULL_TREE) ++ || gimple_vuse (stmt) != NULL_TREE ++ /* Copied from tree-ssa-ifcombine.c:bb_no_side_effects_p(): ++ const calls don't match any of the above, yet they could ++ still have some side-effects - they could contain ++ gimple_could_trap_p statements, like floating point ++ exceptions or integer division by zero. See PR70586. ++ FIXME: perhaps gimple_has_side_effects or gimple_could_trap_p ++ should handle this. */ ++ || is_gimple_call (stmt)) + return false; + + def_p = SINGLE_SSA_DEF_OPERAND (stmt, SSA_OP_DEF); +@@ -363,7 +386,7 @@ + if (val1 == val2) + return true; + +- if (vn_valueize (val1) != vn_valueize (val2)) ++ if (tail_merge_valueize (val1) != tail_merge_valueize (val2)) + return false; + + return ((TREE_CODE (val1) == SSA_NAME || CONSTANT_CLASS_P (val1)) +@@ -473,7 +496,7 @@ + for (i = 0; i < gimple_call_num_args (stmt); i++) + { + arg = gimple_call_arg (stmt, i); +- arg = vn_valueize (arg); ++ arg = tail_merge_valueize (arg); + inchash::add_expr (arg, hstate); + } + } +@@ -1139,7 +1162,7 @@ + if (lhs1 == NULL_TREE || lhs2 == NULL_TREE) + return false; + if (TREE_CODE (lhs1) == SSA_NAME && TREE_CODE (lhs2) == SSA_NAME) +- return vn_valueize (lhs1) == vn_valueize (lhs2); ++ return tail_merge_valueize (lhs1) == tail_merge_valueize (lhs2); + return operand_equal_p (lhs1, lhs2, 0); + + case GIMPLE_ASSIGN: +Index: gcc/ipa-icf-gimple.c +=================================================================== +--- a/src/gcc/ipa-icf-gimple.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/ipa-icf-gimple.c (.../branches/gcc-8-branch) +@@ -994,6 +994,9 @@ + if (gimple_asm_input_p (g1) != gimple_asm_input_p (g2)) + return false; + ++ if (gimple_asm_inline_p (g1) != gimple_asm_inline_p (g2)) ++ return false; ++ + if (gimple_asm_ninputs (g1) != gimple_asm_ninputs (g2)) + return false; + +Index: gcc/c-family/c-cppbuiltin.c +=================================================================== +--- a/src/gcc/c-family/c-cppbuiltin.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/c-family/c-cppbuiltin.c (.../branches/gcc-8-branch) +@@ -972,9 +972,13 @@ + cpp_define (pfile, "__cpp_aggregate_bases=201603"); + cpp_define (pfile, "__cpp_deduction_guides=201611"); + cpp_define (pfile, "__cpp_noexcept_function_type=201510"); ++ /* Old macro, superseded by ++ __cpp_nontype_template_parameter_auto. */ + cpp_define (pfile, "__cpp_template_auto=201606"); + cpp_define (pfile, "__cpp_structured_bindings=201606"); + cpp_define (pfile, "__cpp_variadic_using=201611"); ++ cpp_define (pfile, "__cpp_guaranteed_copy_elision=201606"); ++ cpp_define (pfile, "__cpp_nontype_template_parameter_auto=201606"); + } + if (flag_concepts) + cpp_define (pfile, "__cpp_concepts=201507"); +Index: gcc/c-family/c.opt +=================================================================== +--- a/src/gcc/c-family/c.opt (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/c-family/c.opt (.../branches/gcc-8-branch) +@@ -1339,8 +1339,8 @@ + static-libmpxwrappers + Driver + +-fcilkplus Undocumented +-C ObjC C++ ObjC++ LTO Report Var(flag_cilkplus) Init(0) ++fcilkplus ++C ObjC C++ ObjC++ LTO Report Var(flag_cilkplus) Init(0) Undocumented + Deprecated in GCC 8. This switch has no effect. + + fconcepts +Index: gcc/c-family/ChangeLog +=================================================================== +--- a/src/gcc/c-family/ChangeLog (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/c-family/ChangeLog (.../branches/gcc-8-branch) +@@ -1,3 +1,34 @@ ++2019-02-07 Jakub Jelinek ++ ++ Backported from mainline ++ 2019-01-22 Jakub Jelinek ++ ++ PR middle-end/88968 ++ * c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type ++ variable after using BIT_FIELD_REF. ++ ++ 2019-01-14 Jakub Jelinek ++ ++ * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision ++ and __cpp_nontype_template_parameter_auto. Add a comment that ++ __cpp_template_auto is deprecated. ++ ++2019-01-08 Jakub Jelinek ++ ++ Backported from mainline ++ 2018-11-28 Jakub Jelinek ++ ++ PR c++/88215 ++ * c-ubsan.c: Include langhooks.h. ++ (ubsan_instrument_division): Change gcc_assert that main variants ++ of op0 and op1 types are equal to gcc_checking_assert that the ++ main variants are compatible types. ++ ++2018-08-17 Martin Liska ++ ++ PR other/86992 ++ * c.opt: Fix declaration of cilkplus. ++ + 2018-07-26 Release Manager + + * GCC 8.2.0 released. +Index: gcc/c-family/c-omp.c +=================================================================== +--- a/src/gcc/c-family/c-omp.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/c-family/c-omp.c (.../branches/gcc-8-branch) +@@ -373,8 +373,11 @@ + } + } + if (blhs) +- x = build3_loc (loc, BIT_FIELD_REF, TREE_TYPE (blhs), x, +- bitsize_int (bitsize), bitsize_int (bitpos)); ++ { ++ x = build3_loc (loc, BIT_FIELD_REF, TREE_TYPE (blhs), x, ++ bitsize_int (bitsize), bitsize_int (bitpos)); ++ type = TREE_TYPE (blhs); ++ } + x = build_modify_expr (loc, v, NULL_TREE, NOP_EXPR, + loc, x, NULL_TREE); + if (rhs1 && rhs1 != orig_lhs) +Index: gcc/c-family/c-ubsan.c +=================================================================== +--- a/src/gcc/c-family/c-ubsan.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/c-family/c-ubsan.c (.../branches/gcc-8-branch) +@@ -31,6 +31,7 @@ + #include "stringpool.h" + #include "attribs.h" + #include "asan.h" ++#include "langhooks.h" + + /* Instrument division by zero and INT_MIN / -1. If not instrumenting, + return NULL_TREE. */ +@@ -44,8 +45,9 @@ + /* At this point both operands should have the same type, + because they are already converted to RESULT_TYPE. + Use TYPE_MAIN_VARIANT since typedefs can confuse us. */ +- gcc_assert (TYPE_MAIN_VARIANT (TREE_TYPE (op0)) +- == TYPE_MAIN_VARIANT (TREE_TYPE (op1))); ++ tree top0 = TYPE_MAIN_VARIANT (type); ++ tree top1 = TYPE_MAIN_VARIANT (TREE_TYPE (op1)); ++ gcc_checking_assert (lang_hooks.types_compatible_p (top0, top1)); + + op0 = unshare_expr (op0); + op1 = unshare_expr (op1); +Index: gcc/tree-loop-distribution.c +=================================================================== +--- a/src/gcc/tree-loop-distribution.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/tree-loop-distribution.c (.../branches/gcc-8-branch) +@@ -1922,7 +1922,8 @@ + if (DDR_NUM_DIST_VECTS (ddr) != 1) + this_dir = 2; + /* If the overlap is exact preserve stmt order. */ +- else if (lambda_vector_zerop (DDR_DIST_VECT (ddr, 0), 1)) ++ else if (lambda_vector_zerop (DDR_DIST_VECT (ddr, 0), ++ DDR_NB_LOOPS (ddr))) + ; + /* Else as the distance vector is lexicographic positive swap + the dependence direction. */ +Index: gcc/ipa-polymorphic-call.c +=================================================================== +--- a/src/gcc/ipa-polymorphic-call.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/ipa-polymorphic-call.c (.../branches/gcc-8-branch) +@@ -995,9 +995,22 @@ + { + outer_type + = TYPE_MAIN_VARIANT (TREE_TYPE (TREE_TYPE (base_pointer))); ++ cgraph_node *node = cgraph_node::get (current_function_decl); + gcc_assert (TREE_CODE (outer_type) == RECORD_TYPE + || TREE_CODE (outer_type) == UNION_TYPE); + ++ /* Handle the case we inlined into a thunk. In this case ++ thunk has THIS pointer of type bar, but it really receives ++ address to its base type foo which sits in bar at ++ 0-thunk.fixed_offset. It starts with code that adds ++ think.fixed_offset to the pointer to compensate for this. ++ ++ Because we walked all the way to the begining of thunk, we now ++ see pointer &bar-thunk.fixed_offset and need to compensate ++ for it. */ ++ if (node->thunk.fixed_offset) ++ offset -= node->thunk.fixed_offset * BITS_PER_UNIT; ++ + /* Dynamic casting has possibly upcasted the type + in the hiearchy. In this case outer type is less + informative than inner type and we should forget +@@ -1005,7 +1018,11 @@ + if ((otr_type + && !contains_type_p (outer_type, offset, + otr_type)) +- || !contains_polymorphic_type_p (outer_type)) ++ || !contains_polymorphic_type_p (outer_type) ++ /* If we compile thunk with virtual offset, the THIS pointer ++ is adjusted by unknown value. We can't thus use outer info ++ at all. */ ++ || node->thunk.virtual_offset_p) + { + outer_type = NULL; + if (instance) +@@ -1030,7 +1047,15 @@ + maybe_in_construction = false; + } + if (instance) +- *instance = base_pointer; ++ { ++ /* If method is expanded thunk, we need to apply thunk offset ++ to instance pointer. */ ++ if (node->thunk.virtual_offset_p ++ || node->thunk.fixed_offset) ++ *instance = NULL; ++ else ++ *instance = base_pointer; ++ } + return; + } + /* Non-PODs passed by value are really passed by invisible +@@ -1547,6 +1572,9 @@ + HOST_WIDE_INT instance_offset = offset; + tree instance_outer_type = outer_type; + ++ if (!instance) ++ return false; ++ + if (otr_type) + otr_type = TYPE_MAIN_VARIANT (otr_type); + +Index: gcc/c/c-convert.c +=================================================================== +--- a/src/gcc/c/c-convert.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/c/c-convert.c (.../branches/gcc-8-branch) +@@ -115,6 +115,7 @@ + && COMPLETE_TYPE_P (type)) + { + expr = save_expr (expr); ++ expr = c_fully_fold (expr, false, NULL); + tree check = ubsan_instrument_float_cast (loc, type, expr); + expr = fold_build1 (FIX_TRUNC_EXPR, type, expr); + if (check == NULL_TREE) +Index: gcc/c/ChangeLog +=================================================================== +--- a/src/gcc/c/ChangeLog (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/c/ChangeLog (.../branches/gcc-8-branch) +@@ -1,3 +1,93 @@ ++2019-02-07 Jakub Jelinek ++ ++ Backported from mainline ++ 2019-02-06 Jakub Jelinek ++ ++ PR c/89211 ++ * c-parser.c (c_parser_declaration_or_fndef): Don't update ++ DECL_ARGUMENTS of d if it has been defined already. Use a single if ++ instead of 3 nested ifs. ++ ++2019-01-15 Joseph Myers ++ ++ Backport from mainline ++ 2019-01-07 Joseph Myers ++ ++ PR c/88720 ++ PR c/88726 ++ * c-decl.c (pop_scope): Use TREE_PUBLIC and b->nested to determine ++ whether a function is nested, not DECL_EXTERNAL. Diagnose inline ++ functions declared but never defined only for external scope, not ++ for other scopes. ++ ++2019-01-08 Jakub Jelinek ++ ++ Backported from mainline ++ 2018-12-11 Jakub Jelinek ++ ++ PR sanitizer/88426 ++ * c-convert.c (convert): Call c_fully_fold before calling ++ ubsan_instrument_float_cast. ++ ++2018-01-02 Segher Boessenkool ++ ++ Backport from trunk ++ 2018-12-06 Segher Boessenkool ++ ++ PR inline-asm/55681 ++ * c-parser.c (c_parser_asm_statement): Update grammar. Allow any ++ combination of volatile and goto, in any order, without repetitions. ++ ++ Backport from trunk ++ 2018-12-06 Segher Boessenkool ++ ++ * c-parser.c (c_parser_asm_statement): Detect the inline keyword ++ after asm. Pass a flag for it to build_asm_expr. ++ * c-tree.h (build_asm_expr): Update declaration. ++ * c-typeck.c (build_asm_stmt): Add is_inline parameter. Use it to ++ set ASM_INLINE_P. ++ ++ Backport from trunk ++ 2018-12-08 Segher Boessenkool ++ ++ * c-parser (c_parser_asm_statement) [RID_INLINE]: Delete stray line ++ setting "quals". ++ ++ Backport from trunk ++ 2018-12-19 Segher Boessenkool ++ ++ * c-parser.c (c_parser_asm_statement): Rewrite the loop to work without ++ "done" boolean variable. ++ ++ Backport from trunk ++ 2018-12-19 Segher Boessenkool ++ ++ * c-parser.c (c_parser_asm_statement): Keep track of the location each ++ asm qualifier is first seen; use that to give nicer "duplicate asm ++ qualifier" messages. Delete 'quals" variable, instead pass the ++ "is_volatile_ flag to build_asm_stmt directly. ++ * c-tree.h (build_asm_stmt): Make the first arg bool instead of tree. ++ * c-typeck.c (build_asm_stmt): Ditto; adjust. ++ ++ Backport from trunk ++ 2018-12-19 Segher Boessenkool ++ ++ * c-parser.c (c_parser_asm_statement) : Give ++ a more specific error message (instead of just falling through). ++ ++ And extra for the backport ++ 2019-01-02 Segher Boessenkool ++ ++ * c-parser.c (c_parser_asm_statement): Output a warning instead of an ++ error for const and restrict. ++ ++2018-08-01 Jakub Jelinek ++ ++ PR c/85704 ++ * c-typeck.c (init_field_decl_cmp): New function. ++ (output_pending_init_elements): Use it for field comparisons ++ instead of pure bit_position comparisons. ++ + 2018-07-26 Release Manager + + * GCC 8.2.0 released. +Index: gcc/c/c-parser.c +=================================================================== +--- a/src/gcc/c/c-parser.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/c/c-parser.c (.../branches/gcc-8-branch) +@@ -2143,10 +2143,12 @@ + tree d = start_decl (declarator, specs, false, + chainon (postfix_attrs, + all_prefix_attrs)); +- if (d && TREE_CODE (d) == FUNCTION_DECL) +- if (declarator->kind == cdk_function) +- if (DECL_ARGUMENTS (d) == NULL_TREE) +- DECL_ARGUMENTS (d) = declarator->u.arg_info->parms; ++ if (d ++ && TREE_CODE (d) == FUNCTION_DECL ++ && declarator->kind == cdk_function ++ && DECL_ARGUMENTS (d) == NULL_TREE ++ && DECL_INITIAL (d) == NULL_TREE) ++ DECL_ARGUMENTS (d) = declarator->u.arg_info->parms; + if (omp_declare_simd_clauses.exists ()) + { + tree parms = NULL_TREE; +@@ -6261,61 +6263,104 @@ + } + + /* Parse an asm statement, a GNU extension. This is a full-blown asm +- statement with inputs, outputs, clobbers, and volatile tag +- allowed. ++ statement with inputs, outputs, clobbers, and volatile, inline, and goto ++ tags allowed. + ++ asm-qualifier: ++ volatile ++ inline ++ goto ++ ++ asm-qualifier-list: ++ asm-qualifier-list asm-qualifier ++ asm-qualifier ++ + asm-statement: +- asm type-qualifier[opt] ( asm-argument ) ; +- asm type-qualifier[opt] goto ( asm-goto-argument ) ; ++ asm asm-qualifier-list[opt] ( asm-argument ) ; + + asm-argument: + asm-string-literal + asm-string-literal : asm-operands[opt] + asm-string-literal : asm-operands[opt] : asm-operands[opt] +- asm-string-literal : asm-operands[opt] : asm-operands[opt] : asm-clobbers[opt] +- +- asm-goto-argument: ++ asm-string-literal : asm-operands[opt] : asm-operands[opt] \ ++ : asm-clobbers[opt] + asm-string-literal : : asm-operands[opt] : asm-clobbers[opt] \ + : asm-goto-operands + +- Qualifiers other than volatile are accepted in the syntax but +- warned for. */ ++ The form with asm-goto-operands is valid if and only if the ++ asm-qualifier-list contains goto, and is the only allowed form in that case. ++ Duplicate asm-qualifiers are not allowed. */ + + static tree + c_parser_asm_statement (c_parser *parser) + { +- tree quals, str, outputs, inputs, clobbers, labels, ret; +- bool simple, is_goto; ++ tree str, outputs, inputs, clobbers, labels, ret; ++ bool simple; + location_t asm_loc = c_parser_peek_token (parser)->location; + int section, nsections; + + gcc_assert (c_parser_next_token_is_keyword (parser, RID_ASM)); + c_parser_consume_token (parser); +- if (c_parser_next_token_is_keyword (parser, RID_VOLATILE)) ++ ++ /* Handle the asm-qualifier-list. */ ++ location_t volatile_loc = UNKNOWN_LOCATION; ++ location_t inline_loc = UNKNOWN_LOCATION; ++ location_t goto_loc = UNKNOWN_LOCATION; ++ for (;;) + { +- quals = c_parser_peek_token (parser)->value; +- c_parser_consume_token (parser); +- } +- else if (c_parser_next_token_is_keyword (parser, RID_CONST) +- || c_parser_next_token_is_keyword (parser, RID_RESTRICT)) +- { +- warning_at (c_parser_peek_token (parser)->location, +- 0, +- "%E qualifier ignored on asm", +- c_parser_peek_token (parser)->value); +- quals = NULL_TREE; +- c_parser_consume_token (parser); +- } +- else +- quals = NULL_TREE; ++ c_token *token = c_parser_peek_token (parser); ++ location_t loc = token->location; ++ switch (token->keyword) ++ { ++ case RID_VOLATILE: ++ if (volatile_loc) ++ { ++ error_at (loc, "duplicate asm qualifier %qE", token->value); ++ inform (volatile_loc, "first seen here"); ++ } ++ else ++ volatile_loc = loc; ++ c_parser_consume_token (parser); ++ continue; + +- is_goto = false; +- if (c_parser_next_token_is_keyword (parser, RID_GOTO)) +- { +- c_parser_consume_token (parser); +- is_goto = true; ++ case RID_INLINE: ++ if (inline_loc) ++ { ++ error_at (loc, "duplicate asm qualifier %qE", token->value); ++ inform (inline_loc, "first seen here"); ++ } ++ else ++ inline_loc = loc; ++ c_parser_consume_token (parser); ++ continue; ++ ++ case RID_GOTO: ++ if (goto_loc) ++ { ++ error_at (loc, "duplicate asm qualifier %qE", token->value); ++ inform (goto_loc, "first seen here"); ++ } ++ else ++ goto_loc = loc; ++ c_parser_consume_token (parser); ++ continue; ++ ++ case RID_CONST: ++ case RID_RESTRICT: ++ warning_at (loc, 0, "%qE is not an asm qualifier", token->value); ++ c_parser_consume_token (parser); ++ continue; ++ ++ default: ++ break; ++ } ++ break; + } + ++ bool is_volatile = (volatile_loc != UNKNOWN_LOCATION); ++ bool is_inline = (inline_loc != UNKNOWN_LOCATION); ++ bool is_goto = (goto_loc != UNKNOWN_LOCATION); ++ + /* ??? Follow the C++ parser rather than using the + lex_untranslated_string kludge. */ + parser->lex_untranslated_string = true; +@@ -6390,8 +6435,9 @@ + if (!c_parser_require (parser, CPP_SEMICOLON, "expected %<;%>")) + c_parser_skip_to_end_of_block_or_statement (parser); + +- ret = build_asm_stmt (quals, build_asm_expr (asm_loc, str, outputs, inputs, +- clobbers, labels, simple)); ++ ret = build_asm_stmt (is_volatile, ++ build_asm_expr (asm_loc, str, outputs, inputs, ++ clobbers, labels, simple, is_inline)); + + error: + parser->lex_untranslated_string = false; +Index: gcc/c/c-typeck.c +=================================================================== +--- a/src/gcc/c/c-typeck.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/c/c-typeck.c (.../branches/gcc-8-branch) +@@ -9316,6 +9316,65 @@ + output_pending_init_elements (0, braced_init_obstack); + } + ++/* For two FIELD_DECLs in the same chain, return -1 if field1 ++ comes before field2, 1 if field1 comes after field2 and ++ 0 if field1 == field2. */ ++ ++static int ++init_field_decl_cmp (tree field1, tree field2) ++{ ++ if (field1 == field2) ++ return 0; ++ ++ tree bitpos1 = bit_position (field1); ++ tree bitpos2 = bit_position (field2); ++ if (tree_int_cst_equal (bitpos1, bitpos2)) ++ { ++ /* If one of the fields has non-zero bitsize, then that ++ field must be the last one in a sequence of zero ++ sized fields, fields after it will have bigger ++ bit_position. */ ++ if (TREE_TYPE (field1) != error_mark_node ++ && COMPLETE_TYPE_P (TREE_TYPE (field1)) ++ && integer_nonzerop (TREE_TYPE (field1))) ++ return 1; ++ if (TREE_TYPE (field2) != error_mark_node ++ && COMPLETE_TYPE_P (TREE_TYPE (field2)) ++ && integer_nonzerop (TREE_TYPE (field2))) ++ return -1; ++ /* Otherwise, fallback to DECL_CHAIN walk to find out ++ which field comes earlier. Walk chains of both ++ fields, so that if field1 and field2 are close to each ++ other in either order, it is found soon even for large ++ sequences of zero sized fields. */ ++ tree f1 = field1, f2 = field2; ++ while (1) ++ { ++ f1 = DECL_CHAIN (f1); ++ f2 = DECL_CHAIN (f2); ++ if (f1 == NULL_TREE) ++ { ++ gcc_assert (f2); ++ return 1; ++ } ++ if (f2 == NULL_TREE) ++ return -1; ++ if (f1 == field2) ++ return -1; ++ if (f2 == field1) ++ return 1; ++ if (!tree_int_cst_equal (bit_position (f1), bitpos1)) ++ return 1; ++ if (!tree_int_cst_equal (bit_position (f2), bitpos1)) ++ return -1; ++ } ++ } ++ else if (tree_int_cst_lt (bitpos1, bitpos2)) ++ return -1; ++ else ++ return 1; ++} ++ + /* Output any pending elements which have become next. + As we output elements, constructor_unfilled_{fields,index} + advances, which may cause other elements to become next; +@@ -9387,26 +9446,19 @@ + } + else if (RECORD_OR_UNION_TYPE_P (constructor_type)) + { +- tree ctor_unfilled_bitpos, elt_bitpos; +- + /* If the current record is complete we are done. */ + if (constructor_unfilled_fields == NULL_TREE) + break; + +- ctor_unfilled_bitpos = bit_position (constructor_unfilled_fields); +- elt_bitpos = bit_position (elt->purpose); +- /* We can't compare fields here because there might be empty +- fields in between. */ +- if (tree_int_cst_equal (elt_bitpos, ctor_unfilled_bitpos)) ++ int cmp = init_field_decl_cmp (constructor_unfilled_fields, ++ elt->purpose); ++ if (cmp == 0) ++ output_init_element (input_location, elt->value, elt->origtype, ++ true, TREE_TYPE (elt->purpose), ++ elt->purpose, false, false, ++ braced_init_obstack); ++ else if (cmp < 0) + { +- constructor_unfilled_fields = elt->purpose; +- output_init_element (input_location, elt->value, elt->origtype, +- true, TREE_TYPE (elt->purpose), +- elt->purpose, false, false, +- braced_init_obstack); +- } +- else if (tree_int_cst_lt (ctor_unfilled_bitpos, elt_bitpos)) +- { + /* Advance to the next smaller node. */ + if (elt->left) + elt = elt->left; +@@ -9431,8 +9483,8 @@ + elt = elt->parent; + elt = elt->parent; + if (elt +- && (tree_int_cst_lt (ctor_unfilled_bitpos, +- bit_position (elt->purpose)))) ++ && init_field_decl_cmp (constructor_unfilled_fields, ++ elt->purpose) < 0) + { + next = elt->purpose; + break; +@@ -9927,9 +9979,9 @@ + (guaranteed to be 'volatile' or null) and ARGS (represented using + an ASM_EXPR node). */ + tree +-build_asm_stmt (tree cv_qualifier, tree args) ++build_asm_stmt (bool is_volatile, tree args) + { +- if (!ASM_VOLATILE_P (args) && cv_qualifier) ++ if (is_volatile) + ASM_VOLATILE_P (args) = 1; + return add_stmt (args); + } +@@ -9938,10 +9990,12 @@ + some INPUTS, and some CLOBBERS. The latter three may be NULL. + SIMPLE indicates whether there was anything at all after the + string in the asm expression -- asm("blah") and asm("blah" : ) +- are subtly different. We use a ASM_EXPR node to represent this. */ ++ are subtly different. We use a ASM_EXPR node to represent this. ++ LOC is the location of the asm, and IS_INLINE says whether this ++ is asm inline. */ + tree + build_asm_expr (location_t loc, tree string, tree outputs, tree inputs, +- tree clobbers, tree labels, bool simple) ++ tree clobbers, tree labels, bool simple, bool is_inline) + { + tree tail; + tree args; +@@ -10059,6 +10113,7 @@ + as volatile. */ + ASM_INPUT_P (args) = simple; + ASM_VOLATILE_P (args) = (noutputs == 0); ++ ASM_INLINE_P (args) = is_inline; + + return args; + } +Index: gcc/c/c-tree.h +=================================================================== +--- a/src/gcc/c/c-tree.h (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/c/c-tree.h (.../branches/gcc-8-branch) +@@ -677,8 +677,9 @@ + extern void check_compound_literal_type (location_t, struct c_type_name *); + extern tree c_start_case (location_t, location_t, tree, bool); + extern void c_finish_case (tree, tree); +-extern tree build_asm_expr (location_t, tree, tree, tree, tree, tree, bool); +-extern tree build_asm_stmt (tree, tree); ++extern tree build_asm_expr (location_t, tree, tree, tree, tree, tree, bool, ++ bool); ++extern tree build_asm_stmt (bool, tree); + extern int c_types_compatible_p (tree, tree); + extern tree c_begin_compound_stmt (bool); + extern tree c_end_compound_stmt (location_t, tree, bool); +Index: gcc/c/c-decl.c +=================================================================== +--- a/src/gcc/c/c-decl.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/c/c-decl.c (.../branches/gcc-8-branch) +@@ -1239,8 +1239,9 @@ + && DECL_ABSTRACT_ORIGIN (p) != NULL_TREE + && DECL_ABSTRACT_ORIGIN (p) != p) + TREE_ADDRESSABLE (DECL_ABSTRACT_ORIGIN (p)) = 1; +- if (!DECL_EXTERNAL (p) ++ if (!TREE_PUBLIC (p) + && !DECL_INITIAL (p) ++ && !b->nested + && scope != file_scope + && scope != external_scope) + { +@@ -1256,7 +1257,7 @@ + in the same translation unit." */ + if (!flag_gnu89_inline + && !lookup_attribute ("gnu_inline", DECL_ATTRIBUTES (p)) +- && scope != external_scope) ++ && scope == external_scope) + pedwarn (input_location, 0, + "inline function %q+D declared but never defined", p); + DECL_EXTERNAL (p) = 1; +Index: gcc/optabs.c +=================================================================== +--- a/src/gcc/optabs.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/optabs.c (.../branches/gcc-8-branch) +@@ -55,7 +55,7 @@ + + /* Add a REG_EQUAL note to the last insn in INSNS. TARGET is being set to + the result of operation CODE applied to OP0 (and OP1 if it is a binary +- operation). ++ operation). OP0_MODE is OP0's mode. + + If the last insn does not set TARGET, don't do anything, but return 1. + +@@ -64,7 +64,8 @@ + try again, ensuring that TARGET is not one of the operands. */ + + static int +-add_equal_note (rtx_insn *insns, rtx target, enum rtx_code code, rtx op0, rtx op1) ++add_equal_note (rtx_insn *insns, rtx target, enum rtx_code code, rtx op0, ++ rtx op1, machine_mode op0_mode) + { + rtx_insn *last_insn; + rtx set; +@@ -136,16 +137,16 @@ + case POPCOUNT: + case PARITY: + case BSWAP: +- if (GET_MODE (op0) != VOIDmode && GET_MODE (target) != GET_MODE (op0)) ++ if (op0_mode != VOIDmode && GET_MODE (target) != op0_mode) + { +- note = gen_rtx_fmt_e (code, GET_MODE (op0), copy_rtx (op0)); +- if (GET_MODE_UNIT_SIZE (GET_MODE (op0)) ++ note = gen_rtx_fmt_e (code, op0_mode, copy_rtx (op0)); ++ if (GET_MODE_UNIT_SIZE (op0_mode) + > GET_MODE_UNIT_SIZE (GET_MODE (target))) + note = simplify_gen_unary (TRUNCATE, GET_MODE (target), +- note, GET_MODE (op0)); ++ note, op0_mode); + else + note = simplify_gen_unary (ZERO_EXTEND, GET_MODE (target), +- note, GET_MODE (op0)); ++ note, op0_mode); + break; + } + /* FALLTHRU */ +@@ -1095,7 +1096,7 @@ + if (INSN_P (pat) && NEXT_INSN (pat) != NULL_RTX + && ! add_equal_note (pat, ops[0].value, + optab_to_code (binoptab), +- ops[1].value, ops[2].value)) ++ ops[1].value, ops[2].value, mode0)) + { + delete_insns_since (last); + return expand_binop (mode, binoptab, op0, op1, NULL_RTX, +@@ -2260,7 +2261,7 @@ + seq = get_insns (); + end_sequence (); + +- add_equal_note (seq, target, CLZ, xop0, 0); ++ add_equal_note (seq, target, CLZ, xop0, NULL_RTX, mode); + emit_insn (seq); + return target; + +@@ -2302,7 +2303,7 @@ + seq = get_insns (); + end_sequence (); + +- add_equal_note (seq, t, POPCOUNT, op0, 0); ++ add_equal_note (seq, t, POPCOUNT, op0, NULL_RTX, mode); + emit_insn (seq); + return t; + } +@@ -2473,7 +2474,7 @@ + seq = get_insns (); + end_sequence (); + +- add_equal_note (seq, temp, CTZ, op0, 0); ++ add_equal_note (seq, temp, CTZ, op0, NULL_RTX, mode); + emit_insn (seq); + return temp; + } +@@ -2551,7 +2552,7 @@ + seq = get_insns (); + end_sequence (); + +- add_equal_note (seq, temp, FFS, op0, 0); ++ add_equal_note (seq, temp, FFS, op0, NULL_RTX, mode); + emit_insn (seq); + return temp; + +@@ -2698,7 +2699,7 @@ + if (INSN_P (pat) && NEXT_INSN (pat) != NULL_RTX + && ! add_equal_note (pat, ops[0].value, + optab_to_code (unoptab), +- ops[1].value, NULL_RTX)) ++ ops[1].value, NULL_RTX, mode)) + { + delete_insns_since (last); + return expand_unop (mode, unoptab, op0, NULL_RTX, unsignedp); +@@ -3550,7 +3551,8 @@ + + if (INSN_P (pat) && NEXT_INSN (pat) != NULL_RTX + && code != UNKNOWN) +- add_equal_note (pat, ops[0].value, code, ops[1].value, NULL_RTX); ++ add_equal_note (pat, ops[0].value, code, ops[1].value, NULL_RTX, ++ GET_MODE (op0)); + + emit_insn (pat); + +@@ -3874,7 +3876,7 @@ + goto fail; + + /* Otherwise call a library function. */ +- result = emit_block_comp_via_libcall (XEXP (x, 0), XEXP (y, 0), size); ++ result = emit_block_comp_via_libcall (x, y, size); + + x = result; + y = const0_rtx; +Index: gcc/DATESTAMP +=================================================================== +--- a/src/gcc/DATESTAMP (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/DATESTAMP (.../branches/gcc-8-branch) +@@ -1 +1 @@ +-20180726 ++20190209 +Index: gcc/valtrack.c +=================================================================== +--- a/src/gcc/valtrack.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/valtrack.c (.../branches/gcc-8-branch) +@@ -56,8 +56,6 @@ + cleanup_auto_inc_dec (rtx src, machine_mode mem_mode ATTRIBUTE_UNUSED) + { + rtx x = src; +- if (!AUTO_INC_DEC) +- return copy_rtx (x); + + const RTX_CODE code = GET_CODE (x); + int i; +Index: gcc/defaults.h +=================================================================== +--- a/src/gcc/defaults.h (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/defaults.h (.../branches/gcc-8-branch) +@@ -1282,6 +1282,10 @@ + #define TARGET_PECOFF 0 + #endif + ++#ifndef TARGET_COFF ++#define TARGET_COFF 0 ++#endif ++ + #ifndef EH_RETURN_HANDLER_RTX + #define EH_RETURN_HANDLER_RTX NULL + #endif +Index: gcc/lra.c +=================================================================== +--- a/src/gcc/lra.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/lra.c (.../branches/gcc-8-branch) +@@ -1692,10 +1692,12 @@ + + case SCRATCH: + case CONST_DOUBLE: +- case CONST_INT: + case CONST_VECTOR: + return val; + ++ case CONST_INT: ++ return val + UINTVAL (x); ++ + default: + break; + } +Index: gcc/value-prof.c +=================================================================== +--- a/src/gcc/value-prof.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/value-prof.c (.../branches/gcc-8-branch) +@@ -1202,7 +1202,7 @@ + cgraph_node_map = new hash_map; + + FOR_EACH_DEFINED_FUNCTION (n) +- if (n->has_gimple_body_p ()) ++ if (n->has_gimple_body_p () || n->thunk.thunk_p) + { + cgraph_node **val; + if (local) +Index: gcc/value-prof.h +=================================================================== +--- a/src/gcc/value-prof.h (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/value-prof.h (.../branches/gcc-8-branch) +@@ -112,7 +112,8 @@ + + /* In profile.c. */ + extern void init_branch_prob (void); +-extern void branch_prob (void); ++extern void branch_prob (bool); ++extern void read_thunk_profile (struct cgraph_node *); + extern void end_branch_prob (void); + + #endif /* GCC_VALUE_PROF_H */ +Index: gcc/tree-ssa-strlen.c +=================================================================== +--- a/src/gcc/tree-ssa-strlen.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/tree-ssa-strlen.c (.../branches/gcc-8-branch) +@@ -1182,6 +1182,7 @@ + suggests if it's treated as a poor-man's flexible array member. */ + src = TREE_OPERAND (src, 0); + if (TREE_CODE (TREE_TYPE (src)) != ARRAY_TYPE ++ || TREE_CODE (src) == MEM_REF + || array_at_struct_end_p (src)) + return; + +Index: gcc/tree.c +=================================================================== +--- a/src/gcc/tree.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/tree.c (.../branches/gcc-8-branch) +@@ -5824,7 +5824,12 @@ + /* If we are the LTO frontend we have freed lang-specific data already. */ + if (in_lto_p + || (!flag_generate_lto && !flag_generate_offload)) +- return 0; ++ { ++ /* Rebuild type inheritance graph even when not doing LTO to get ++ consistent profile data. */ ++ rebuild_type_inheritance_graph (); ++ return 0; ++ } + + /* Provide a dummy TRANSLATION_UNIT_DECL if the FE failed to provide one. */ + if (vec_safe_is_empty (all_translation_units)) +@@ -9784,8 +9789,7 @@ + TYPE_SIZE (int_n_trees[i].signed_type) = bitsize_int (int_n_data[i].bitsize); + TYPE_SIZE (int_n_trees[i].unsigned_type) = bitsize_int (int_n_data[i].bitsize); + +- if (int_n_data[i].bitsize > LONG_LONG_TYPE_SIZE +- && int_n_enabled_p[i]) ++ if (int_n_enabled_p[i]) + { + integer_types[itk_intN_0 + i * 2] = int_n_trees[i].signed_type; + integer_types[itk_unsigned_intN_0 + i * 2] = int_n_trees[i].unsigned_type; +Index: gcc/tree.h +=================================================================== +--- a/src/gcc/tree.h (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/tree.h (.../branches/gcc-8-branch) +@@ -1263,6 +1263,9 @@ + ASM_OPERAND with no operands. */ + #define ASM_INPUT_P(NODE) (ASM_EXPR_CHECK (NODE)->base.static_flag) + #define ASM_VOLATILE_P(NODE) (ASM_EXPR_CHECK (NODE)->base.public_flag) ++/* Nonzero if we want to consider this asm as minimum length and cost ++ for inlining decisions. */ ++#define ASM_INLINE_P(NODE) (ASM_EXPR_CHECK (NODE)->base.protected_flag) + + /* COND_EXPR accessors. */ + #define COND_EXPR_COND(NODE) (TREE_OPERAND (COND_EXPR_CHECK (NODE), 0)) +@@ -3061,6 +3064,10 @@ + #define DECL_CXX_DESTRUCTOR_P(NODE)\ + (FUNCTION_DECL_CHECK (NODE)->decl_with_vis.cxx_destructor) + ++/* In FUNCTION_DECL, this is set if this function is a lambda function. */ ++#define DECL_LAMBDA_FUNCTION(NODE) \ ++ (FUNCTION_DECL_CHECK (NODE)->function_decl.lambda_function) ++ + /* In FUNCTION_DECL that represent an virtual method this is set when + the method is final. */ + #define DECL_FINAL_P(NODE)\ +Index: gcc/rtlanal.c +=================================================================== +--- a/src/gcc/rtlanal.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/rtlanal.c (.../branches/gcc-8-branch) +@@ -1802,6 +1802,7 @@ + recurse: + switch (GET_CODE (x)) + { ++ case CLOBBER: + case STRICT_LOW_PART: + case ZERO_EXTRACT: + case SIGN_EXTRACT: +@@ -4469,12 +4470,12 @@ + might be nonzero in its own mode, taking into account the fact that, on + CISC machines, accessing an object in a wider mode generally causes the + high-order bits to become undefined, so they are not known to be zero. +- We extend this reasoning to RISC machines for rotate operations since the +- semantics of the operations in the larger mode is not well defined. */ ++ We extend this reasoning to RISC machines for operations that might not ++ operate on the full registers. */ + if (mode_width > xmode_width + && xmode_width <= BITS_PER_WORD + && xmode_width <= HOST_BITS_PER_WIDE_INT +- && (!WORD_REGISTER_OPERATIONS || code == ROTATE || code == ROTATERT)) ++ && !(WORD_REGISTER_OPERATIONS && word_register_operation_p (x))) + { + nonzero &= cached_nonzero_bits (x, xmode, + known_x, known_mode, known_ret); +@@ -4742,13 +4743,16 @@ + nonzero &= cached_nonzero_bits (SUBREG_REG (x), mode, + known_x, known_mode, known_ret); + +- /* On many CISC machines, accessing an object in a wider mode ++ /* On a typical CISC machine, accessing an object in a wider mode + causes the high-order bits to become undefined. So they are +- not known to be zero. */ ++ not known to be zero. ++ ++ On a typical RISC machine, we only have to worry about the way ++ loads are extended. Otherwise, if we get a reload for the inner ++ part, it may be loaded from the stack, and then we may lose all ++ the zero bits that existed before the store to the stack. */ + rtx_code extend_op; + if ((!WORD_REGISTER_OPERATIONS +- /* If this is a typical RISC machine, we only have to worry +- about the way loads are extended. */ + || ((extend_op = load_extend_op (inner_mode)) == SIGN_EXTEND + ? val_signbit_known_set_p (inner_mode, nonzero) + : extend_op != ZERO_EXTEND) +@@ -5009,10 +5013,9 @@ + { + /* If this machine does not do all register operations on the entire + register and MODE is wider than the mode of X, we can say nothing +- at all about the high-order bits. We extend this reasoning to every +- machine for rotate operations since the semantics of the operations +- in the larger mode is not well defined. */ +- if (!WORD_REGISTER_OPERATIONS || code == ROTATE || code == ROTATERT) ++ at all about the high-order bits. We extend this reasoning to RISC ++ machines for operations that might not operate on full registers. */ ++ if (!(WORD_REGISTER_OPERATIONS && word_register_operation_p (x))) + return 1; + + /* Likewise on machines that do, if the mode of the object is smaller +@@ -5091,13 +5094,12 @@ + /* For paradoxical SUBREGs on machines where all register operations + affect the entire register, just look inside. Note that we are + passing MODE to the recursive call, so the number of sign bit +- copies will remain relative to that mode, not the inner mode. */ ++ copies will remain relative to that mode, not the inner mode. + +- /* This works only if loads sign extend. Otherwise, if we get a ++ This works only if loads sign extend. Otherwise, if we get a + reload for the inner part, it may be loaded from the stack, and + then we lose all sign bit copies that existed before the store + to the stack. */ +- + if (WORD_REGISTER_OPERATIONS + && load_extend_op (inner_mode) == SIGN_EXTEND + && paradoxical_subreg_p (x) +Index: gcc/final.c +=================================================================== +--- a/src/gcc/final.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/final.c (.../branches/gcc-8-branch) +@@ -2306,6 +2306,9 @@ + ASM_OUTPUT_LABEL (asm_out_file, + IDENTIFIER_POINTER (cold_function_name)); + #endif ++ if (dwarf2out_do_frame () ++ && cfun->fde->dw_fde_second_begin != NULL) ++ ASM_OUTPUT_LABEL (asm_out_file, cfun->fde->dw_fde_second_begin); + } + break; + +@@ -4673,7 +4676,11 @@ + final_start_function_1 (&first, asm_out_file, &seen, optimize); + final_1 (first, asm_out_file, seen, optimize); + if (flag_ipa_ra +- && !lookup_attribute ("noipa", DECL_ATTRIBUTES (current_function_decl))) ++ && !lookup_attribute ("noipa", DECL_ATTRIBUTES (current_function_decl)) ++ /* Functions with naked attributes are supported only with basic asm ++ statements in the body, thus for supported use cases the information ++ on clobbered registers is not available. */ ++ && !lookup_attribute ("naked", DECL_ATTRIBUTES (current_function_decl))) + collect_fn_hard_reg_usage (); + final_end_function (); + +Index: gcc/fold-const.c +=================================================================== +--- a/src/gcc/fold-const.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/fold-const.c (.../branches/gcc-8-branch) +@@ -4922,8 +4922,8 @@ + /* Disable this optimization for function pointer expressions + on targets that require function pointer canonicalization. */ + if (targetm.have_canonicalize_funcptr_for_compare () +- && TREE_CODE (etype) == POINTER_TYPE +- && TREE_CODE (TREE_TYPE (etype)) == FUNCTION_TYPE) ++ && POINTER_TYPE_P (etype) ++ && FUNC_OR_METHOD_TYPE_P (TREE_TYPE (etype))) + return NULL_TREE; + + if (! in_p) +@@ -5952,12 +5952,13 @@ + } + + /* If the right sides are not constant, do the same for it. Also, +- disallow this optimization if a size or signedness mismatch occurs +- between the left and right sides. */ ++ disallow this optimization if a size, signedness or storage order ++ mismatch occurs between the left and right sides. */ + if (l_const == 0) + { + if (ll_bitsize != lr_bitsize || rl_bitsize != rr_bitsize + || ll_unsignedp != lr_unsignedp || rl_unsignedp != rr_unsignedp ++ || ll_reversep != lr_reversep + /* Make sure the two fields on the right + correspond to the left without being swapped. */ + || ll_bitpos - rl_bitpos != lr_bitpos - rr_bitpos) +@@ -11565,10 +11566,16 @@ + && integer_pow2p (arg1) + && TREE_CODE (TREE_OPERAND (arg0, 0)) == BIT_AND_EXPR + && operand_equal_p (TREE_OPERAND (TREE_OPERAND (arg0, 0), 1), +- arg1, OEP_ONLY_CONST)) ++ arg1, OEP_ONLY_CONST) ++ /* operand_equal_p compares just value, not precision, so e.g. ++ arg1 could be 8-bit -128 and be power of two, but BIT_AND_EXPR ++ second operand 32-bit -128, which is not a power of two (or vice ++ versa. */ ++ && integer_pow2p (TREE_OPERAND (TREE_OPERAND (arg0, 0), 1))) + return pedantic_non_lvalue_loc (loc, +- fold_convert_loc (loc, type, +- TREE_OPERAND (arg0, 0))); ++ fold_convert_loc (loc, type, ++ TREE_OPERAND (arg0, ++ 0))); + + /* Disable the transformations below for vectors, since + fold_binary_op_with_conditional_arg may undo them immediately, +Index: gcc/omp-low.c +=================================================================== +--- a/src/gcc/omp-low.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/omp-low.c (.../branches/gcc-8-branch) +@@ -1190,7 +1190,7 @@ + /* Global variables with "omp declare target" attribute + don't need to be copied, the receiver side will use them + directly. However, global variables with "omp declare target link" +- attribute need to be copied. */ ++ attribute need to be copied. Or when ALWAYS modifier is used. */ + if (OMP_CLAUSE_CODE (c) == OMP_CLAUSE_MAP + && DECL_P (decl) + && ((OMP_CLAUSE_MAP_KIND (c) != GOMP_MAP_FIRSTPRIVATE_POINTER +@@ -1197,6 +1197,9 @@ + && (OMP_CLAUSE_MAP_KIND (c) + != GOMP_MAP_FIRSTPRIVATE_REFERENCE)) + || TREE_CODE (TREE_TYPE (decl)) == ARRAY_TYPE) ++ && OMP_CLAUSE_MAP_KIND (c) != GOMP_MAP_ALWAYS_TO ++ && OMP_CLAUSE_MAP_KIND (c) != GOMP_MAP_ALWAYS_FROM ++ && OMP_CLAUSE_MAP_KIND (c) != GOMP_MAP_ALWAYS_TOFROM + && is_global_var (maybe_lookup_decl_in_outer_ctx (decl, ctx)) + && varpool_node::get_create (decl)->offloadable + && !lookup_attribute ("omp declare target link", +@@ -2832,8 +2835,10 @@ + case GIMPLE_OMP_FOR: + if (gimple_omp_for_kind (ctx->stmt) == GF_OMP_FOR_KIND_TASKLOOP) + goto ordered_in_taskloop; +- if (omp_find_clause (gimple_omp_for_clauses (ctx->stmt), +- OMP_CLAUSE_ORDERED) == NULL) ++ tree o; ++ o = omp_find_clause (gimple_omp_for_clauses (ctx->stmt), ++ OMP_CLAUSE_ORDERED); ++ if (o == NULL) + { + error_at (gimple_location (stmt), + "% region must be closely nested inside " +@@ -2840,6 +2845,15 @@ + "a loop region with an % clause"); + return false; + } ++ if (OMP_CLAUSE_ORDERED_EXPR (o) != NULL_TREE ++ && omp_find_clause (c, OMP_CLAUSE_DEPEND) == NULL_TREE) ++ { ++ error_at (gimple_location (stmt), ++ "% region without % clause may " ++ "not be closely nested inside a loop region with " ++ "an % clause with a parameter"); ++ return false; ++ } + return true; + case GIMPLE_OMP_TARGET: + if (gimple_omp_target_kind (ctx->stmt) +@@ -7099,6 +7113,7 @@ + splay_tree_node n; + struct omp_taskcopy_context tcctx; + location_t loc = gimple_location (task_stmt); ++ size_t looptempno = 0; + + child_fn = gimple_omp_task_copy_fn (task_stmt); + child_cfun = DECL_STRUCT_FUNCTION (child_fn); +@@ -7212,6 +7227,15 @@ + t = build2 (MODIFY_EXPR, TREE_TYPE (dst), dst, src); + append_to_statement_list (t, &list); + break; ++ case OMP_CLAUSE__LOOPTEMP_: ++ /* Fields for first two _looptemp_ clauses are initialized by ++ GOMP_taskloop*, the rest are handled like firstprivate. */ ++ if (looptempno < 2) ++ { ++ looptempno++; ++ break; ++ } ++ /* FALLTHRU */ + case OMP_CLAUSE_FIRSTPRIVATE: + decl = OMP_CLAUSE_DECL (c); + if (is_variable_sized (decl)) +@@ -7237,7 +7261,10 @@ + src = decl; + dst = build_simple_mem_ref_loc (loc, arg); + dst = omp_build_component_ref (dst, f); +- t = lang_hooks.decls.omp_clause_copy_ctor (c, dst, src); ++ if (OMP_CLAUSE_CODE (c) == OMP_CLAUSE__LOOPTEMP_) ++ t = build2 (MODIFY_EXPR, TREE_TYPE (dst), dst, src); ++ else ++ t = lang_hooks.decls.omp_clause_copy_ctor (c, dst, src); + append_to_statement_list (t, &list); + break; + case OMP_CLAUSE_PRIVATE: +Index: gcc/gcov.c +=================================================================== +--- a/src/gcc/gcov.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/gcov.c (.../branches/gcc-8-branch) +@@ -536,6 +536,7 @@ + static void print_usage (int) ATTRIBUTE_NORETURN; + static void print_version (void) ATTRIBUTE_NORETURN; + static void process_file (const char *); ++static void process_all_functions (void); + static void generate_results (const char *); + static void create_file_names (const char *); + static char *canonicalize_name (const char *); +@@ -791,6 +792,7 @@ + + if (flag_intermediate_format || argno == argc - 1) + { ++ process_all_functions (); + generate_results (argv[argno]); + release_structures (); + } +@@ -1066,7 +1068,8 @@ + } + + /* Follow with lines associated with the source file. */ +- output_intermediate_line (gcov_file, &src->lines[line_num], line_num); ++ if (line_num < src->lines.size ()) ++ output_intermediate_line (gcov_file, &src->lines[line_num], line_num); + } + } + +@@ -1132,11 +1135,14 @@ + { + create_file_names (file_name); + read_graph_file (); +- if (functions.empty ()) +- return; +- + read_count_file (); ++} + ++/* Process all functions in all files. */ ++ ++static void ++process_all_functions (void) ++{ + hash_map fn_map; + + /* Identify group functions. */ +@@ -1213,7 +1219,6 @@ + if (fn->is_group) + fn->lines.resize (fn->end_line - fn->start_line + 1); + +- + solve_flow_graph (fn); + if (fn->has_catch) + find_exception_blocks (fn); +Index: gcc/tree-ssa-uncprop.c +=================================================================== +--- a/src/gcc/tree-ssa-uncprop.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/tree-ssa-uncprop.c (.../branches/gcc-8-branch) +@@ -268,21 +268,24 @@ + so with each value we have a list of SSA_NAMEs that have the + same value. */ + +- +-/* Main structure for recording equivalences into our hash table. */ +-struct equiv_hash_elt ++/* Traits for the hash_map to record the value to SSA name equivalences ++ mapping. */ ++struct ssa_equip_hash_traits : default_hash_traits + { +- /* The value/key of this entry. */ +- tree value; +- +- /* List of SSA_NAMEs which have the same value/key. */ +- vec equivalences; ++ static inline hashval_t hash (value_type value) ++ { return iterative_hash_expr (value, 0); } ++ static inline bool equal (value_type existing, value_type candidate) ++ { return operand_equal_p (existing, candidate, 0); } + }; + ++typedef hash_map, ++ simple_hashmap_traits > > val_ssa_equiv_t; ++ + /* Global hash table implementing a mapping from invariant values + to a list of SSA_NAMEs which have the same value. We might be + able to reuse tree-vn for this code. */ +-static hash_map > *val_ssa_equiv; ++val_ssa_equiv_t *val_ssa_equiv; + + static void uncprop_into_successor_phis (basic_block); + +@@ -476,7 +479,7 @@ + associate_equivalences_with_edges (); + + /* Create our global data structures. */ +- val_ssa_equiv = new hash_map > (1024); ++ val_ssa_equiv = new val_ssa_equiv_t (1024); + + /* We're going to do a dominator walk, so ensure that we have + dominance information. */ +Index: gcc/pretty-print.c +=================================================================== +--- a/src/gcc/pretty-print.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/pretty-print.c (.../branches/gcc-8-branch) +@@ -640,6 +640,16 @@ + { + attrib_add |= sb.wAttributes & ~attrib_rm; + } ++ if (attrib_add & COMMON_LVB_REVERSE_VIDEO) ++ { ++ /* COMMON_LVB_REVERSE_VIDEO is only effective for DBCS. ++ * Swap foreground and background colors by hand. ++ */ ++ attrib_add = (attrib_add & 0xFF00) ++ | ((attrib_add & 0x00F0) >> 4) ++ | ((attrib_add & 0x000F) << 4); ++ attrib_add &= ~COMMON_LVB_REVERSE_VIDEO; ++ } + SetConsoleTextAttribute (h, attrib_add); + break; + } +@@ -684,7 +694,6 @@ + /* If it is not a console, write everything as-is. */ + write_all (h, read, strlen (read)); + +- _close ((intptr_t) h); + return 1; + } + +Index: gcc/tree-chrec.c +=================================================================== +--- a/src/gcc/tree-chrec.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/tree-chrec.c (.../branches/gcc-8-branch) +@@ -375,10 +375,12 @@ + + default: + { +- if (tree_contains_chrecs (op0, NULL) +- || tree_contains_chrecs (op1, NULL)) ++ int size = 0; ++ if ((tree_contains_chrecs (op0, &size) ++ || tree_contains_chrecs (op1, &size)) ++ && size < PARAM_VALUE (PARAM_SCEV_MAX_EXPR_SIZE)) + return build2 (code, type, op0, op1); +- else ++ else if (size < PARAM_VALUE (PARAM_SCEV_MAX_EXPR_SIZE)) + { + if (code == POINTER_PLUS_EXPR) + return fold_build_pointer_plus (fold_convert (type, op0), +@@ -388,6 +390,8 @@ + fold_convert (type, op0), + fold_convert (type, op1)); + } ++ else ++ return chrec_dont_know; + } + } + } +Index: gcc/profile-count.h +=================================================================== +--- a/src/gcc/profile-count.h (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/profile-count.h (.../branches/gcc-8-branch) +@@ -643,7 +643,17 @@ + static const uint64_t max_count = ((uint64_t) 1 << n_bits) - 2; + static const uint64_t uninitialized_count = ((uint64_t) 1 << n_bits) - 1; + +- uint64_t m_val : n_bits; ++#if defined (__arm__) && (__GNUC__ >= 6 && __GNUC__ <= 8) ++ /* Work-around for PR88469. A bug in the gcc-6/7/8 PCS layout code ++ incorrectly detects the alignment of a structure where the only ++ 64-bit aligned object is a bit-field. We force the alignment of ++ the entire field to mitigate this. */ ++#define UINT64_BIT_FIELD_ALIGN __attribute__ ((aligned(8))) ++#else ++#define UINT64_BIT_FIELD_ALIGN ++#endif ++ uint64_t UINT64_BIT_FIELD_ALIGN m_val : n_bits; ++#undef UINT64_BIT_FIELD_ALIGN + enum profile_quality m_quality : 3; + + /* Return true if both values can meaningfully appear in single function +Index: gcc/tree-ssa-sccvn.c +=================================================================== +--- a/src/gcc/tree-ssa-sccvn.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/tree-ssa-sccvn.c (.../branches/gcc-8-branch) +@@ -1650,7 +1650,6 @@ + } + + static vn_nary_op_t vn_nary_op_insert_stmt (gimple *stmt, tree result); +-static unsigned mprts_hook_cnt; + + /* Hook for maybe_push_res_to_seq, lookup the expression in the VN tables. */ + +@@ -1672,22 +1671,8 @@ + ops[i] = CONSTRUCTOR_ELT (ops_[0], i)->value; + } + vn_nary_op_t vnresult = NULL; +- tree res = vn_nary_op_lookup_pieces (length, (tree_code) rcode, +- type, ops, &vnresult); +- /* We can end up endlessly recursing simplifications if the lookup above +- presents us with a def-use chain that mirrors the original simplification. +- See PR80887 for an example. Limit successful lookup artificially +- to 10 times if we are called as mprts_hook. */ +- if (res +- && mprts_hook +- && --mprts_hook_cnt == 0) +- { +- if (dump_file && (dump_flags & TDF_DETAILS)) +- fprintf (dump_file, "Resetting mprts_hook after too many " +- "invocations.\n"); +- mprts_hook = NULL; +- } +- return res; ++ return vn_nary_op_lookup_pieces (length, (tree_code) rcode, ++ type, ops, &vnresult); + } + + /* Return a value-number for RCODE OPS... either by looking up an existing +@@ -1704,7 +1689,6 @@ + So first simplify and lookup this expression to see if it + is already available. */ + mprts_hook = vn_lookup_simplify_result; +- mprts_hook_cnt = 9; + bool res = false; + switch (TREE_CODE_LENGTH ((tree_code) rcode)) + { +@@ -1880,7 +1864,16 @@ + VN_WALKREWRITE guard). */ + if (vn_walk_kind == VN_WALKREWRITE + && is_gimple_reg_type (TREE_TYPE (lhs)) +- && types_compatible_p (TREE_TYPE (lhs), vr->type)) ++ && types_compatible_p (TREE_TYPE (lhs), vr->type) ++ /* The overlap restriction breaks down when either access ++ alias-set is zero. Still for accesses of the size of ++ an addressable unit there can be no overlaps. Overlaps ++ between different union members are not an issue since ++ activation of a union member via a store makes the ++ values of untouched bytes unspecified. */ ++ && (known_eq (ref->size, BITS_PER_UNIT) ++ || (get_alias_set (lhs) != 0 ++ && ao_ref_alias_set (ref) != 0))) + { + tree *saved_last_vuse_ptr = last_vuse_ptr; + /* Do not update last_vuse_ptr in vn_reference_lookup_2. */ +@@ -1992,6 +1985,7 @@ + base2 = get_ref_base_and_extent (gimple_assign_lhs (def_stmt), + &offset2, &size2, &maxsize2, &reverse); + if (known_size_p (maxsize2) ++ && known_eq (maxsize2, size2) + && operand_equal_p (base, base2, 0) + && known_subrange_p (offset, maxsize, offset2, size2)) + { +@@ -3979,7 +3973,6 @@ + + /* First try constant folding based on our current lattice. */ + mprts_hook = vn_lookup_simplify_result; +- mprts_hook_cnt = 9; + tem = gimple_fold_stmt_to_constant_1 (stmt, vn_valueize, vn_valueize); + mprts_hook = NULL; + if (tem +Index: gcc/ChangeLog +=================================================================== +--- a/src/gcc/ChangeLog (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/ChangeLog (.../branches/gcc-8-branch) +@@ -1,3 +1,2202 @@ ++2019-02-09 Jakub Jelinek ++ ++ Backported from mainline ++ 2019-01-16 David Malcolm ++ ++ PR target/88861 ++ * combine.c (delete_noop_moves): Convert to "bool" return, ++ returning true if any edges are eliminated. ++ (combine_instructions): Also return true if delete_noop_moves ++ returns true. ++ ++ 2019-02-08 Jakub Jelinek ++ ++ PR rtl-optimization/89234 ++ * except.c (copy_reg_eh_region_note_forward): Return if note_or_insn ++ is a NOTE, CODE_LABEL etc. - rtx_insn * other than INSN_P. ++ (copy_reg_eh_region_note_backward): Likewise. ++ ++2019-02-09 Alan Modra ++ ++ PR target/88343 ++ * config/rs6000/rs6000.c (save_reg_p): Match logic in ++ rs6000_emit_prologue emitting pic_offset_table setup. ++ ++2019-02-08 Richard Biener ++ ++ Backport from mainline ++ 2018-11-13 Richard Biener ++ ++ PR tree-optimization/86991 ++ * tree-vect-loop.c (vect_is_slp_reduction): Delay reduction ++ group building until we have successfully detected the SLP ++ reduction. ++ (vect_is_simple_reduction): Remove fixup code here. ++ ++2019-02-08 Richard Biener ++ ++ Backport from mainline ++ 2019-02-03 Richard Biener ++ ++ PR debug/87295 ++ * dwarf2out.c (copy_ancestor_tree): Register non-stubs as ++ orig. ++ ++ 2019-01-29 Richard Biener ++ ++ PR debug/87295 ++ * dwarf2out.c (collect_skeleton_dies): New helper. ++ (copy_decls_for_unworthy_types): Call it. ++ (build_abbrev_table): Do not try to replace ++ DW_AT_signature refs with local refs. ++ ++ 2019-01-17 Richard Biener ++ ++ PR lto/86736 ++ * dwarf2out.c (want_pubnames): Never generate pubnames sections ++ and friends for the LTO part of debug info. ++ ++ 2019-01-24 Richard Biener ++ ++ PR lto/87187 ++ * tree-streamer-out.c (write_ts_decl_common_tree_pointers): ++ When in "legacy" debug mode make sure to reset self-origins. ++ ++ 2019-01-15 Richard Biener ++ ++ PR debug/88046 ++ * dwarf2out.c (gen_member_die): Do not generate inheritance ++ DIEs late. ++ ++ 2018-11-22 Richard Biener ++ ++ PR lto/87229 ++ PR lto/88112 ++ * lto-streamer-out.c (lto_is_streamable): Allow CALL_EXPRs ++ which can appear in size expressions. ++ * tree-streamer-in.c (unpack_ts_base_value_fields): Stream ++ CALL_EXPR_BY_DESCRIPTOR. ++ (streamer_read_tree_bitfields): Stream CALL_EXPR_IFN. ++ * tree-streamer-out.c (pack_ts_base_value_fields): Stream ++ CALL_EXPR_BY_DESCRIPTOR. ++ (streamer_write_tree_bitfields): Stream CALL_EXPR_IFN. ++ ++2019-02-08 Christophe Lyon ++ ++ Backport from mainline ++ 2019-01-07 Christophe Lyon ++ ++ PR target/85596 ++ * doc/install.texi (with-multilib-list): Document for aarch64. ++ ++2019-02-08 Richard Biener ++ ++ Backport from mainline ++ 2018-12-10 Richard Biener ++ ++ PR tree-optimization/88427 ++ * vr-values.c (vr_values::extract_range_from_phi_node): ++ Handle symbolic ranges conservatively when trying to drop ++ to Inf +- 1. ++ ++ 2018-11-28 Richard Biener ++ ++ PR tree-optimization/88217 ++ * vr-values.c (vr_values::extract_range_from_phi_node): Make ++ sure to handle results > +INF and < -INF correctly when ++ trying to drop down to +INF - 1 or -INF + 1. ++ ++ 2018-11-23 Richard Biener ++ ++ PR tree-optimization/88149 ++ * tree-vect-slp.c (vect_slp_analyze_node_operations): Detect ++ the case where there are two different def types for the ++ same operand at different operand position in the same stmt. ++ ++2019-02-07 Jakub Jelinek ++ ++ Backported from mainline ++ 2019-02-05 Jakub Jelinek ++ ++ PR target/89188 ++ * dce.c (delete_unmarked_insns): Don't remove no-op moves if they ++ can throw, non-call exceptions are enabled and we can't delete ++ dead exceptions or alter cfg. Set must_clean if ++ delete_insn_and_edges returns true, don't set it blindly for calls. ++ ++ PR rtl-optimization/89195 ++ * combine.c (make_extraction): For MEMs, don't extract bytes outside ++ of the original MEM. ++ ++ PR target/89186 ++ * optabs.c (prepare_cmp_insn): Pass x and y to ++ emit_block_comp_via_libcall rather than XEXP (x, 0) and XEXP (y, 0). ++ ++ 2019-02-02 Jakub Jelinek ++ ++ PR middle-end/87887 ++ * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen): ++ Punt with warning on aggregate return or argument types. Ignore ++ type/mode checking for uniform arguments. ++ ++ 2019-02-01 Jakub Jelinek ++ ++ PR tree-optimization/88107 ++ * tree-cfg.c (find_outermost_region_in_block): Add ALL argument, ++ instead of assertion that eh_region_outermost is non-NULL, if it ++ is NULL, set *ALL to true and return NULL. ++ (move_sese_region_to_fn): Adjust caller, if all is set, call ++ duplicate_eh_regions with NULL region. ++ ++ 2019-01-31 Jakub Jelinek ++ ++ PR sanitizer/89124 ++ * ipa-inline.c (sanitize_attrs_match_for_inline_p): Allow inlining ++ always_inline callees into no_sanitize_address callers. ++ ++ 2019-01-30 Jakub Jelinek ++ ++ PR c++/89105 ++ * config/i386/i386.c (ix86_warn_parameter_passing_abi): Don't warn ++ for arguments to functions that are TU-local and shouldn't be ++ referenced by assembly. ++ ++ 2019-01-29 Jakub Jelinek ++ ++ PR c++/66676 ++ PR ipa/89104 ++ * omp-simd-clone.c (simd_clone_clauses_extract) ++ : Ignore clauses with NULL ++ OMP_CLAUSE_ALIGNED_ALIGNMENT. ++ ++ 2019-01-28 Jakub Jelinek ++ ++ PR middle-end/89002 ++ * gimplify.c (gimplify_omp_for): When adding OMP_CLAUSE_*_GIMPLE_SEQ ++ for lastprivate/linear IV, push gimplify context around gimplify_assign ++ and, if it needed any temporaries, pop it into a gimple bind around the ++ sequence. ++ ++ PR target/89073 ++ * doc/invoke.texi (-mclwb, -mprfchw, -mrdpid, -mrdseed, -msgx, ++ -madx, -mhle, -mavx5124fmaps, -mavx512vnni, -mavx5124vnniw): Document ++ x86 ISA options. ++ (bmi2): Add missing @opindex. ++ * doc/extend.texi (x86 target attribute): Move fma4, lwp, ssse3 ++ options alphabetically. Add missing 3dnow, 3dnowa, adx, avx, avx2, ++ avx5124fmaps, avx5124vnniw, avx512bitalg, avx512bw, avx512cd, ++ avx512dq, avx512er, avx512f, avx512ifma, avx512pf, avx512vbmi, ++ avx512vbmi2, avx512vl, avx512vnni, avx512vpopcntdq, bmi, bmi2, ++ clflushopt, clwb, clzero, crc32, cx16, f16c, fma, fsgsbase, ++ fxsr, gfni, hle, lzcnt, movbe, movdir64b, movdiri, mwaitx, pconfig, ++ pku, prefetchwt1, prfchw, rdpid, rdrnd, rdseed, rtm, sahf, ++ sgx, sha, shstk, tbm, vaes, vpclmulqdq, wbnoinvd, xsave, ++ xsavec, xsaveopt and xsaves options. ++ ++ 2019-01-27 Jakub Jelinek ++ ++ PR target/87214 ++ * config/i386/sse.md ++ (avx512dq_shuf_64x2_1, ++ avx512f_shuf_64x2_1): Ensure the ++ first constants in pairs are multiples of 2. Formatting fixes. ++ (avx512vl_shuf_32x4_1, ++ avx512vl_shuf_32x4_1): Ensure the ++ first constants in each quadruple are multiples of 4. Formatting fixes. ++ ++ 2019-01-24 Jakub Jelinek ++ ++ PR tree-optimization/88964 ++ * gimple-loop-interchange.cc (loop_cand::analyze_induction_var): Also ++ punt if HONOR_SNANS (chrec). ++ ++ 2019-01-23 Jakub Jelinek ++ ++ PR tree-optimization/88964 ++ * gimple-loop-interchange.cc (loop_cand::analyze_induction_var): Use ++ build_zero_cst instead of build_int_cst. Return false for loop ++ invariants which honor signed zeros. ++ ++ 2019-01-22 Jakub Jelinek ++ ++ PR target/88965 ++ * config/rs6000/rs6000.c: Include tree-vrp.h and tree-ssanames.h. ++ (rs6000_gimple_fold_builtin): If MEM_REF address doesn't satisfy ++ is_gimple_mem_ref_addr predicate, force it into a SSA_NAME first. ++ ++ PR middle-end/88968 ++ * gimplify.c (gimplify_omp_atomic): Handle bitfield atomics with ++ non-integral DECL_BIT_FIELD_REPRESENTATIVEs. ++ ++ PR target/88905 ++ * optabs.c (add_equal_note): Add op0_mode argument, use it instead of ++ GET_MODE (op0). ++ (expand_binop_directly, expand_doubleword_clz, ++ expand_doubleword_popcount, expand_ctz, expand_ffs, ++ expand_unop_direct, maybe_emit_unop_insn): Adjust callers. ++ ++ PR rtl-optimization/49429 ++ PR target/49454 ++ PR rtl-optimization/86334 ++ PR target/88906 ++ * expr.c (emit_block_move_hints): Move marking of MEM_EXPRs ++ addressable from here... ++ (emit_block_op_via_libcall): ... to here. ++ ++ 2019-01-17 Jakub Jelinek ++ ++ PR target/88734 ++ * config/aarch64/arm_neon.h: Fix #pragma GCC target syntax - replace ++ (("..."))) with ("..."). Use arch=armv8.2-a+sha3 instead of ++ arch=armv8.2-a+crypto for vsha512hq_u64 etc. intrinsics. ++ ++ PR rtl-optimization/88870 ++ * dce.c (deletable_insn_p): Never delete const/pure calls that can ++ throw if we can't alter the cfg or delete dead exceptions. ++ (mark_insn): Don't call find_call_stack_args for such calls. ++ ++ 2019-01-11 Jakub Jelinek ++ ++ PR bootstrap/88714 ++ * passes.c (finish_optimization_passes): Call print_combine_total_stats ++ inside of pass_combine_1 dump rather than pass_profile_1. ++ ++ 2019-01-10 Jakub Jelinek ++ ++ PR c/88568 ++ * attribs.c (handle_dll_attribute): Clear TREE_STATIC after setting ++ DECL_EXTERNAL. ++ ++ 2019-01-07 Jakub Jelinek ++ ++ PR debug/88723 ++ * dwarf2out.c (const_ok_for_output_1): Remove redundant call to ++ const_not_ok_for_debug_p target hook. ++ (mem_loc_descriptor) : Only call const_ok_for_output_1 ++ on UNSPEC and subexpressions thereof if all subexpressions of the ++ UNSPEC are CONSTANT_P. ++ ++ 2019-01-05 Jakub Jelinek ++ ++ PR debug/88635 ++ * dwarf2out.c (const_ok_for_output_1): Reject MINUS that contains ++ SYMBOL_REF, CODE_LABEL or UNSPEC in subexpressions of second argument. ++ Reject PLUS that contains SYMBOL_REF, CODE_LABEL or UNSPEC in ++ subexpressions of both operands. ++ (mem_loc_descriptor): Handle UNSPEC if target hook acks it and all the ++ subrtxes are CONSTANT_P. ++ ++2019-02-07 Richard Biener ++ ++ Backport from mainline ++ 2018-11-20 Richard Biener ++ ++ PR tree-optimization/88105 ++ * tree-ssa-dom.c (pass_dominator::execute): Do not walk ++ backedges. ++ ++ 2018-11-28 Richard Biener ++ ++ PR tree-optimization/88223 ++ * tree-ssa-sccvn.c (vn_reference_lookup_3): When skipping ++ over a stored-same value may-alias store make sure to consider ++ partial overlaps which are valid when TBAA reasonings do not ++ apply and byte-granular overlaps are possible at all. ++ ++2019-02-07 Richard Biener ++ ++ Backport from mainline ++ 2018-12-11 Richard Biener ++ ++ PR middle-end/88448 ++ PR middle-end/88415 ++ * tree-complex.c (update_complex_assignment): Properly transfer ++ or clean EH info around gimple_assign_set_rhs_with_ops. ++ ++ 2018-11-15 Richard Biener ++ ++ PR tree-optimization/88030 ++ * tree-complex.c (need_eh_cleanup): New global. ++ (update_complex_assignment): Mark blocks that need EH update. ++ (expand_complex_comparison): Likewise. ++ (tree_lower_complex): Allocate and deallocate need_eh_cleanup, ++ perform EH cleanup and schedule CFG cleanup if that did anything. ++ ++ 2018-11-08 Richard Biener ++ ++ PR tree-optimization/87929 ++ * tree-complex.c (expand_complex_comparison): Clean EH. ++ ++2019-02-06 Eric Botcazou ++ ++ * config/i386/i386.c (ix86_expand_prologue): Emit a memory blockage ++ after restoring registers saved to allocate the frame on Windows. ++ ++2019-02-06 Richard Biener ++ ++ Backport from mainline ++ 2019-01-31 Richard Biener ++ ++ PR tree-optimization/89135 ++ * tree-ssa-phiprop.c (pass_phiprop::execute): Skip blocks ++ with abnormal preds. ++ ++ 2019-01-18 Richard Biener ++ ++ PR tree-optimization/88903 ++ * tree-vect-stmts.c (vectorizable_shift): Verify we see all ++ scalar stmts a SLP shift amount is composed of when detecting ++ shifts by scalars. ++ ++2019-02-05 Kelvin Nilsen ++ ++ Backport from mainline. ++ 2019-01-30 Kelvin Nilsen ++ * config/rs6000/rs6000-c.c (altivec-resolve_overloaded_builtin): ++ Change handling of ALTIVEC_BUILTIN_VEC_EXTRACT. Coerce result to ++ type of vector element when vec_extract is implemented by direct ++ move. ++ ++2019-02-05 Andreas Krebbel ++ ++ Backport from mainline ++ 2019-02-05 Andreas Krebbel ++ ++ PR target/88856 ++ * config/s390/s390.md: Remove load and test FP splitter. ++ ++2019-02-04 Bill Schmidt ++ ++ PR target/87064 ++ Backport from mainline ++ ++ 2019-01-30 Bill Schmidt ++ ++ PR target/87064 ++ * config/rs6000/vsx.md (*vsx_reduc__v4sf_scalar): ++ Disable for little-endian. ++ ++ 2019-01-22 Jakub Jelinek ++ ++ PR target/87064 ++ * config/rs6000/vsx.md (*vsx_reduc__v2df_scalar): ++ Disable for little endian. ++ ++2019-02-04 Eric Botcazou ++ ++ * config/sparc/sparc.h: Remove superfluous blank lines. ++ * config/sparc/sparc.c (global_offset_table_rtx): Rename into... ++ (got_register_rtx): ...this. ++ (sparc_got): Adjust to above renaming. ++ (sparc_tls_got): Likewise. ++ (sparc_output_mi_thunk): Likewise. ++ (sparc_init_pic_reg): Likewise. ++ (save_local_or_in_reg_p): Fix test on the GOT register. ++ (USE_HIDDEN_LINKONCE): Move around. ++ (get_pc_thunk_name): Likewise. ++ (gen_load_pcrel_sym): Likewise. ++ (load_got_register): Likewise. ++ ++2019-02-01 Bin Cheng ++ ++ Backport from mainline ++ 2018-10-15 Bin Cheng ++ ++ PR tree-optimization/87022 ++ * tree-loop-distribution.c (pg_add_dependence_edges): Check all ++ bits in dist vector rather than the first one. ++ ++2019-02-01 Bin Cheng ++ ++ Backport from mainline ++ 2019-02-01 Bin Cheng ++ ++ PR tree-optimization/88932 ++ * tree-predcom.c (try_combine_chains): Get loop bbs in dom order. ++ ++2018-01-31 Bill Schmidt ++ ++ Backport from mainline ++ 2018-01-31 Bill Schmidt ++ ++ PR tree-optimization/89008 ++ * gimple-ssa-strength-reduction.c (slsr_process_mul): Don't ++ process anything of the form X * 0. ++ ++2019-01-31 Richard Biener ++ ++ Backport from mainline ++ 2019-01-31 Richard Biener ++ ++ PR rtl-optimization/89115 ++ * lra.c (lra_rtx_hash): Properly hash CONST_INT values. ++ ++ 2019-01-30 Richard Biener ++ ++ PR rtl-optimization/89115 ++ * opts.c (default_options_optimization): Reduce ++ PARAM_MAX_DSE_ACTIVE_LOCAL_STORES by a factor of 10 at -O1. ++ Make PARAM_LOOP_INVARIANT_MAX_BBS_IN_LOOP reduction relative ++ to the default. ++ ++2019-01-30 Kewen Lin ++ ++ Backport from mainline. ++ 2019-01-17 Kewen Lin ++ ++ * doc/extend.texi: Add four new prototypes for vec_ld and seven new ++ prototypes for vec_st. ++ * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add entries ++ for scalar address type variants of altivec_vec_ld/altivec_vec_st, ++ mainly on signed/unsigned long long and double. ++ ++2019-01-29 Vineet Gupta ++ ++ Backport from mainline. ++ * gcc/config.gcc: Force .init_array for ARC. ++ ++2019-01-29 Vineet Gupta ++ ++ Backport from mainline. ++ * config/arc/atomic.md: Add operand to DMB instruction. ++ ++2019-01-27 Uroš Bizjak ++ ++ PR target/88948 ++ * rtl.h (prepare_copy_insn): New prototype. ++ * gcse.c (prepare_copy_insn): New function, split out from ++ process_insert_insn. ++ (process_insert_insn): Use prepare_copy_insn. ++ * store-motion.c (replace_store_insn): Use prepare_copy_insn ++ instead of gen_move_insn. ++ ++2019-01-25 Richard Biener ++ ++ PR tree-optimization/86865 ++ * graphite-scop-detection.c (scop_detection::can_represent_loop): ++ Reject non-do-while loops. ++ ++2019-01-24 Uroš Bizjak ++ ++ PR target/88998 ++ * config/i386/sse.md (sse2_cvtpi2pd): Add SSE alternatives. ++ Disparage MMX alternative. ++ (sse2_cvtpd2pi): Ditto. ++ (sse2_cvttpd2pi): Ditto. ++ ++2019-01-24 Richard Earnshaw ++ ++ PR target/88469 ++ * profile-count.h (profile_count): On ARM systems using GCC 6/7/8 ++ force the alignment of m_val. ++ ++2019-01-24 Richard Biener ++ ++ Backport from mainline ++ 2019-01-23 Richard Biener ++ ++ PR tree-optimization/89008 ++ * tree-ssa-reassoc.c (eliminate_using_constants): For * 0 do ++ not leave another stray operand. ++ ++2019-01-22 Uroš Bizjak ++ ++ PR target/88938 ++ * config/i386/i386.c (ix86_expand_builtin) [case IX86_BUILTIN_BEXTRI32, ++ case IX86_BUILTIN_BEXTRI64]: Sanitize operands. ++ ++2019-01-18 Richard Earnshaw ++ ++ PR target/88799 ++ * config/arm/arm-cpus.in (mp): New feature. ++ (sec): New feature. ++ (fgroup ARMv7ve): Add mp and sec features. ++ (arch armv7-a): Add options to allow mp and sec extensions. ++ (cpu generic-armv7-a): Add options to allow mp and sec extensions. ++ (cpu cortex-a5, cpu cortex-7, cpu cortex-a9): Add mp and sec ++ extenstions to the base architecture. ++ (cpu cortex-a8): Add sec extension to the base architecture. ++ (cpu marvell-pj4): Add mp and sec extensions to the base architecture. ++ * config/arm/t-aprofile (MULTILIB_MATCHES): Map all armv7-a arch ++ variants down to the base v7-a varaint. ++ * config/arm/t-multilib (v7_a_arch_variants): New variable. ++ * doc/invoke.texi (ARM Options): Add +mp and +sec to the list ++ of permitted extensions for -march=armv7-a and for ++ -mcpu=generic-armv7-a. ++ ++2019-01-17 Uroš Bizjak ++ ++ * config/alpha/alpha.c (alpha_gimplify_va_arg): ++ Handle split indirect COMPLEX_TYPE arguments. ++ ++2019-01-17 Eric Botcazou ++ ++ * gimple-ssa-isolate-paths.c (stmt_uses_name_in_undefined_way): Replace ++ flag_non_call_exceptions with cfun->can_throw_non_call_exceptions. ++ (stmt_uses_0_or_null_in_undefined_way): Likewise. ++ * tree-ssa-alias.c (same_addr_size_stores_p): Likewise. ++ ++2019-01-16 Aaron Sawdey ++ ++ Backported from mainline ++ 2019-01-03 Aaron Sawdey ++ * config/rs6000/rs6000-string.c (expand_block_move): Don't use ++ unaligned vsx and avoid lxvd2x/stxvd2x. ++ (gen_lvx_v4si_move): New function. ++ ++2019-01-16 Martin Jambor ++ ++ Backported from mainline ++ 2018-12-10 Martin Jambor ++ ++ PR ipa/88214 ++ * ipa-prop.c (determine_locally_known_aggregate_parts): Make sure ++ we check pointers against pointers. ++ ++2019-01-10 Jan Hubicka ++ ++ Backported from mainline ++ 2018-12-27 Jan Hubicka ++ ++ * ipa-devirt.c (polymorphic_call_target_d): Add n_odr_types. ++ (polymorphic_call_target_hasher::hash): Hash it. ++ (polymorphic_call_target_hasher::equal): Compare it. ++ (possible_polymorphic_call_targets): Set it. ++ * tree.c (free_lang_data): Rebuild type inheritance graph even on ++ non-LTO path. ++ ++2019-01-03 Jan Hubicka ++ ++ Backported from mainline ++ 2019-01-02 Richard Biener ++ ++ PR ipa/85574 ++ * ipa-icf.h (sem_item_optimizer::sort_congruence_split): Declare. ++ * ipa-icf.c (sem_item_optimizer::sort_congruence_split): New ++ function. ++ (sem_item_optimizer::do_congruence_step_f): Sort the congruence ++ set after UIDs before splitting them. ++ ++2019-01-03 Jan Hubicka ++ ++ Backported from mainline ++ 2019-01-03 Jan Hubicka ++ ++ PR tree-optimization/85574 ++ * tree-ssa-uncprop.c (struct equiv_hash_elt): Remove unused ++ structure. ++ (struct ssa_equip_hash_traits): Declare. ++ (val_ssa_equiv): Use custom hash traits using operand_equal_p. ++ ++2019-01-09 Eric Botcazou ++ ++ * config/sparc/sparc.md (*tablejump_sp32): Merge into... ++ (*tablejump_sp64): Likewise. ++ (*tablejump): ...this. ++ (*call_address_sp32): Merge into... ++ (*call_address_sp64): Likewise. ++ (*call_address): ...this. ++ (*call_symbolic_sp32): Merge into... ++ (*call_symbolic_sp64): Likewise. ++ (*call_symbolic): ...this. ++ (call_value): Remove constraint and add predicate. ++ (*call_value_address_sp32): Merge into... ++ (*call_value_address_sp64): Likewise. ++ (*call_value_address): ...this. ++ (*call_value_symbolic_sp32): Merge into... ++ (*call_value_symbolic_sp64): Likewise. ++ (*call_value_symbolic): ...this. ++ (*sibcall_symbolic_sp32): Merge into... ++ (*sibcall_symbolic_sp64): Likewise. ++ (*sibcall_symbolic): ...this. ++ (sibcall_value): Remove constraint and add predicate. ++ (*sibcall_value_symbolic_sp32): Merge into... ++ (*sibcall_value_symbolic_sp64): Likewise. ++ (*sibcall_value_symbolic): ...this. ++ (window_save): Minor tweak. ++ (*branch_sp32): Merge into... ++ (*branch_sp64): Likewise. ++ (*branch): ...this. ++ ++2019-01-09 Eric Botcazou ++ James Clarke ++ ++ PR target/84010 ++ * config/sparc/sparc.c (sparc_legitimize_tls_address): Only use Pmode ++ consistently in TLS address generation and adjust code to the renaming ++ of patterns. Mark calls to __tls_get_addr as const. ++ * config/sparc/sparc.md (tgd_hi22): Turn into... ++ (tgd_hi22): ...this and use Pmode throughout. ++ (tgd_lo10): Turn into... ++ (tgd_lo10): ...this and use Pmode throughout. ++ (tgd_add32): Merge into... ++ (tgd_add64): Likewise. ++ (tgd_add): ...this and use Pmode throughout. ++ (tldm_hi22): Turn into... ++ (tldm_hi22): ...this and use Pmode throughout. ++ (tldm_lo10): Turn into... ++ (tldm_lo10): ...this and use Pmode throughout. ++ (tldm_add32): Merge into... ++ (tldm_add64): Likewise. ++ (tldm_add): ...this and use Pmode throughout. ++ (tldm_call32): Merge into... ++ (tldm_call64): Likewise. ++ (tldm_call): ...this and use Pmode throughout. ++ (tldo_hix22): Turn into... ++ (tldo_hix22): ...this and use Pmode throughout. ++ (tldo_lox10): Turn into... ++ (tldo_lox10): ...this and use Pmode throughout. ++ (tldo_add32): Merge into... ++ (tldo_add64): Likewise. ++ (tldo_add): ...this and use Pmode throughout. ++ (tie_hi22): Turn into... ++ (tie_hi22): ...this and use Pmode throughout. ++ (tie_lo10): Turn into... ++ (tie_lo10): ...this and use Pmode throughout. ++ (tie_ld64): Use DImode throughout. ++ (tie_add32): Merge into... ++ (tie_add64): Likewise. ++ (tie_add): ...this and use Pmode throughout. ++ (tle_hix22_sp32): Merge into... ++ (tle_hix22_sp64): Likewise. ++ (tle_hix22): ...this and use Pmode throughout. ++ (tle_lox22_sp32): Merge into... ++ (tle_lox22_sp64): Likewise. ++ (tle_lox22): ...this and use Pmode throughout. ++ (*tldo_ldub_sp32): Merge into... ++ (*tldo_ldub_sp64): Likewise. ++ (*tldo_ldub): ...this and use Pmode throughout. ++ (*tldo_ldub1_sp32): Merge into... ++ (*tldo_ldub1_sp64): Likewise. ++ (*tldo_ldub1): ...this and use Pmode throughout. ++ (*tldo_ldub2_sp32): Merge into... ++ (*tldo_ldub2_sp64): Likewise. ++ (*tldo_ldub2): ...this and use Pmode throughout. ++ (*tldo_ldsb1_sp32): Merge into... ++ (*tldo_ldsb1_sp64): Likewise. ++ (*tldo_ldsb1): ...this and use Pmode throughout. ++ (*tldo_ldsb2_sp32): Merge into... ++ (*tldo_ldsb2_sp64): Likewise. ++ (*tldo_ldsb2): ...this and use Pmode throughout. ++ (*tldo_ldub3_sp64): Use DImode throughout. ++ (*tldo_ldsb3_sp64): Likewise. ++ (*tldo_lduh_sp32): Merge into... ++ (*tldo_lduh_sp64): Likewise. ++ (*tldo_lduh): ...this and use Pmode throughout. ++ (*tldo_lduh1_sp32): Merge into... ++ (*tldo_lduh1_sp64): Likewise. ++ (*tldo_lduh1): ...this and use Pmode throughout. ++ (*tldo_ldsh1_sp32): Merge into... ++ (*tldo_ldsh1_sp64): Likewise. ++ (*tldo_ldsh1): ...this and use Pmode throughout. ++ (*tldo_lduh2_sp64): Use DImode throughout. ++ (*tldo_ldsh2_sp64): Likewise. ++ (*tldo_lduw_sp32): Merge into... ++ (*tldo_lduw_sp64): Likewise. ++ (*tldo_lduw): ...this and use Pmode throughout. ++ (*tldo_lduw1_sp64): Use DImode throughout. ++ (*tldo_ldsw1_sp64): Likewise. ++ (*tldo_ldx_sp64): Likewise. ++ (*tldo_stb_sp32): Merge into... ++ (*tldo_stb_sp64): Likewise. ++ (*tldo_stb): ...this and use Pmode throughout. ++ (*tldo_sth_sp32): Merge into... ++ (*tldo_sth_sp64): Likewise. ++ (*tldo_sth): ...this and use Pmode throughout. ++ (*tldo_stw_sp32): Merge into... ++ (*tldo_stw_sp64): Likewise. ++ (*tldo_stw): ...this and use Pmode throughout. ++ (*tldo_stx_sp64): Use DImode throughout. ++ ++2019-01-09 Eric Botcazou ++ ++ * doc/invoke.texi (-Os): Add reference to -finline-functions. ++ (-finline-functions): Remove reference to -O2, add references ++ to -fprofile-use and -fauto-profile. ++ ++2019-01-08 Jakub Jelinek ++ ++ Backported from mainline ++ 2019-01-05 Jakub Jelinek ++ ++ PR middle-end/82564 ++ PR target/88620 ++ * expr.c (expand_assignment): For calls returning VLA structures ++ if to_rtx is not a MEM, force it into a stack temporary. ++ ++ 2019-01-04 Jakub Jelinek ++ ++ PR target/88594 ++ * config/i386/i386.c (ix86_expand_divmod_libfunc): Use mode instead ++ of GET_MODE (opN) as modes of the libcall arguments. ++ ++ 2019-01-03 Jakub Jelinek ++ ++ PR debug/88644 ++ * dwarf2out.c (modified_type_die): If type is equal to sizetype, ++ change it to qualified_type. ++ ++ 2018-12-21 Jakub Jelinek ++ ++ PR middle-end/85594 ++ PR middle-end/88553 ++ * omp-expand.c (extract_omp_for_update_vars): Regimplify the condition ++ if needed. ++ (expand_omp_for_generic): Don't clobber t temporary for ordered loops. ++ ++ PR target/88522 ++ * config/i386/sse.md (*avx512pf_gatherpfsf_mask, ++ *avx512pf_gatherpfdf_mask, *avx512pf_scatterpfsf_mask, ++ *avx512pf_scatterpfdf_mask): Use %X5 instead of %5 for ++ -masm=intel. ++ (gatherq_mode): Remove mode iterator. ++ (*avx512f_gathersi, *avx512f_gathersi_2): Use X instead ++ of . ++ (*avx512f_gatherdi): Use X instead of . ++ (*avx512f_gatherdi_2, *avx512f_scattersi, ++ *avx512f_scatterdi): Use %X5 for -masm=intel. ++ ++ PR rtl-optimization/88563 ++ * expr.c (expand_expr_real_2) : Swap innermode ++ and mode arguments to convert_modes. Likewise swap mode and word_mode ++ arguments. Handle both arguments with VOIDmode before convert_modes ++ of one of them. Formatting fixes. ++ ++ 2018-12-19 Jakub Jelinek ++ ++ PR target/88541 ++ * config/i386/vpclmulqdqintrin.h (_mm256_clmulepi64_epi128): Enable ++ for -mavx -mvpclmulqdq rather than just for -mavx512vl -mvpclmulqdq. ++ ++ 2018-12-14 Jakub Jelinek ++ ++ PR c++/82294 ++ PR c++/87436 ++ * expr.h (categorize_ctor_elements): Add p_unique_nz_elts argument. ++ * expr.c (categorize_ctor_elements_1): Likewise. Compute it like ++ p_nz_elts, except don't multiply it by mult. Adjust recursive call. ++ Fix up COMPLEX_CST handling. ++ (categorize_ctor_elements): Add p_unique_nz_elts argument, initialize ++ it and pass it through to categorize_ctor_elements_1. ++ (mostly_zeros_p, all_zeros_p): Adjust categorize_ctor_elements callers. ++ * gimplify.c (gimplify_init_constructor): Likewise. Don't force ++ ctor into readonly data section if num_unique_nonzero_elements is ++ smaller or equal to 1/8 of num_nonzero_elements and size is >= 64 ++ bytes. ++ ++ 2018-12-13 Jakub Jelinek ++ ++ PR rtl-optimization/88470 ++ * cfgcleanup.c (outgoing_edges_match): If the function is ++ shrink-wrapped and bb1 ends with a JUMP_INSN with a single fake ++ edge to EXIT, return false. ++ ++ PR rtl-optimization/88416 ++ * valtrack.c (cleanup_auto_inc_dec): Handle pre/post-inc/dec/modify ++ even if !AUTO_INC_DEC. ++ ++ 2018-12-07 Jakub Jelinek ++ ++ PR target/85593 ++ * final.c (rest_of_handle_final): Don't call collect_fn_hard_reg_usage ++ for functions with naked attribute. ++ ++ 2018-12-06 Jakub Jelinek ++ ++ PR target/87598 ++ * config/aarch64/aarch64.c (aarch64_print_address_internal): Don't ++ call output_operand_lossage on VOIDmode CONST_INTs. After ++ output_operand_lossage do return false. ++ ++ 2018-12-05 Jakub Jelinek ++ ++ PR tree-optimization/87360 ++ * gimple-loop-jam.c (tree_loop_unroll_and_jam): On failure to analyze ++ data dependencies, don't return false, just continue. ++ ++ 2018-11-29 Jakub Jelinek ++ ++ PR target/88234 ++ * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): For ++ vec_add and vec_sub builtins, perform PLUS_EXPR or MINUS_EXPR ++ in unsigned_type_for instead of vector integral type where overflow ++ doesn't wrap. ++ ++ 2018-11-26 Jakub Jelinek ++ ++ PR c++/86900 ++ * dwarf2out.c (secname_for_decl): For functions with ++ DECL_SECTION_NAME if in_cold_section_p, try to return ++ current_function_section's name if it is a named section. ++ ++ 2018-11-22 Jakub Jelinek ++ ++ PR target/85644 ++ PR target/86832 ++ * config/i386/i386.c (ix86_option_override_internal): Default ++ ix86_stack_protector_guard to SSP_TLS only if TARGET_THREAD_SSP_OFFSET ++ is defined. ++ * config/i386/i386.md (stack_protect_set, stack_protect_set_, ++ stack_protect_test, stack_protect_test_): Use empty condition ++ instead of TARGET_SSP_TLS_GUARD. ++ ++ 2018-11-20 Jakub Jelinek ++ ++ PR tree-optimization/87895 ++ * omp-simd-clone.c (ipa_simd_modify_function_body): When removing ++ or replacing GIMPLE_RETURN, set EDGE_FALLTHRU on the edge to EXIT. ++ (simd_clone_adjust): Don't set EDGE_FALLTHRU here. In a loop that ++ redirects edges to EXIT to edges to incr_bb, iterate while EXIT ++ has any preds and always use EDGE_PRED (, 0). ++ ++ 2018-11-19 Jakub Jelinek ++ ++ PR tree-optimization/88071 ++ * tree-vect-loop.c (vectorize_fold_left_reduction): Pass true instead ++ of false as last argument to gsi_remove. ++ * tree-vect-stmts.c (vect_finish_replace_stmt): Pass true instead of ++ false as last argument to gsi_replace. ++ ++ PR debug/87039 ++ * omp-expand.c: Don't include debug.h. ++ (adjust_context_and_scope): Add REGION argument. Find DECL_CONTEXT ++ from innermost outer parallel, task, or target that has a ++ child_fn set, or, if there is no such outer region, use ++ current_function_decl. Do the DECL_CONTEXT adjustment regardless of ++ whether a suitable BLOCK is found or not. ++ (expand_parallel_call): Don't call adjust_context_and_scope here. ++ (grid_expand_target_grid_body): Revert 2017-01-25 changes. ++ (expand_omp_taskreg, expand_omp_target): Likewise. Call ++ adjust_context_and_scope. ++ * dwarf2out.c (dwarf2out_early_global_decl): For ++ decl_function_context recurse instead of calling dwarf2out_decl. ++ ++ 2018-11-16 Jakub Jelinek ++ ++ PR rtl-optimization/87475 ++ * cfgrtl.c (patch_jump_insn): Allow redirection failure for ++ CROSSING_JUMP_P insns. ++ (cfg_layout_redirect_edge_and_branch): Don't ICE if ret is NULL. ++ ++ 2018-11-15 Jakub Jelinek ++ ++ PR rtl-optimization/88018 ++ * cfgrtl.c (fixup_abnormal_edges): Guard moving insns to fallthru edge ++ on the presence of fallthru edge, rather than if it is a USE or not. ++ ++ 2018-11-13 Jakub Jelinek ++ ++ PR tree-optimization/87898 ++ * omp-simd-clone.c (ipa_simd_modify_function_body): Remove debug stmts ++ where the first argument was changed into a non-decl. ++ ++2019-01-03 Jan Hubicka ++ ++ Backport from mainline ++ 2019-01-02 Jan Hubicka ++ ++ PR lto/88130 ++ * varpool.c (varpool_node::ctor_useable_for_folding_p): Also return ++ false at WPA time when body was removed. ++ ++2019-01-03 Jan Hubicka ++ ++ Backport from mainline ++ 2018-08-29 Jan Hubicka ++ ++ PR lto/86517 ++ PR lto/88185 ++ * lto-opts.c (lto_write_options): Always stream PIC/PIE mode. ++ * lto-wrapper.c (merge_and_complain): Fix merging of PIC/PIE. ++ ++2019-01-04 Aaron Sawdey ++ ++ Backport from mainline ++ 2018-11-28 Aaron Sawdey ++ ++ * config/rs6000/rs6000-string.c (expand_block_clear): Change how ++ we determine if unaligned vsx is ok. ++ ++2019-01-03 Jan Hubicka ++ ++ Backport from mainline ++ 2019-01-03 Jan Hubicka ++ ++ * ipa-utils.c (scale_ipa_profile_for_fn): Break out from ... ++ (ipa_merge_profiles): ... here; do not ICE on thunks and aliases. ++ ++2019-01-03 Martin Liska ++ ++ Backport from mainline ++ 2019-01-01 Jan Hubicka ++ ++ * coverage.c (get_coverage_counts): Use current_function_decl. ++ * profile.c (read_thunk_profile): New function. ++ (branch_prob): Add THUNK parameter. ++ * tree-profile.c (tree_profiling): Handle thunks. ++ * value-prof.c (init_node_map): Handle thunks. ++ * value-prof.h (branch_prob): Upate prototype. ++ (read_thunk_profile): Declare. ++ ++2019-01-03 Iain Sandoe ++ ++ revert: ++ 2018-12-23 Iain Sandoe ++ ++ backport from mainline. ++ 2018-12-12 Segher Boessenkool ++ Iain Sandoe ++ ++ PR target/88343 ++ * config/rs6000/rs6000.c (save_reg_p): Do not save the picbase reg ++ unless it has been used. ++ (first_reg_to_save): Remove dead code. ++ ++2019-01-02 Segher Boessenkool ++ ++ Backport from trunk ++ 2018-12-06 Segher Boessenkool ++ ++ PR inline-asm/55681 ++ * doc/extend.texi (Basic Asm): Update grammar. ++ (Extended Asm): Update grammar. ++ ++ Backport from trunk ++ 2018-12-06 Segher Boessenkool ++ ++ * doc/extend.texi (Using Assembly Language with C): Document asm inline. ++ (Size of an asm): Fix typo. Document asm inline. ++ * gimple-pretty-print.c (dump_gimple_asm): Handle asm inline. ++ * gimple.h (enum gf_mask): Add GF_ASM_INLINE. ++ (gimple_asm_set_volatile): Fix typo. ++ (gimple_asm_inline_p): New. ++ (gimple_asm_set_inline): New. ++ * gimplify.c (gimplify_asm_expr): Propagate the asm inline flag from ++ tree to gimple. ++ * ipa-icf-gimple.c (func_checker::compare_gimple_asm): Compare the ++ gimple_asm_inline_p flag, too. ++ * tree-core.h (tree_base): Document that protected_flag is ASM_INLINE_P ++ in an ASM_EXPR. ++ * tree-inline.c (estimate_num_insns): If gimple_asm_inline_p return ++ a minimum size for an asm. ++ * tree.h (ASM_INLINE_P): New. ++ ++2018-12-28 Thomas Schwinge ++ Julian Brown ++ ++ * gimplify.c (gimplify_scan_omp_clauses): Fix known_eq typo/bug. ++ ++2018-12-27 Martin Liska ++ ++ Backport from mainline ++ 2018-12-15 Jan Hubicka ++ ++ PR ipa/88561 ++ * ipa-polymorphic-call.c ++ (ipa_polymorphic_call_context::ipa_polymorphic_call_context): Handle ++ arguments of thunks correctly. ++ (ipa_polymorphic_call_context::get_dynamic_context): Be ready for ++ NULL instance pinter. ++ * lto-cgraph.c (lto_output_node): Always stream thunk info. ++ ++2018-12-23 Iain Sandoe ++ ++ backport from mainline. ++ 2018-12-12 Segher Boessenkool ++ Iain Sandoe ++ ++ PR target/88343 ++ * config/rs6000/rs6000.c (save_reg_p): Do not save the picbase reg ++ unless it has been used. ++ (first_reg_to_save): Remove dead code. ++ ++2018-12-23 Iain Sandoe ++ ++ Backport from mainline ++ 2018-12-06 Iain Sandoe ++ ++ PR c++/87380 ++ * config/darwin.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC) Remove, use the ++ default. ++ * config/rs6000/darwin7.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): New. ++ ++2018-12-23 Iain Sandoe ++ ++ Backport from mainline ++ 2018-12-06 Iain Sandoe ++ ++ PR target/78444 ++ * config/i386/darwin.h (STACK_BOUNDARY): Remove macro. ++ * config/i386/i386.c (ix86_compute_frame_layout): Ensure at least 128b ++ stack alignment in non-leaf functions. ++ ++2018-12-21 Uros Bizjak ++ ++ Backport from mainline ++ 2018-12-10 Uros Bizjak ++ ++ PR target/88418 ++ * config/i386/i386.c (ix86_expand_sse_cmp): For vector modes, ++ check operand 1 with vector_operand predicate. ++ (ix86_expand_sse_movcc): For vector modes, check op_true with ++ vector_operand, not nonimmediate_operand. ++ ++2018-12-19 Bill Schmidt ++ ++ Backport from mainline ++ 2018-12-18 Bill Schmidt ++ ++ * doc/extend.texi (PowerPC Altivec/VSX Built-in Functions): ++ Describe when a typedef name can be used as the type specifier for ++ a vector type, and when it cannot. ++ ++2018-12-19 Segher Boessenkool ++ ++ Backport from trunk ++ 2018-12-19 Segher Boessenkool ++ ++ PR target/88213 ++ * config/rs6000/vsx.md (*vsx_extract___load): ++ Require TARGET_POWERPC64. ++ ++2018-12-17 Senthil Kumar Selvaraj ++ ++ Backport from trunk ++ 2018-12-17 Senthil Kumar Selvaraj ++ ++ PR rtl-optimization/88253 ++ * combine.c (combine_simplify_rtx): Test for side-effects before ++ substituting by zero. ++ ++2018-12-15 Segher Boessenkool ++ ++ Backport from trunk ++ 2018-12-14 Segher Boessenkool ++ ++ PR rtl-optimization/88001 ++ * function.c (match_asm_constraints_1): Don't invalidly share RTL. ++ ++2018-12-15 Jan Hubicka ++ ++ * ipa.c (cgraph_build_static_cdtor_1): Add OPTIMIZATION and TARGET ++ parameters. ++ (cgraph_build_static_cdtor): Update. ++ (build_cdtor): Use OPTIMIZATION and TARGET of the first real cdtor ++ callsed. ++ ++2018-12-15 Jan Hubicka ++ ++ Backport from mainline ++ 2018-11-02 Richard Biener ++ ++ * dwarf2out.c (build_abbrev_table): Guard lookup_external_ref call ++ with is_type_die. ++ ++2018-12-14 Kyrylo Tkachov ++ ++ Backport from mainline ++ 2018-12-13 Kyrylo Tkachov ++ ++ * doc/invoke.texi (-msve-vector-bits): Clarify -msve-vector-bits=128 ++ behavior. ++ ++2018-12-14 Andre Vieira ++ ++ Backport from mainline ++ PR target/88224 ++ * config/arm/arm-cpus.in (armv7-r): Add FP16conv configurations. ++ (cortex-r7, cortex-r8): Update fpu and add new configuration. ++ * doc/invoke.texi (armv7-r): Add two new vfp options. ++ (nofp.dp): Add cortex-r7 and cortex-r8 to the list of targets that ++ support this option. ++ ++2018-12-13 H.J. Lu ++ ++ Backport from mainline ++ 2018-11-05 Xuepeng Guo ++ ++ PR target/87853 ++ * config/i386/emmintrin.h (__v16qs): New to cope with option ++ -funsigned-char. ++ (_mm_cmpeq_epi8): Replace __v16qi with __v16qs. ++ (_mm_cmplt_epi8): Likewise. ++ (_mm_cmpgt_epi8): Likewise. ++ ++2018-12-13 Andreas Krebbel ++ ++ Backport from mainline ++ 2018-12-13 Andreas Krebbel ++ ++ * config/s390/s390-builtins.def (s390_vec_double_s64): Map to ++ s390_vec_double_s64 instead of s390_vcdgb. ++ (s390_vec_double_u64): Map to s390_vec_double_u64 instead of ++ s390_vcdlgb. ++ ++2018-12-13 Andreas Krebbel ++ ++ Backport from mainline ++ 2018-12-13 Andreas Krebbel ++ ++ * config/s390/vx-builtins.md ("vec_ctd_s64", "vec_ctd_u64") ++ ("vec_ctsl", "vec_ctul"): Replace 0 with VEC_NOINEXACT. ++ ("vec_double_s64", "vec_double_u64"): Replace 4 with VEC_INEXACT. ++ ++2018-12-13 Eric Botcazou ++ ++ Backport from mainline ++ 2018-12-11 Eric Botcazou ++ ++ * config/rs6000/vxworks.h (RS6000_STARTING_FRAME_OFFSET): Define, ++ accounting for STACK_BOUNDARY 128. ++ (STACK_DYNAMIC_OFFSET): Likewise. ++ ++2018-12-12 Peter Bergner ++ ++ Backport from mainline ++ 2018-12-07 Peter Bergner ++ ++ PR target/87496 ++ * config/rs6000/rs6000.c (rs6000_option_override_internal): Disallow ++ -mabi=ieeelongdouble and -mabi=ibmlongdouble without -mlong-double-128. ++ Do not error for -mabi=ibmlongdouble and no ISA 2.06 support. ++ * doc/invoke.texi: Document -mabi=ibmlongdouble and -mabi=ieeelongdouble ++ require -mlong-double-128. ++ ++2018-12-05 Richard Biener ++ ++ Backport from mainline ++ 2018-09-20 Richard Sandiford ++ ++ PR tree-optimization/87288 ++ * tree-vect-loop.c (vect_analyze_loop_2): Take PEELING_FOR_GAPS ++ into account when determining PEELING_FOR_NITERS. ++ ++2018-12-05 Iain Sandoe ++ ++ Backport from mainline ++ 2018-08-18 Iain Sandoe ++ ++ * config/darwin.c (darwin_override_options): If -gsplit-dwarf is set, ++ emit a diagnostic that it is not supported and reset the option. ++ * config/darwin.h (DRIVER_SELF_SPECS): Note that gsplit-dwarf is not ++ supported and consume the option. (ASM_FINAL_SPEC): New. ++ ++2018-12-04 Iain Sandoe ++ ++ Backport from mainline ++ 2018-08-15 Iain Sandoe ++ ++ PR target/81685 ++ * config/darwin.h: (DEBUG_STR_OFFSETS_SECTION, DEBUG_LOCLISTS_SECTION, ++ DEBUG_RNGLISTS_SECTION) new macros. (DEBUG_PUBNAMES_SECTION, ++ DEBUG_PUBTYPES_SECTION) update to include GNU variant. ++ ++2018-11-29 Peter Bergner ++ ++ Backport from mainline ++ 2018-11-29 Peter Bergner ++ ++ PR target/87496 ++ * config/rs6000/rs6000.c (rs6000_option_override_internal): Disallow ++ -mabi=ieeelongdouble without both -mpopcntd and -mvsx. ++ ++2018-11-28 Aaron Sawdey ++ ++ Backport from mainline ++ 2018-10-25 Aaron Sawdey ++ ++ * config/rs6000/rs6000-string.c (expand_strncmp_gpr_sequence): Change to ++ a shorter sequence with fewer branches. ++ (emit_final_str_compare_gpr): Ditto. ++ ++ Backport from mainline to allow the above code to go in: ++ 2018-06-14 Aaron Sawdey ++ ++ * config/rs6000/rs6000-string.c (do_and3, do_and3_mask, ++ do_cmpb3, do_rotl3): New functions. ++ ++2018-11-28 Richard Biener ++ ++ PR tree-optimization/79351 ++ * tree-ssa-sccvn.c (vn_reference_lookup_3): For assignments from ++ empty CONSTRUCTORs ensure the store is at a constant position. ++ ++2018-11-28 Richard Biener ++ ++ PR tree-optimization/88229 ++ * tree-ssa.c (non_rewritable_mem_ref_base): Check DECL_SIZE_UNIT ++ is an INTEGER_CST before accessing it so. ++ ++2018-11-26 Andreas Krebbel ++ ++ Backport from mainline ++ 2018-11-20 Andreas Krebbel ++ ++ * config/s390/s390.md ("clztidi2"): Swap the RTX's written to the ++ DImode parts of the target operand. ++ ++2018-11-26 Andreas Krebbel ++ ++ Backport from mainline ++ 2018-11-26 Andreas Krebbel ++ ++ * doc/invoke.texi: Document z14/arch12 -march option. ++ ++2018-11-23 Tamar Christina ++ ++ Backported from mainline. ++ 2018-08-16 Tamar Christina ++ ++ PR target/84711 ++ * config/arm/neon.md (movv4hf, movv8hf): Refactored to.. ++ (mov): ..this and enable unconditionally. ++ ++2018-11-22 Uros Bizjak ++ ++ Backport from mainline ++ 2018-11-16 Uros Bizjak ++ ++ PR target/88051 ++ * config/i386/sse.md (UNSPEC_MOVDI_TO_SSE): New UNSPEC. ++ (movdi_to_sse): Rewrite using UNSPEC_MOVDI_TO_SSE unspec. ++ ++2018-11-20 Eric Botcazou ++ ++ PR rtl-optimization/85925 ++ * rtl.h (word_register_operation_p): New predicate. ++ * combine.c (record_dead_and_set_regs_1): Only apply specific handling ++ for WORD_REGISTER_OPERATIONS targets to word_register_operation_p RTX. ++ * rtlanal.c (nonzero_bits1): Likewise. Adjust couple of comments. ++ (num_sign_bit_copies1): Likewise. ++ ++2018-11-19 Martin Liska ++ ++ PR gcov-profile/88045 ++ * coverage.c (coverage_begin_function): One can't relly on the ++ fact that function ends on the same line it starts or later. ++ ++2018-11-18 Uros Bizjak ++ ++ Backport from mainline ++ 2018-11-11 Uros Bizjak ++ ++ PR target/87928 ++ * config/i386/i386.h (STACK_BOUNDARY): Use TARGET_64BIT_MS_ABI ++ instead of (TARGET_64BIT && ix86_abi == MS_ABI). ++ * config/i386/darwin.h (STACK_BOUNDARY): Ditto. ++ * config/i386/cygming.h (STACK_BOUNDARY): Remove. ++ ++2018-11-16 Eric Botcazou ++ ++ * tree-switch-conversion.c (emit_case_decision_tree): Pass location ++ of switch statement to emit_case_nodes. ++ (do_jump_if_equal): Add LOC parameter and set it on the newly built ++ GIMPLE comparison statement. ++ (emit_cmp_and_jump_insns): Likewise. ++ (emit_case_nodes): Add LOC parameter and pass it to do_jump_if_equal ++ as well as recursive calls. ++ ++2018-11-15 Nathan Sidwell ++ ++ PR debug/88006 ++ PR debug/87462 ++ * dwarf2out.c (dwarf2out_finish): Apply resolve_addr to comdat ++ type list. ++ ++2018-11-14 Paul A. Clarke ++ ++ Backport from mainline ++ * config/rs6000/xmmintrin.h (_mm_extract_pi16): Fix for big-endian. ++ ++2018-11-14 Claudiu Zissulescu ++ ++ Backport from mainline ++ PR target/85968 ++ * config/arc/arc.c (arc_return_address_register): Fix ++ if-condition. ++ ++2018-11-14 Claudiu Zissulescu ++ ++ Backport from mainline ++ * config/arc/arc.h (FUNCTION_PROFILER): Redefine to empty. ++ * config/arc/elf.h (PROFILE_HOOK): Define. ++ * config/arc/linux.h (PROFILE_HOOK): Likewise. ++ ++2018-11-14 Claudiu Zissulescu ++ ++ Backport from mainline ++ * config/arc/arc.c (hwloop_optimize): Bailout when detecting a ++ jump table data in the text section. ++ ++2018-11-14 Claudiu Zissulescu ++ ++ Backport from mainline ++ * config/arc/arc.c (arc_eh_return_address_location): Repurpose it ++ to fit the eh_return pattern. ++ * config/arc/arc.md (eh_return): Define. ++ (VUNSPEC_ARC_EH_RETURN): Likewise. ++ * config/arc/arc-protos.h (arc_eh_return_address_location): Match ++ new implementation. ++ * config/arc/arc.h (EH_RETURN_HANDLER_RTX): Remove it. ++ ++2018-11-14 Claudiu Zissulescu ++ ++ Backport from mainline ++ 2018-09-17 Alexey Brodkin ++ ++ * config/arc/linux.h (LINK_EH_SPEC): Add missing space. ++ ++2018-11-14 Claudiu Zissulescu ++ ++ Backport from mainline ++ * config/arc/linux.h (CLEAR_INSN_CACHE): Define. ++ ++2018-11-11 Uros Bizjak ++ ++ Backport from mainline ++ 2018-11-04 Uros Bizjak ++ ++ PR middle-end/58372 ++ * cfgexpand.c (pass_expand::execute): Move the call to ++ finish_eh_generation in front of the call to expand_stack_alignment. ++ ++2018-11-07 Max Filippov ++ ++ Backport from mainline ++ 2018-11-05 Max Filippov ++ ++ * config/xtensa/uclinux.h (XTENSA_ALWAYS_PIC): Change to 0. ++ ++2018-11-05 Jakub Jelinek ++ ++ PR tree-optimization/87859 ++ * gimple-ssa-store-merging.c (struct merged_store_group): Add ++ first_nonmergeable_order member. ++ (merged_store_group::merged_store_group): Initialize them. ++ (imm_store_chain_info::coalesce_immediate_stores): Don't merge ++ stores with order >= first_nonmergeable_order. ++ Set merged_store->first_nonmergeable_order if we've skipped any ++ stores. Attempt to merge overlapping INTEGER_CST stores that ++ we would otherwise skip. ++ ++ PR sanitizer/87837 ++ * match.pd (X + Y < X): Don't optimize if TYPE_OVERFLOW_SANITIZED. ++ ++ Backported from mainline ++ 2018-10-20 Jakub Jelinek ++ ++ PR middle-end/87647 ++ * varasm.c (decode_addr_const): Handle COMPOUND_LITERAL_EXPR. ++ ++ 2018-10-19 Jakub Jelinek ++ ++ PR middle-end/85488 ++ PR middle-end/87649 ++ * omp-low.c (check_omp_nesting_restrictions): Diagnose ordered without ++ depend closely nested inside of loop with ordered clause with ++ a parameter. ++ ++2018-10-29 Richard Biener ++ ++ Backport from mainline ++ 2018-09-26 Richard Biener ++ ++ PR debug/87428 ++ PR debug/87362 ++ * tree-inline.c (expand_call_inline): When the location ++ of the call is UNKNOWN_LOCATION use DECL_SOURCE_LOCATION ++ or BUILTINS_LOCATION for the BLOCK_SOURCE_LOCATION of ++ the inserted BLOCK to make inlined_function_outer_scope_p ++ recognize it. ++ * dwarf2out.c (add_call_src_coords_attributes): Do not add ++ coords for reserved locations. ++ ++2018-10-28 Iain Sandoe ++ ++ Backport from mainline ++ 2018-08-22 Iain Sandoe ++ ++ PR bootstrap/81033 ++ PR target/81733 ++ PR target/52795 ++ * gcc/dwarf2out.c (FUNC_SECOND_SECT_LABEL): New. ++ (dwarf2out_switch_text_section): Generate a local label for the second ++ function sub-section and apply it as the second FDE start label. ++ * gcc/final.c (final_scan_insn_1): Emit second FDE label after the ++ second sub-section start. ++ ++2018-10-28 Iain Sandoe ++ ++ Backport from mainline ++ 2018-08-15 Iain Sandoe ++ ++ * config/darwin.c ++ (darwin_function_switched_text_sections): Delete. ++ * gcc/config/darwin.h ++ (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): Likewise. ++ ++2018-10-28 Iain Sandoe ++ ++ backport from mainline. ++ 2018-10-28 Iain Sandoe ++ ++ PR target/85669 ++ * config/rs6000/darwin.h (STACK_BOUNDARY): New. ++ (RS6000_STARTING_FRAME_OFFSET): Adjust to preserve 16byte alignment. ++ (STACK_DYNAMIC_OFFSET): Likewise. ++ ++2018-10-26 Bill Schmidt ++ ++ Backport from mainline ++ 2018-10-19 Bill Schmidt ++ ++ PR tree-optimization/87473 ++ * gimple-ssa-strength-reduction.c (record_phi_increments_1): For ++ phi arguments identical to the base expression of the phi ++ candidate, record a phi-adjust increment of zero minus the index ++ expression of the hidden basis. ++ (phi_incr_cost_1): For phi arguments identical to the base ++ expression of the phi candidate, the difference to compare against ++ the increment is zero minus the index expression of the hidden ++ basis, and there is no potential savings from replacing the (phi) ++ statement. ++ (ncd_with_phi): For phi arguments identical to the base expression ++ of the phi candidate, the difference to compare against the ++ increment is zero minus the index expression of the hidden basis. ++ (all_phi_incrs_profitable_1): For phi arguments identical to the ++ base expression of the phi candidate, the increment to be checked ++ for profitability is zero minus the index expression of the hidden ++ basis. ++ ++2018-10-25 Richard Biener ++ ++ PR tree-optimization/87665 ++ PR tree-optimization/87745 ++ * tree-vectorizer.h (get_earlier_stmt): Remove. ++ (get_later_stmt): Pick up UID from the original non-pattern stmt. ++ ++2018-10-24 Richard Biener ++ ++ PR tree-optimization/87665 ++ * tree-vect-data-refs.c (vect_preserves_scalar_order_p): Adjust ++ to reflect reality. ++ ++2018-10-23 Richard Biener ++ ++ PR tree-optimization/87700 ++ * tree-ssa-copy.c (set_copy_of_val): Fix change detection logic. ++ ++2018-10-19 Richard Biener ++ ++ PR middle-end/87645 ++ Backport from mainline ++ 2018-07-12 Richard Biener ++ ++ * tree-ssa-sccvn.c (mprts_hook_cnt): Remove. ++ (vn_lookup_simplify_result): Remove recursion limit applied ++ here. ++ (vn_nary_build_or_lookup_1): Adjust. ++ (try_to_simplify): Likewise. ++ * gimple-match-head.c (gimple_resimplify1): Instead apply one ++ here. ++ (gimple_resimplify2): Likewise. ++ (gimple_resimplify3): Likewise. ++ (gimple_resimplify4): Likewise. ++ ++2018-10-19 Andreas Krebbel ++ ++ Backport from mainline ++ 2018-10-15 Andreas Krebbel ++ ++ * config/s390/s390.c (s390_expand_vec_init): Force vector element ++ into reg if it isn't a general operand. ++ ++2018-10-18 Richard Biener ++ ++ PR middle-end/87087 ++ Revert ++ 2018-02-07 Richard Biener ++ ++ PR tree-optimization/84204 ++ * tree-chrec.c (chrec_fold_plus_1): Remove size limiting in ++ this place. ++ ++2018-10-17 Eric Botcazou ++ ++ PR middle-end/87623 ++ * fold-const.c (fold_truth_andor_1): If the right side is not constant, ++ bail out if both sides do not have the same storage order. ++ ++2018-10-17 Richard Biener ++ ++ Backport from mainline ++ 2018-10-08 Richard Sandiford ++ ++ PR middle-end/63155 ++ * gimple-ssa-backprop.c (backprop::intersect_uses): Use ++ FOR_EACH_IMM_USE_FAST instead of FOR_EACH_IMM_USE_STMT. ++ ++2018-10-16 Richard Biener ++ ++ Backport from mainline ++ 2018-10-08 Richard Biener ++ ++ PR tree-optimization/63155 ++ * tree-ssa-propagate.c (add_ssa_edge): Do cheap check first. ++ (ssa_propagation_engine::ssa_propagate): Remove redundant ++ bitmap bit clearing. ++ ++ 2018-10-05 Richard Biener ++ ++ PR tree-optimization/63155 ++ * tree-ssa-ccp.c (ccp_propagate::visit_phi): Avoid excess ++ vertical space in dumpfiles. ++ * tree-ssa-propagate.h ++ (ssa_propagation_engine::process_ssa_edge_worklist): Remove. ++ * tree-ssa-propagate.c (cfg_blocks_back): New global. ++ (ssa_edge_worklist_back): Likewise. ++ (curr_order): Likewise. ++ (cfg_blocks_get): Remove abstraction. ++ (cfg_blocks_add): Likewise. ++ (cfg_blocks_empty_p): Likewise. ++ (add_ssa_edge): Add to current or next worklist based on ++ RPO index. ++ (add_control_edge): Likewise. ++ (ssa_propagation_engine::process_ssa_edge_worklist): Fold ++ into ... ++ (ssa_propagation_engine::ssa_propagate): ... here. Unify ++ iteration from CFG and SSA edge worklist so we process ++ everything in RPO order, prioritizing forward progress ++ over iteration. ++ (ssa_prop_init): Allocate new worklists, do not dump ++ immediate uses. ++ (ssa_prop_fini): Free new worklists. ++ ++ 2018-09-24 Richard Biener ++ ++ PR tree-optimization/63155 ++ * tree-ssa-propagate.c (add_ssa_edge): Avoid adding PHIs to ++ the worklist when the edge of the respective argument isn't ++ executable. ++ ++2018-10-16 Wilco Dijkstra ++ ++ Backported from mainline ++ PR target/87511 ++ * config/aarch64/aarch64.c (aarch64_mask_and_shift_for_ubfiz_p): ++ Use HOST_WIDE_INT_1U for shift. ++ ++2018-10-16 Richard Biener ++ ++ Backport from mainline ++ 2018-09-18 Richard Biener ++ ++ PR middle-end/63155 ++ * tree-ssa-coalesce.c (tree_int_map_hasher): Remove. ++ (compute_samebase_partition_bases): Likewise. ++ (coalesce_ssa_name): Always use compute_optimized_partition_bases. ++ (gimple_can_coalesce_p): Simplify. ++ ++2018-10-16 Richard Biener ++ ++ Backport from mainline ++ 2018-10-15 Richard Biener ++ ++ PR middle-end/87610 ++ * tree-ssa-structalias.c (struct vls_data): Add escaped_p member. ++ (visit_loadstore): When a used restrict tag escaped verify that ++ the points-to solution of "other" pointers do not include ++ escaped. ++ (compute_dependence_clique): If a used restrict tag escaped ++ communicated that down to visit_loadstore. ++ ++ 2018-10-01 Richard Biener ++ ++ PR tree-optimization/87465 ++ * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Fix typo ++ causing branch miscounts. ++ ++2018-10-11 Jakub Jelinek ++ ++ Backported from mainline ++ 2018-10-10 Jakub Jelinek ++ ++ PR target/87550 ++ * config/i386/i386-builtin.def (IX86_BUILTIN_RDPMC): Move from args set ++ to special_args set. ++ ++ 2018-09-26 Jakub Jelinek ++ ++ PR target/87414 ++ * config/i386/i386.c: Include debug.h and dwarf2out.h. ++ (output_indirect_thunk): Emit DW_CFA_def_cfa_offset after the ++ call. ++ ++ 2018-09-12 Jakub Jelinek ++ Andreas Krebbel ++ ++ PR tree-optimization/86844 ++ * gimple-ssa-store-merging.c ++ (imm_store_chain_info::coalesce_immediate): For overlapping stores, if ++ there are any overlapping stores in between them, make sure they are ++ also coalesced or we give up completely. ++ ++2018-10-09 Will Schmidt ++ ++ Backport from trunk. ++ 2018-09-06 Will Schmidt ++ ++ PR target/86731 ++ * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Update logic ++ around folding of vec_sl to handle out of range shift values. ++ ++2018-10-09 H.J. Lu ++ ++ Backport from mainline ++ 2018-09-29 H.J. Lu ++ ++ PR target/87370 ++ * config/i386/i386.c (construct_container): Use TImode for ++ BLKmode values in 2 integer registers. ++ ++2018-10-08 H.J. Lu ++ ++ Backport from mainline ++ 2018-10-08 H.J. Lu ++ ++ PR target/87517 ++ * config/i386/avx512fintrin.h (_mm512_mask_fmaddsub_round_pd): ++ Defined with __builtin_ia32_vfmaddsubpd512_mask. ++ ++2018-10-05 H.J. Lu ++ ++ Backport from mainline ++ 2018-10-05 H.J. Lu ++ ++ PR target/87522 ++ * config/i386/gnu-user.h (ASM_SPEC): Don't pass -msse2avx to ++ assembler for -mavx. ++ * config/i386/gnu-user64.h (ASM_SPEC): Likewise. ++ ++2018-10-03 Uros Bizjak ++ ++ Backport from mainline ++ 2018-09-28 Uros Bizjak ++ ++ * config/i386/i386.h (SSE_REGNO): Fix check for FIRST_REX_SSE_REG. ++ (GET_SSE_REGNO): Rename from SSE_REGNO. Update all uses for rename. ++ ++2018-10-03 Jonathan Wakely ++ ++ PR other/87353 ++ * doc/invoke.texi (Link Options): Fix formatting and grammar. ++ ++2018-10-03 Martin Liska ++ ++ Backport from mainline ++ 2018-10-03 Martin Liska ++ ++ PR gcov-profile/86109 ++ * coverage.c (coverage_begin_function): Do not ++ mark lambdas as artificial. ++ * tree-core.h (struct GTY): Remove tm_clone_flag ++ and introduce new lambda_function. ++ * tree.h (DECL_LAMBDA_FUNCTION): New macro. ++ ++2018-10-02 H.J. Lu ++ ++ Backport from mainline ++ 2018-09-24 H.J. Lu ++ ++ PR target/82699 ++ * config/i386/i386.c (rest_of_insert_endbranch): Set ++ endbr_queued_at_entrance to true and don't insert ENDBR if ++ x86_function_profiler will be called. ++ (x86_function_profiler): Insert ENDBR if endbr_queued_at_entrance ++ is true. ++ * config/i386/i386.h (machine_function): Add ++ endbr_queued_at_entrance. ++ ++2018-10-01 Kyrylo Tkachov ++ ++ Backport from mainline ++ 2018-06-29 Kyrylo Tkachov ++ ++ * config/arm/arm.c (output_move_double): Don't allow STRD instructions ++ if starting source register is not even. ++ ++2018-09-29 Jakub Jelinek ++ ++ PR target/87467 ++ * config/i386/avx512fintrin.h (_mm512_abs_pd, _mm512_mask_abs_pd): Use ++ __m512d type for __A argument rather than __m512. ++ ++2018-09-27 Michael Meissner ++ ++ Backport from mainline ++ 2018-08-20 Michael Meissner ++ ++ PR target/87033 ++ * config/rs6000/rs6000.md (extendsi2): Change constraints ++ from 'Y' to 'YZ' to enable the LWAX instruction to be generated ++ for indexed loads. ++ ++2018-09-25 Martin Liska ++ ++ Backport from mainline ++ 2018-09-24 Martin Liska ++ ++ PR sanitizer/85774 ++ * asan.c: Make asan_handled_variables extern. ++ * asan.h: Likewise. ++ * cfgexpand.c (expand_stack_vars): Make sure ++ a representative is unpoison if another ++ variable in the partition is handled by ++ use-after-scope sanitization. ++ ++2018-09-24 Andrew Pinski ++ ++ * config/aarch64/aarch64.c (aarch_macro_fusion_pair_p): Don't ++ access prev before checking it for NULLness in the ++ AARCH64_FUSE_CMP_BRANCH case. ++ ++2018-09-21 Eric Botcazou ++ ++ * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Return false ++ if the call takes a static chain. ++ ++2018-09-19 John David Anglin ++ ++ * config/pa/pa.md (atomic_storeqi): Restore deleted expander. ++ (atomic_storehi): Likewise. ++ (atomic_storesi): Likewise. ++ (atomic_loaddi): Restore compare and swap exchange loop code. ++ ++2018-09-18 Segher Boessenkool ++ ++ Backport from trunk ++ 2018-09-18 Segher Boessenkool ++ ++ PR rtl-optimization/86882 ++ * rtlanal.c (reg_overlap_mentioned_p): Handle CLOBBER. ++ ++2018-09-18 Martin Liska ++ ++ Backport from mainline ++ 2018-09-17 Martin Liska ++ ++ PR gcov-profile/85871 ++ * gcov.c (output_intermediate_file): Fix out of bounds ++ access. ++ ++2018-09-16 Hans-Peter Nilsson ++ ++ PR target/85666 ++ * config/mmix/mmix.c (mmix_assemble_integer): Handle byte-size ++ non-CONST_INT rtx:es using assemble_integer_with_op ".byte". ++ (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS): Don't call ++ leaf_function_p, instead use has_hard_reg_initial_val. ++ ++2018-09-14 John David Anglin ++ ++ PR middle-end/87188 ++ * dojump.c (do_compare_and_jump): Canonicalize function pointers ++ when one operand is a function pointer. Use POINTER_TYPE_P and ++ FUNC_OR_METHOD_TYPE_P. ++ * expr.c (do_store_flag): Use POINTER_TYPE_P and FUNC_OR_METHOD_TYPE_P. ++ * fold-const.c (build_range_check): Likewise. ++ * match.pd (simple_comparison): Likewise. ++ ++2018-09-14 Segher Boessenkool ++ ++ Backport from trunk ++ 2018-09-14 Segher Boessenkool ++ ++ PR target/87224 ++ * config/rs6000/rs6000.md (*mov_hardfloat64): Add Z to the Y ++ alternatives. ++ ++2018-09-14 Carl Love ++ ++ Backport from trunk ++ 2018-09-14 Carl Love ++ ++ * config/rs6000/emmintrin.h: Add _MM_SHUFFLE2. ++ * config/rs6000/xmmintrin.h: Add _MM_SHUFFLE. ++ ++2018-09-12 Segher Boessenkool ++ ++ Backport from trunk ++ 2018-08-24 Segher Boessenkool ++ ++ PR target/86989 ++ * config/rs6000/rs6000.c (toc_relative_expr_p): Check that the base is ++ the TOC register. ++ ++2018-09-12 Segher Boessenkool ++ ++ Backport from trunk ++ 2018-08-22 Segher Boessenkool ++ ++ PR rtl-optimization/86771 ++ * combine.c (try_combine): Do not allow splitting a resulting PARALLEL ++ of two SETs into those two SETs, one to be placed at i2, if that SETs ++ destination is modified between i2 and i3. ++ ++2018-09-12 Andreas Krebbel ++ ++ Backport from mainline ++ 2018-09-12 Andreas Krebbel ++ ++ * config/s390/s390.md (PFPO_RND_MODE_DFP, PFPO_RND_MODE_BFP): New ++ constants. ++ ("trunc2") ++ ("trunc2") ++ ("extend2") ++ ("extend2"): Set proper rounding mode ++ according to the target operand type. ++ ++2018-09-12 Jakub Jelinek ++ ++ PR middle-end/87248 ++ * fold-const.c (fold_ternary_loc) : Verify also that ++ BIT_AND_EXPR's second operand is a power of two. Formatting fix. ++ ++2018-09-05 Nathan Sidwell ++ ++ PR c++/87137 ++ * stor-layout.c (place_field): Scan forwards to check last ++ bitfield when ms_bitfield_placement is in effect. ++ ++2018-09-05 Richard Biener ++ ++ PR bootstrap/87225 ++ * tree-vect-stmts.c (vectorizable_simd_clone_call): Fix bogus ++ return. ++ ++2018-09-05 Jakub Jelinek ++ ++ Backported from mainline ++ 2018-09-04 Jakub Jelinek ++ ++ PR target/87198 ++ * common/config/i386/i386-common.c (OPTION_MASK_ISA_XSAVEOPT_SET, ++ OPTION_MASK_ISA_XSAVES_SET, OPTION_MASK_ISA_XSAVEC_SET): Use ++ OPTION_MASK_ISA_XSAVE_SET instead of OPTION_MASK_ISA_XSAVE. ++ (OPTION_MASK_ISA_XSAVE_UNSET): Add OPTION_MASK_ISA_XSAVES_UNSET ++ and OPTION_MASK_ISA_XSAVEC_UNSET. ++ ++ 2018-08-31 Jakub Jelinek ++ ++ PR middle-end/87138 ++ * expmed.c (expand_mult_const): Use immed_wide_int_const instead of ++ gen_int_mode. Formatting fixes. ++ ++ 2018-08-11 Jakub Jelinek ++ ++ PR tree-optimization/86835 ++ * tree-ssa-math-opts.c (insert_reciprocals): Even when inserting ++ new_stmt after def_gsi, make sure to insert new_square_stmt after ++ that stmt, not 2 stmts before it. ++ ++2018-09-04 Max Filippov ++ ++ Backport from mainline ++ 2018-09-04 Max Filippov ++ ++ * config/xtensa/xtensa.c (xtensa_expand_atomic): Reorder AND and ++ XOR operations in NAND case. ++ ++2018-09-04 Jonathan Wakely ++ ++ * doc/invoke.texi (Option Summary): Add -Waligned-new. ++ ++2018-09-03 Tom de Vries ++ ++ backport from trunk: ++ 2018-06-21 Tom de Vries ++ ++ PR tree-optimization/85859 ++ * tree-ssa-tail-merge.c (stmt_local_def): Copy gimple_is_call ++ test with comment from bb_no_side_effects_p. ++ ++2018-09-01 Michael Matz ++ ++ Backport from mainline ++ PR tree-optimization/87074 ++ * gimple-loop-jam.c (unroll_jam_possible_p): Check loop exit ++ PHIs for outer-loop uses. ++ ++2018-08-31 Richard Biener ++ ++ Backport from mainline ++ 2018-08-27 Richard Biener ++ ++ PR tree-optimization/86927 ++ * tree-vect-loop.c (vect_create_epilog_for_reduction): Properly ++ use const cond reduction code. ++ ++ 2018-08-23 Richard Biener ++ ++ PR middle-end/87024 ++ * tree-inline.c (copy_bb): Drop unused __builtin_va_arg_pack_len ++ calls. ++ ++ 2018-08-22 Richard Biener ++ ++ PR tree-optimization/86945 ++ * tree-cfg.c (generate_range_test): Use unsigned arithmetic. ++ ++ 2018-08-17 Richard Biener ++ ++ PR middle-end/86505 ++ * tree-inline.c (copy_bb): When inlining __builtin_va_arg_pack_len () ++ across a va-arg-pack using call adjust its return value accordingly. ++ ++ 2018-08-02 Richard Biener ++ ++ PR tree-optimization/86816 ++ * tree-ssa-tail-merge.c (tail_merge_valueize): New function ++ which checks for value availability before querying it. ++ (gvn_uses_equal): Use it. ++ (same_succ_hash): Likewise. ++ (gimple_equal_p): Likewise. ++ ++ 2018-07-17 Richard Biener ++ ++ PR lto/86456 ++ * dwarf2out.c (init_sections_and_labels): Always generate ++ a debug_line_str_section for early LTO debug. ++ (dwarf2out_finish): Reset debug_line_str_hash output early. ++ Bump counter for extra dwarf5 .debug_loc labels to not conflict ++ with fat LTO part. ++ (dwarf2out_early_finish): Output debug_line_str. ++ ++2018-08-29 Luis Machado ++ ++ * config/aarch64/aarch64.c (qdf24xx_vector_cost): New static global. ++ (qdf24xx_tunings): Set vector cost structure to qdf24xx_vector_cost. ++ ++2018-08-29 Luis Machado ++ ++ * config/aarch64/aarch64.c (qdf24xx_addrcost_table) ++ : Set to 3. ++ ++2018-08-27 Martin Sebor ++ ++ PR tree-optimization/86914 ++ * tree-ssa-strlen.c (maybe_set_strlen_range): Avoid MEM_REF. ++ ++2018-08-28 Jakub Jelinek ++ ++ PR middle-end/87099 ++ * calls.c (maybe_warn_nonstring_arg): Punt early if ++ warn_stringop_overflow is zero. Don't call get_range_strlen ++ on 3rd argument, keep iterating until lenrng[1] is INTEGER_CST. ++ Only use lenrng[1] if non-NULL and INTEGER_CST. Don't uselessly ++ increment lenrng[0]. ++ ++2018-08-27 Jakub Jelinek ++ ++ PR rtl-optimization/87065 ++ * combine.c (simplify_if_then_else): Formatting fix. ++ (if_then_else_cond): Guard MULT optimization with SCALAR_INT_MODE_P ++ check. ++ (known_cond): Don't return const_true_rtx for vector modes. Use ++ CONST0_RTX instead of const0_rtx. Formatting fixes. ++ ++2018-08-25 Jozef Lawrynowicz ++ ++ Backport from mainline ++ PR target/86662 ++ * gcc/tree.c (build_common_tree_nodes): Initialize integer_types array ++ with all enabled __intN types. ++ ++ * gcc/testsuite/gcc.target/msp430/pr86662.c: New test. ++ ++2018-08-21 H.J. Lu ++ ++ Backport from mainline ++ 2018-08-20 H.J. Lu ++ ++ PR target/87014 ++ * config/i386/i386.md (eh_return): Always update EH return ++ address in word_mode. ++ ++2018-08-17 John David Anglin ++ ++ Backport from mainline ++ 2018-08-11 John David Anglin ++ ++ * config/pa/pa.md (UNSPEC_MEMORY_BARRIER): New unspec enum. ++ Update comment for atomic instructions. ++ (atomic_storeqi, atomic_storehi, atomic_storesi, atomic_storesf, ++ atomic_loaddf, atomic_loaddf_1, atomic_storedf, atomic_storedf_1): ++ Remove. ++ (atomic_loaddi): Revise fence expansion to only emit fence prior to ++ load for __ATOMIC_SEQ_CST model. ++ (atomic_loaddi_1): Remove float register target. ++ (atomic_storedi): Handle CONST_INT values. ++ (atomic_storedi_1): Remove float register source. Add special case ++ for zero value. ++ (memory_barrier): New expander and insn. ++ ++2018-08-16 Tamar Christina ++ ++ Backport from mainline ++ 2018-07-30 Segher Boessenkool ++ ++ PR target/86640 ++ * config/arm/arm.c (arm_block_set_aligned_vect): Use gen_int_mode ++ instead of GEN_INT. ++ ++2018-08-16 Martin Liska ++ ++ Backport from mainline ++ 2018-08-02 Martin Liska ++ ++ PR gcov-profile/86817 ++ * gcov.c (process_all_functions): New function. ++ (main): Call it. ++ (process_file): Move functions processing to ++ process_all_functions. ++ ++2018-08-14 Siddhesh Poyarekar ++ ++ Backport from mainline ++ 2018-08-03 Siddhesh Poyarekar ++ ++ * config/aarch64/falkor.md (falkor_am_1_vxvy_vxvy): Move ++ neon_dup_q to... ++ (falkor_am_1_gtov_gtov): ... a new insn reservation. ++ ++2018-08-13 Liu Hao ++ ++ Backport from mainline ++ 2018-08-13 Liu Hao ++ ++ * pretty-print.c (eat_esc_sequence): Swap the foreground and ++ background colors if the COMMON_LVB_REVERSE_VIDEO flag is set, ++ and clear it thereafter, as it only works for DBCS. ++ ++2018-08-13 Liu Hao ++ ++ Backport from mainline ++ 2018-08-13 Liu Hao ++ ++ * pretty-print.c (mingw_ansi_fputs): Do not call _close() on the ++ handle returned by _get_osf_handle(). ++ ++2018-08-14 Richard Sandiford ++ ++ Backport from mainline ++ 2018-08-09 Richard Sandiford ++ ++ PR tree-optimization/86871 ++ * tree-vect-stmts.c (vect_transform_stmt): Use gimple_get_lhs ++ instead of gimple_assign_lhs. ++ ++2018-08-07 H.J. Lu ++ ++ Backport from mainline ++ 2018-08-05 H.J. Lu ++ ++ PR target/86386 ++ * config/i386/i386.c (ix86_finalize_stack_frame_flags): Set ++ cfun->machine->max_used_stack_alignment if needed. ++ ++2018-08-02 Jozef Lawrynowicz ++ ++ Backport from mainline ++ 2018-07-31 Jozef Lawrynowicz ++ ++ PR middle-end/86705 ++ * gcc/cfgexpand.c (set_parm_rtl): Use the alignment of Pmode when ++ MAX_SUPPORTED_STACK_ALIGNMENT would otherwise be exceeded by the ++ requested variable alignment. ++ (expand_one_ssa_partition): Likewise. ++ (expand_one_var): Likewise. ++ ++2018-08-02 Andreas Schwab ++ ++ Backport from mainline ++ 2018-07-17 Andreas Schwab ++ ++ PR target/86820 ++ * config/m68k/m68k.md (umulsi3_highpart+1, const_umulsi3_highpart) ++ (smulsi3_highpart+1, const_smulsi3_highpart): Add CC_STATUS_INIT. ++ ++2018-08-01 Richard Biener ++ ++ PR bootstrap/86724 ++ * graphite.h: Include isl/id.h and isl/space.h to allow build ++ with ISL 0.20. ++ ++2018-08-01 Jan Willem Jagersma ++ ++ PR target/86651 ++ * dwarf2out.c (dwarf2out_early_finish): Do not generate assembly in LTO ++ mode for COFF targets. ++ * defaults.h (TARGET_COFF): Define. ++ * config/i386/djgpp.h (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END, ++ TARGET_COFF): Define. ++ (i386_djgpp_asm_lto_start, i386_djgpp_asm_lto_end): Declare. ++ * config/i386/djgpp.c (saved_debug_info_level): New static variable. ++ (i386_djgpp_asm_lto_start, i386_djgpp_asm_lto_end): New functions. ++ ++2018-07-29 Bernd Edlinger ++ ++ Backport from mainline ++ 2018-07-23 Bernd Edlinger ++ ++ PR c/86617 ++ * genmatch.c (dt_operand::gen_match_op): Avoid folding volatile values. ++ ++2018-07-29 John David Anglin ++ ++ * config/pa/pa.c (pa_output_addr_vec): Align address table. ++ * config/pa/pa.h (JUMP_TABLES_IN_TEXT_SECTION): Revise comment. ++ * config/pa/pa32-linux.h (JUMP_TABLES_IN_TEXT_SECTION): Define. ++ ++2018-07-26 Uros Bizjak ++ ++ Backport from mainline ++ 2018-07-16 Uros Bizjak ++ ++ PR target/86511 ++ * expmed.c (emit_store_flag): Do not emit setcc followed by a ++ conditional move when trapping comparison was split to a ++ non-trapping one (and vice versa). ++ ++2018-07-26 Jakub Jelinek ++ ++ Backported from mainline ++ 2018-07-24 Jakub Jelinek ++ ++ PR middle-end/86627 ++ * expmed.c (expand_divmod): Punt if d == HOST_WIDE_INT_MIN ++ and size > HOST_BITS_PER_WIDE_INT. For size > HOST_BITS_PER_WIDE_INT ++ and abs_d == d, do the power of two handling if profitable. ++ ++ 2018-07-17 Jakub Jelinek ++ ++ PR middle-end/86542 ++ * omp-low.c (create_task_copyfn): Copy over also fields corresponding ++ to _looptemp_ clauses, other than the first two. ++ ++ PR middle-end/86539 ++ * gimplify.c (gimplify_omp_for): Ensure taskloop firstprivatized init ++ and cond temporaries don't have reference type if iterator has ++ pointer type. For init use &for_pre_body instead of pre_p if ++ for_pre_body is non-empty. ++ ++2018-07-26 Jakub Jelinek ++ ++ PR middle-end/86660 ++ * omp-low.c (scan_sharing_clauses): Don't ignore map clauses for ++ declare target to variables if they have always,{to,from,tofrom} map ++ kinds. ++ + 2018-07-26 Release Manager + + * GCC 8.2.0 released. +@@ -647,8 +2848,8 @@ + + 2018-06-11 Jason Merrill + +- PR c++/80485 - inline function non-zero address. +- * symtab.c (nonzero_address): Check DECL_COMDAT. ++ PR c++/80485 - inline function non-zero address. ++ * symtab.c (nonzero_address): Check DECL_COMDAT. + + 2018-06-11 Peter Bergner + +@@ -941,7 +3142,7 @@ + Backport from mainline + 2018-05-11 Martin Liska + +- PR sanitizer/85556 ++ PR sanitizer/85556 + * doc/extend.texi: Document LLVM style format for no_sanitize + attribute. + +@@ -1369,9 +3570,9 @@ + + 2018-04-20 Carl Love + +- PR target/83402 +- * config/rs6000/rs6000-c.c (rs6000_gimple_fold_builtin): Add +- size check for arg0. ++ PR target/83402 ++ * config/rs6000/rs6000-c.c (rs6000_gimple_fold_builtin): Add ++ size check for arg0. + + 2018-04-20 Nathan Sidwell + Tom de Vries +@@ -1733,7 +3934,7 @@ + PR ipa/85329 + * multiple_target.c (create_dispatcher_calls): Set apostrophes + for target_clone error message. Make default implementation +- clone to be a local declaration. ++ clone to be a local declaration. + (separate_attrs): Add new argument and check for an empty + string. + (expand_target_clones): Handle it. +@@ -1835,7 +4036,7 @@ + * cfgloopanal.c (expected_loop_iterations_unbounded): Add + by_profile_only parameter. + * cfgloopmanip.c (scale_loop_profile): Further scale loop's profile +- information if the loop was predicted to iterate too many times. ++ information if the loop was predicted to iterate too many times. + * cfgloop.h (expected_loop_iterations_unbounded): Update prototype + + 2018-04-13 Jan Hubicka +@@ -4949,7 +7150,7 @@ + + 2018-02-26 Ramana Radhakrishnan + +- PR target/84521 ++ PR target/84521 + * common/config/aarch64/aarch64-common.c + (aarch_option_optimization_table[]): Switch + off fomit-frame-pointer +@@ -5614,7 +7815,7 @@ + + 2018-02-13 Jeff Law + +- * config/rl/rl78.c (rl78_attribute_table): Fix terminator and ++ * config/rl/rl78.c (rl78_attribute_table): Fix terminator and + entry for "vector". + + * config/rl78/rl78.c (rl78_handle_func_attribute): Mark +Index: gcc/testsuite/jit.dg/test-long-names.c +=================================================================== +--- a/src/gcc/testsuite/jit.dg/test-long-names.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/jit.dg/test-long-names.c (.../branches/gcc-8-branch) +@@ -24,7 +24,7 @@ + int i; + + /* Begin with the given prefix: */ +- sprintf (buffer, prefix); ++ sprintf (buffer, "%s", prefix); + + /* Populate the rest of the buffer with 0123456789 repeatedly: */ + for (i = strlen (prefix); i < NAME_LENGTH - 1; i++) +Index: gcc/testsuite/gcc.target/powerpc/pr87496-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/pr87496-2.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/pr87496-2.c (.../branches/gcc-8-branch) +@@ -0,0 +1,9 @@ ++/* PR target/87496 */ ++/* { dg-do compile { target { powerpc*-*-* } } } */ ++/* { dg-skip-if "" { powerpc*-*-darwin* } } */ ++/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power7" } } */ ++/* { dg-options "-O2 -mcpu=power7 -mabi=ieeelongdouble -mlong-double-64 -Wno-psabi" } */ ++ ++int i; ++ ++/* { dg-error "'-mabi=ieeelongdouble' requires '-mlong-double-128'" "PR87496" { target *-*-* } 0 } */ +Index: gcc/testsuite/gcc.target/powerpc/pr86731-nogimplefold.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/pr86731-nogimplefold.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/pr86731-nogimplefold.c (.../branches/gcc-8-branch) +@@ -0,0 +1,63 @@ ++/* PR86731. Verify that the rs6000 gimple-folding code handles the ++ left shift operation properly. This is a testcase variation that ++ explicitly disables gimple folding. */ ++ ++/* { dg-do compile } */ ++/* { dg-require-effective-target powerpc_altivec_ok } */ ++/* { dg-require-effective-target lp64 } */ ++/* { dg-options "-maltivec -O3 -fwrapv -mno-fold-gimple" } */ ++/* { dg-prune-output "gimple folding of rs6000 builtins has been disabled." } */ ++ ++ ++#include ++/* original test as reported. */ ++vector unsigned int splat(void) ++{ ++ vector unsigned int mzero = vec_splat_u32(-1); ++ return (vector unsigned int) vec_sl(mzero, mzero); ++} ++ ++/* more testcase variations. */ ++vector unsigned char splatu1(void) ++{ ++ vector unsigned char mzero = vec_splat_u8(-1); ++ return (vector unsigned char) vec_sl(mzero, mzero); ++} ++ ++vector unsigned short splatu2(void) ++{ ++ vector unsigned short mzero = vec_splat_u16(-1); ++ return (vector unsigned short) vec_sl(mzero, mzero); ++} ++ ++vector unsigned int splatu3(void) ++{ ++ vector unsigned int mzero = vec_splat_u32(-1); ++ return (vector unsigned int) vec_sl(mzero, mzero); ++} ++ ++vector signed char splats1(void) ++{ ++ vector unsigned char mzero = vec_splat_u8(-1); ++ return (vector signed char) vec_sl(mzero, mzero); ++} ++ ++vector signed short splats2(void) ++{ ++ vector unsigned short mzero = vec_splat_u16(-1); ++ return (vector signed short) vec_sl(mzero, mzero); ++} ++ ++vector signed int splats3(void) ++{ ++ vector unsigned int mzero = vec_splat_u32(-1); ++ return (vector signed int) vec_sl(mzero, mzero); ++} ++ ++/* Codegen will consist of splat and shift instructions for most types. ++ Noted variations: if gimple folding is disabled, or if -fwrapv is not specified, the ++ long long tests will generate a vspltisw+vsld pair, versus generating a lvx. */ ++/* { dg-final { scan-assembler-times {\mvspltis[bhw]\M|\mxxspltib\M} 7 } } */ ++/* { dg-final { scan-assembler-times {\mvsl[bhwd]\M} 7 } } */ ++/* { dg-final { scan-assembler-times {\mlvx\M} 0 } } */ ++ +Index: gcc/testsuite/gcc.target/powerpc/pr87033.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/pr87033.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/pr87033.c (.../branches/gcc-8-branch) +@@ -0,0 +1,12 @@ ++/* { dg-do compile { target { powerpc*-*-* && lp64 } } } */ ++/* { dg-options "-O2" } */ ++ ++/* Insure that a LWAX is generated instead of ADD + LWA. LP64 is needed ++ because the LWA and LWAX instructions are only available in 64-bit mode. */ ++long func (int *p, unsigned long n) ++{ ++ return p[n]; ++} ++ ++/* { dg-final { scan-assembler {\mlwax\M} } } */ ++/* { dg-final { scan-assembler-not {\mlwa\M} } } */ +Index: gcc/testsuite/gcc.target/powerpc/pr58673-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/pr58673-2.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/pr58673-2.c (.../branches/gcc-8-branch) +@@ -140,7 +140,7 @@ + malloc + (__len); + __retval;} +- )): __strdup (eoNames[i]))); ++ )): strdup (eoNames[i]))); + raleg[j++] = + (__extension__ + (__builtin_constant_p (buf) +@@ -165,7 +165,7 @@ + malloc + (__len); + __retval;} +- )): __strdup (buf))); ++ )): strdup (buf))); + } + } + if (tcr->nLJ) +Index: gcc/testsuite/gcc.target/powerpc/altivec_vld_vst_addr-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/altivec_vld_vst_addr-2.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/altivec_vld_vst_addr-2.c (.../branches/gcc-8-branch) +@@ -0,0 +1,92 @@ ++/* { dg-require-effective-target powerpc_vsx_ok } */ ++/* { dg-options "-mvsx" } */ ++ ++/* Note that vector long long and vector double type require vsx support. */ ++ ++/* Test vec_ld and vec_st can support both scalar and vector ++ type address points, the list is: ++ - address of unsigned long long ++ - address of signed long long ++ - address of double ++ - address of vector unsigned long long ++ - address of vector signed long long ++ - address of vector double */ ++#include ++ ++/* Test vec_ld can allow scalar and vector type address. */ ++ ++vector unsigned long long ++test_vld_scalar_ul (const unsigned long long *address) ++{ ++ return __builtin_vec_ld (0, address); ++} ++ ++vector signed long long ++test_vld_scalar_sl (const signed long long *address) ++{ ++ return __builtin_vec_ld (0, address); ++} ++ ++vector double ++test_vld_scalar_d (const double *address) ++{ ++ return __builtin_vec_ld (0, address); ++} ++ ++vector unsigned long long ++test_vld_vector_ul (const vector unsigned long long *address) ++{ ++ return __builtin_vec_ld (0, address); ++} ++ ++vector signed long long ++test_vld_vector_sl (const vector signed long long *address) ++{ ++ return __builtin_vec_ld (0, address); ++} ++ ++vector double ++test_vld_vector_d (const vector double *address) ++{ ++ return __builtin_vec_ld (0, address); ++} ++ ++/* Test vec_st can allow scalar and vector type address. */ ++ ++void ++test_vst_scalar_ul (vector unsigned long long v, unsigned long long *address) ++{ ++ __builtin_vec_st (v, 0, address); ++} ++ ++void ++test_vst_scalar_sl (vector signed long long v, signed long long *address) ++{ ++ __builtin_vec_st (v, 0, address); ++} ++ ++void ++test_vst_scalar_d (vector double v, double *address) ++{ ++ __builtin_vec_st (v, 0, address); ++} ++ ++void ++test_vst_vector_ul (vector unsigned long long v, ++ vector unsigned long long *address) ++{ ++ __builtin_vec_st (v, 0, address); ++} ++ ++void ++test_vst_vector_sl (vector signed long long v, vector signed long long *address) ++{ ++ __builtin_vec_st (v, 0, address); ++} ++ ++void ++test_vst_vector_d (vector double v, vector double *address) ++{ ++ __builtin_vec_st (v, 0, address); ++} ++ +Index: gcc/testsuite/gcc.target/powerpc/vec-extract-slong-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/vec-extract-slong-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/vec-extract-slong-1.c (.../branches/gcc-8-branch) +@@ -0,0 +1,27 @@ ++/* Test to verify that the vec_extract from a vector of ++ signed longs remains signed. */ ++/* { dg-do run } */ ++/* { dg-options "-ansi -mcpu=power8 " } */ ++/* { dg-require-effective-target p8vector_hw } */ ++/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */ ++ ++#include ++#include ++#include ++ ++int test1(signed long long int sl) { ++ ++ vector signed long long int v = vec_splats(sl); ++ ++ if (vec_extract (v, 0) > sl) ++ abort(); ++ return 0; ++} ++ ++int main() ++{ ++ test1 (0xf600000000000000LL); ++ test1 (0x7600000000000000LL); ++ test1 (0x0600000000000000LL); ++ return 0; ++} +Index: gcc/testsuite/gcc.target/powerpc/vec-extract-schar-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/vec-extract-schar-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/vec-extract-schar-1.c (.../branches/gcc-8-branch) +@@ -0,0 +1,29 @@ ++/* Test to verify that the vec_extract from a vector of ++ signed chars remains signed. */ ++/* { dg-do run } */ ++/* { dg-options "-ansi -mcpu=power8 " } */ ++/* { dg-require-effective-target p8vector_hw } */ ++/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */ ++ ++#include ++#include ++#include ++ ++int test1(signed char sc) { ++ int sce; ++ ++ vector signed char v = vec_splats(sc); ++ sce = vec_extract(v,0); ++ ++ if (sce != sc) ++ abort(); ++ return 0; ++} ++ ++int main() ++{ ++ test1 (0xf6); ++ test1 (0x76); ++ test1 (0x06); ++ return 0; ++} +Index: gcc/testsuite/gcc.target/powerpc/vec-extract-sint128-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/vec-extract-sint128-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/vec-extract-sint128-1.c (.../branches/gcc-8-branch) +@@ -0,0 +1,27 @@ ++/* Test to verify that the vec_extract from a vector of ++ signed __int128s remains signed. */ ++/* { dg-do run } */ ++/* { dg-options "-ansi -mcpu=power8 " } */ ++/* { dg-require-effective-target p8vector_hw } */ ++/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */ ++ ++#include ++#include ++#include ++ ++int test1(signed __int128 st) { ++ ++ vector signed __int128 v = vec_splats(st); ++ ++ if (vec_extract (v, 0) > st) ++ abort(); ++ return 0; ++} ++ ++int main() ++{ ++ test1 (((__int128) 0xf600000000000000LL) << 64); ++ test1 (((__int128) 0x7600000000000000LL) << 64); ++ test1 (((__int128) 0x0600000000000000LL) << 64); ++ return 0; ++} +Index: gcc/testsuite/gcc.target/powerpc/pr86731.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/pr86731.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/pr86731.c (.../branches/gcc-8-branch) +@@ -0,0 +1,61 @@ ++/* PR86731. Verify that the rs6000 gimple-folding code handles the ++ left shift properly. */ ++ ++/* { dg-do compile } */ ++/* { dg-require-effective-target powerpc_altivec_ok } */ ++/* { dg-require-effective-target lp64 } */ ++/* { dg-options "-maltivec -O3" } */ ++ ++#include ++/* The original test as reported. */ ++vector unsigned int splat(void) ++{ ++ vector unsigned int mzero = vec_splat_u32(-1); ++ return (vector unsigned int) vec_sl(mzero, mzero); ++} ++ ++/* more testcase variations. */ ++vector unsigned char splatu1(void) ++{ ++ vector unsigned char mzero = vec_splat_u8(-1); ++ return (vector unsigned char) vec_sl(mzero, mzero); ++} ++ ++vector unsigned short splatu2(void) ++{ ++ vector unsigned short mzero = vec_splat_u16(-1); ++ return (vector unsigned short) vec_sl(mzero, mzero); ++} ++ ++vector unsigned int splatu3(void) ++{ ++ vector unsigned int mzero = vec_splat_u32(-1); ++ return (vector unsigned int) vec_sl(mzero, mzero); ++} ++ ++vector signed char splats1(void) ++{ ++ vector unsigned char mzero = vec_splat_u8(-1); ++ return (vector signed char) vec_sl(mzero, mzero); ++} ++ ++vector signed short splats2(void) ++{ ++ vector unsigned short mzero = vec_splat_u16(-1); ++ return (vector signed short) vec_sl(mzero, mzero); ++} ++ ++vector signed int splats3(void) ++{ ++ vector unsigned int mzero = vec_splat_u32(-1); ++ return (vector signed int) vec_sl(mzero, mzero); ++} ++ ++/* Codegen will consist of splat and shift instructions for most types. ++ Noted variations: if gimple folding is disabled, or if -fwrapv is not ++ specified, the long long tests will generate a vspltisw+vsld pair, ++ versus generating a single lvx. */ ++/* { dg-final { scan-assembler-times {\mvspltis[bhw]\M|\mxxspltib\M} 7 } } */ ++/* { dg-final { scan-assembler-times {\mvsl[bhwd]\M} 7 } } */ ++/* { dg-final { scan-assembler-times {\mlvx\M} 0 } } */ ++ +Index: gcc/testsuite/gcc.target/powerpc/pr86731-longlong.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/pr86731-longlong.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/pr86731-longlong.c (.../branches/gcc-8-branch) +@@ -0,0 +1,29 @@ ++/* PR86731. Verify that the rs6000 gimple-folding code handles the ++ left shift properly. */ ++ ++/* { dg-do compile } */ ++/* { dg-require-effective-target powerpc_p8vector_ok } */ ++/* { dg-require-effective-target lp64 } */ ++/* { dg-options "-maltivec -O3 -mpower8-vector " } */ ++ ++#include ++ ++vector unsigned long long splatu4(void) ++{ ++ vector unsigned long long mzero = {-1,-1}; ++ return (vector unsigned long long) vec_sl(mzero, mzero); ++} ++vector signed long long splats4(void) ++{ ++ vector unsigned long long mzero = {-1,-1}; ++ return (vector signed long long) vec_sl(mzero, mzero); ++} ++ ++/* Codegen will consist of splat and shift instructions for most types. ++ Noted variations: if gimple folding is disabled, or if -fwrapv is not ++ specified, the long long tests will generate a vspltisw+vsld pair, ++ versus generating a single lvx. */ ++/* { dg-final { scan-assembler-times {\mvspltis[bhw]\M|\mxxspltib\M} 2 } } */ ++/* { dg-final { scan-assembler-times {\mvsl[bhwd]\M} 2 } } */ ++/* { dg-final { scan-assembler-times {\mlvx\M} 0 } } */ ++ +Index: gcc/testsuite/gcc.target/powerpc/vec-extract-sshort-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/vec-extract-sshort-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/vec-extract-sshort-1.c (.../branches/gcc-8-branch) +@@ -0,0 +1,29 @@ ++/* Test to verify that the vec_extract from a vector of ++ signed shorts remains signed. */ ++/* { dg-do run } */ ++/* { dg-options "-ansi -mcpu=power8 " } */ ++/* { dg-require-effective-target p8vector_hw } */ ++/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */ ++ ++#include ++#include ++#include ++ ++int test1(signed short ss) { ++ int sse; ++ ++ vector signed short v = vec_splats(ss); ++ sse = vec_extract(v,0); ++ ++ if (sse != ss) ++ abort(); ++ return 0; ++} ++ ++int main() ++{ ++ test1 (0xf600); ++ test1 (0x7600); ++ test1 (0x0600); ++ return 0; ++} +Index: gcc/testsuite/gcc.target/powerpc/pr88965.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/pr88965.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/pr88965.c (.../branches/gcc-8-branch) +@@ -0,0 +1,19 @@ ++/* PR target/88965 */ ++/* { dg-do compile } */ ++/* { dg-require-effective-target powerpc_vsx_ok } */ ++/* { dg-options "-O2 -mvsx" } */ ++ ++unsigned int a[16]; ++unsigned int __attribute__ ((vector_size (16))) b; ++ ++void ++foo (void) ++{ ++ b = __builtin_vec_vsx_ld (0, &a[0]); ++} ++ ++void ++bar (void) ++{ ++ __builtin_vec_vsx_st (b, 0, &a[0]); ++} +Index: gcc/testsuite/gcc.target/powerpc/vec-extract-ulong-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/vec-extract-ulong-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/vec-extract-ulong-1.c (.../branches/gcc-8-branch) +@@ -0,0 +1,27 @@ ++/* Test to verify that the vec_extract from a vector of ++ unsigned longs remains unsigned. */ ++/* { dg-do run } */ ++/* { dg-options "-ansi -mcpu=power8 " } */ ++/* { dg-require-effective-target p8vector_hw } */ ++/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */ ++ ++#include ++#include ++#include ++ ++int test1(unsigned long long int ul) { ++ ++ vector unsigned long long int v = vec_splats(ul); ++ ++ if (vec_extract (v, 0) < ul) ++ abort(); ++ return 0; ++} ++ ++int main() ++{ ++ test1 (0xf600000000000000LL); ++ test1 (0x7600000000000000LL); ++ test1 (0x0600000000000000LL); ++ return 0; ++} +Index: gcc/testsuite/gcc.target/powerpc/vec-extract-uchar-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/vec-extract-uchar-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/vec-extract-uchar-1.c (.../branches/gcc-8-branch) +@@ -0,0 +1,29 @@ ++/* Test to verify that the vec_extract from a vector of ++ unsigned chars remains unsigned. */ ++/* { dg-do run } */ ++/* { dg-options "-ansi -mcpu=power8 " } */ ++/* { dg-require-effective-target p8vector_hw } */ ++/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */ ++ ++#include ++#include ++#include ++ ++int test1(unsigned char uc) { ++ int uce; ++ ++ vector unsigned char v = vec_splats(uc); ++ uce = vec_extract(v,0); ++ ++ if (uce != uc) ++ abort(); ++ return 0; ++} ++ ++int main() ++{ ++ test1 (0xf6); ++ test1 (0x76); ++ test1 (0x06); ++ return 0; ++} +Index: gcc/testsuite/gcc.target/powerpc/vec-extract-sint-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/vec-extract-sint-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/vec-extract-sint-1.c (.../branches/gcc-8-branch) +@@ -0,0 +1,29 @@ ++/* Test to verify that the vec_extract from a vector of ++ signed ints remains signed. */ ++/* { dg-do run } */ ++/* { dg-options "-ansi -mcpu=power8 " } */ ++/* { dg-require-effective-target p8vector_hw } */ ++/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */ ++ ++#include ++#include ++#include ++ ++int test1(signed int si) { ++ long long int sie; ++ ++ vector signed int v = vec_splats(si); ++ sie = vec_extract(v,0); ++ ++ if (sie != si) ++ abort(); ++ return 0; ++} ++ ++int main() ++{ ++ test1 (0xf6000000); ++ test1 (0x76000000); ++ test1 (0x06000000); ++ return 0; ++} +Index: gcc/testsuite/gcc.target/powerpc/pr87496-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/pr87496-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/pr87496-1.c (.../branches/gcc-8-branch) +@@ -0,0 +1,10 @@ ++/* PR target/87496 */ ++/* { dg-do compile { target { powerpc*-*-* && lp64 } } } */ ++/* { dg-skip-if "" { powerpc*-*-darwin* } } */ ++/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power7" } } */ ++/* { dg-require-effective-target longdouble128 } */ ++/* { dg-options "-O2 -mcpu=power7 -mabi=ieeelongdouble -mno-popcntd -Wno-psabi" } */ ++ ++int i; ++ ++/* { dg-error "'-mabi=ieeelongdouble' requires full ISA 2.06 support" "PR87496" { target *-*-* } 0 } */ +Index: gcc/testsuite/gcc.target/powerpc/pr87496-3.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/pr87496-3.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/pr87496-3.c (.../branches/gcc-8-branch) +@@ -0,0 +1,8 @@ ++/* PR target/87496 */ ++/* { dg-do compile { target { powerpc*-*-* } } } */ ++/* { dg-skip-if "" { powerpc*-*-darwin* } } */ ++/* { dg-options "-O2 -mabi=ibmlongdouble -mlong-double-64 -Wno-psabi" } */ ++ ++int i; ++ ++/* { dg-error "'-mabi=ibmlongdouble' requires '-mlong-double-128'" "PR87496" { target *-*-* } 0 } */ +Index: gcc/testsuite/gcc.target/powerpc/altivec_vld_vst_addr-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/altivec_vld_vst_addr-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/altivec_vld_vst_addr-1.c (.../branches/gcc-8-branch) +@@ -0,0 +1,184 @@ ++/* { dg-require-effective-target powerpc_altivec_ok } */ ++/* { dg-options "-maltivec" } */ ++ ++/* Test vec_ld and vec_st can support both scalar and vector ++ type address points, the list is: ++ - address of unsigned char/short/int ++ - address of signed char/short/int ++ - address of float ++ - address of vector unsigned char/short/int ++ - address of vector signed char/short/int ++ - address of vector float */ ++#include ++ ++/* Test vec_ld can allow scalar and vector type address. */ ++vector unsigned char ++test_vld_scalar_uc (const unsigned char *address) ++{ ++ return __builtin_vec_ld (0, address); ++} ++ ++vector unsigned short ++test_vld_scalar_us (const unsigned short *address) ++{ ++ return __builtin_vec_ld (0, address); ++} ++ ++vector unsigned int ++test_vld_scalar_ui (const unsigned int *address) ++{ ++ return __builtin_vec_ld (0, address); ++} ++ ++vector signed char ++test_vld_scalar_sc (const signed char *address) ++{ ++ return __builtin_vec_ld (0, address); ++} ++ ++vector signed short ++test_vld_scalar_ss (const signed short *address) ++{ ++ return __builtin_vec_ld (0, address); ++} ++ ++vector signed int ++test_vld_scalar_si (const signed int *address) ++{ ++ return __builtin_vec_ld (0, address); ++} ++ ++vector float ++test_vld_scalar_f (const float *address) ++{ ++ return __builtin_vec_ld (0, address); ++} ++ ++vector unsigned char ++test_vld_vector_uc (const vector unsigned char *address) ++{ ++ return __builtin_vec_ld (0, address); ++} ++ ++vector unsigned short ++test_vld_vector_us (const vector unsigned short *address) ++{ ++ return __builtin_vec_ld (0, address); ++} ++ ++vector unsigned int ++test_vld_vector_ui (const vector unsigned int *address) ++{ ++ return __builtin_vec_ld (0, address); ++} ++ ++vector signed char ++test_vld_vector_sc (const vector signed char *address) ++{ ++ return __builtin_vec_ld (0, address); ++} ++ ++vector signed short ++test_vld_vector_ss (const vector signed short *address) ++{ ++ return __builtin_vec_ld (0, address); ++} ++ ++vector signed int ++test_vld_vector_si (const vector signed int *address) ++{ ++ return __builtin_vec_ld (0, address); ++} ++ ++vector float ++test_vld_vector_f (const vector float *address) ++{ ++ return __builtin_vec_ld (0, address); ++} ++ ++/* Test vec_st can allow scalar and vector type address. */ ++ ++void ++test_vst_scalar_uc (vector unsigned char v, unsigned char *address) ++{ ++ __builtin_vec_st (v, 0, address); ++} ++ ++void ++test_vst_scalar_us (vector unsigned short v, unsigned short *address) ++{ ++ __builtin_vec_st (v, 0, address); ++} ++ ++void ++test_vst_scalar_ui (vector unsigned int v, unsigned int *address) ++{ ++ __builtin_vec_st (v, 0, address); ++} ++ ++void ++test_vst_scalar_sc (vector signed char v, signed char *address) ++{ ++ __builtin_vec_st (v, 0, address); ++} ++ ++void ++test_vst_scalar_ss (vector signed short v, signed short *address) ++{ ++ __builtin_vec_st (v, 0, address); ++} ++ ++void ++test_vst_scalar_si (vector signed int v, signed int *address) ++{ ++ __builtin_vec_st (v, 0, address); ++} ++ ++void ++test_vst_scalar_f (vector float v, float *address) ++{ ++ __builtin_vec_st (v, 0, address); ++} ++ ++void ++test_vst_vector_uc (vector unsigned char v, vector unsigned char *address) ++{ ++ __builtin_vec_st (v, 0, address); ++} ++ ++void ++test_vst_vector_us (vector unsigned short v, vector unsigned short *address) ++{ ++ __builtin_vec_st (v, 0, address); ++} ++ ++void ++test_vst_vector_ui (vector unsigned int v, vector unsigned int *address) ++{ ++ __builtin_vec_st (v, 0, address); ++} ++ ++void ++test_vst_vector_sc (vector signed char v, vector signed char *address) ++{ ++ __builtin_vec_st (v, 0, address); ++} ++ ++void ++test_vst_vector_ss (vector signed short v, vector signed short *address) ++{ ++ __builtin_vec_st (v, 0, address); ++} ++ ++void ++test_vst_vector_si (vector signed int v, vector signed int *address) ++{ ++ __builtin_vec_st (v, 0, address); ++} ++ ++void ++test_vst_vector_f (vector float v, vector float *address) ++{ ++ __builtin_vec_st (v, 0, address); ++} ++ +Index: gcc/testsuite/gcc.target/powerpc/vec-extract-uint128-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/vec-extract-uint128-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/vec-extract-uint128-1.c (.../branches/gcc-8-branch) +@@ -0,0 +1,27 @@ ++/* Test to verify that the vec_extract from a vector of ++ unsigned __int128s remains unsigned. */ ++/* { dg-do run } */ ++/* { dg-options "-ansi -mcpu=power8 " } */ ++/* { dg-require-effective-target p8vector_hw } */ ++/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */ ++ ++#include ++#include ++#include ++ ++int test1(unsigned __int128 ul) { ++ ++ vector unsigned __int128 v = vec_splats(ul); ++ ++ if (vec_extract (v, 0) < ul) ++ abort(); ++ return 0; ++} ++ ++int main() ++{ ++ test1 (((__int128) 0xf600000000000000LL) << 64); ++ test1 (((__int128) 0x7600000000000000LL) << 64); ++ test1 (((__int128) 0x0600000000000000LL) << 64); ++ return 0; ++} +Index: gcc/testsuite/gcc.target/powerpc/vec-extract-ushort-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/vec-extract-ushort-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/vec-extract-ushort-1.c (.../branches/gcc-8-branch) +@@ -0,0 +1,29 @@ ++/* Test to verify that the vec_extract from a vector of ++ signed shorts remains signed. */ ++/* { dg-do run } */ ++/* { dg-options "-ansi -mcpu=power8 " } */ ++/* { dg-require-effective-target p8vector_hw } */ ++/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */ ++ ++#include ++#include ++#include ++ ++int test1(unsigned short us) { ++ int use; ++ ++ vector unsigned short v = vec_splats(us); ++ use = vec_extract(v,0); ++ ++ if (use != us) ++ abort(); ++ return 0; ++} ++ ++int main() ++{ ++ test1 (0xf600); ++ test1 (0x7600); ++ test1 (0x0600); ++ return 0; ++} +Index: gcc/testsuite/gcc.target/powerpc/pr86731-fwrapv-longlong.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/pr86731-fwrapv-longlong.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/pr86731-fwrapv-longlong.c (.../branches/gcc-8-branch) +@@ -0,0 +1,34 @@ ++/* PR86731. Verify that the rs6000 gimple-folding code handles the ++ left shift operation properly. This is a testcase variation that ++ explicitly specifies -fwrapv, which is a condition for the ++ gimple folding of the vec_sl() intrinsic. */ ++ ++/* specify -mpower8-vector, which provides vec_sl(long long,...) support. */ ++ ++/* { dg-do compile } */ ++/* { dg-require-effective-target powerpc_p8vector_ok } */ ++/* { dg-require-effective-target lp64 } */ ++/* { dg-options "-maltivec -O3 -fwrapv -mpower8-vector " } */ ++ ++#include ++ ++vector unsigned long long splatu4(void) ++{ ++ vector unsigned long long mzero = {-1,-1}; ++ return (vector unsigned long long) vec_sl(mzero, mzero); ++} ++ ++vector signed long long splats4(void) ++{ ++ vector unsigned long long mzero = {-1,-1}; ++ return (vector signed long long) vec_sl(mzero, mzero); ++} ++ ++/* Codegen will consist of splat and shift instructions for most types. ++ If folding is enabled, the vec_sl tests using vector long long type will ++ generate a lvx instead of a vspltisw+vsld pair. */ ++ ++/* { dg-final { scan-assembler-times {\mvspltis[bhw]\M} 0 } } */ ++/* { dg-final { scan-assembler-times {\mvsl[bhwd]\M} 0 } } */ ++/* { dg-final { scan-assembler-times {\mlvx\M|\mlxv\M|\mlxvd2x\M} 2 } } */ ++ +Index: gcc/testsuite/gcc.target/powerpc/vec-extract-uint-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/vec-extract-uint-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/vec-extract-uint-1.c (.../branches/gcc-8-branch) +@@ -0,0 +1,29 @@ ++/* Test to verify that the vec_extract from a vector of ++ unsigned ints remains unsigned. */ ++/* { dg-do run } */ ++/* { dg-options "-ansi -mcpu=power8 " } */ ++/* { dg-require-effective-target p8vector_hw } */ ++/* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */ ++ ++#include ++#include ++#include ++ ++int test1(unsigned int ui) { ++ long long int uie; ++ ++ vector unsigned int v = vec_splats(ui); ++ uie = vec_extract(v,0); ++ ++ if (uie != ui) ++ abort(); ++ return 0; ++} ++ ++int main() ++{ ++ test1 (0xf6000000); ++ test1 (0x76000000); ++ test1 (0x06000000); ++ return 0; ++} +Index: gcc/testsuite/gcc.target/powerpc/pr86731-fwrapv.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/pr86731-fwrapv.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/pr86731-fwrapv.c (.../branches/gcc-8-branch) +@@ -0,0 +1,63 @@ ++/* PR86731. Verify that the rs6000 gimple-folding code handles the ++ left shift operation properly. This is a testcase variation that ++ explicitly specifies -fwrapv, which is a condition for the ++ gimple folding of the vec_sl() intrinsic. */ ++ ++/* { dg-do compile } */ ++/* { dg-require-effective-target powerpc_altivec_ok } */ ++/* { dg-require-effective-target lp64 } */ ++/* { dg-options "-maltivec -O3 -fwrapv " } */ ++ ++#include ++/* original test as reported. */ ++vector unsigned int splat(void) ++{ ++ vector unsigned int mzero = vec_splat_u32(-1); ++ return (vector unsigned int) vec_sl(mzero, mzero); ++} ++ ++/* more testcase variations. */ ++vector unsigned char splatu1(void) ++{ ++ vector unsigned char mzero = vec_splat_u8(-1); ++ return (vector unsigned char) vec_sl(mzero, mzero); ++} ++ ++vector unsigned short splatu2(void) ++{ ++ vector unsigned short mzero = vec_splat_u16(-1); ++ return (vector unsigned short) vec_sl(mzero, mzero); ++} ++ ++vector unsigned int splatu3(void) ++{ ++ vector unsigned int mzero = vec_splat_u32(-1); ++ return (vector unsigned int) vec_sl(mzero, mzero); ++} ++ ++vector signed char splats1(void) ++{ ++ vector unsigned char mzero = vec_splat_u8(-1); ++ return (vector signed char) vec_sl(mzero, mzero); ++} ++ ++vector signed short splats2(void) ++{ ++ vector unsigned short mzero = vec_splat_u16(-1); ++ return (vector signed short) vec_sl(mzero, mzero); ++} ++ ++vector signed int splats3(void) ++{ ++ vector unsigned int mzero = vec_splat_u32(-1); ++ return (vector signed int) vec_sl(mzero, mzero); ++} ++ ++/* Codegen will consist of splat and shift instructions. ++ If folding is enabled, the vec_sl tests using vector long long type will ++ generate a lvx instead of a vspltisw+vsld pair. */ ++ ++/* { dg-final { scan-assembler-times {\mvspltis[bhw]\M|\mxxspltib\M} 7 } } */ ++/* { dg-final { scan-assembler-times {\mvsl[bhwd]\M} 7 } } */ ++/* { dg-final { scan-assembler-times {\mlvx\M|\mlxvd2x\M} 0 } } */ ++ +Index: gcc/testsuite/gcc.target/powerpc/pr86731-nogimplefold-longlong.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/powerpc/pr86731-nogimplefold-longlong.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/powerpc/pr86731-nogimplefold-longlong.c (.../branches/gcc-8-branch) +@@ -0,0 +1,32 @@ ++/* PR86731. Verify that the rs6000 gimple-folding code handles the ++ left shift operation properly. This is a testcase variation that ++ explicitly disables gimple folding. */ ++ ++/* { dg-do compile } */ ++/* { dg-require-effective-target powerpc_p8vector_ok } */ ++/* { dg-require-effective-target lp64 } */ ++/* { dg-options "-maltivec -O3 -fwrapv -mno-fold-gimple -mpower8-vector " } */ ++/* { dg-prune-output "gimple folding of rs6000 builtins has been disabled." } */ ++ ++ ++#include ++ ++vector unsigned long long splatu4(void) ++{ ++ vector unsigned long long mzero = {-1,-1}; ++ return (vector unsigned long long) vec_sl(mzero, mzero); ++} ++ ++vector signed long long splats4(void) ++{ ++ vector unsigned long long mzero = {-1,-1}; ++ return (vector signed long long) vec_sl(mzero, mzero); ++} ++ ++/* Codegen will consist of splat and shift instructions for most types. ++ Noted variations: if gimple folding is disabled, or if -fwrapv is not specified, the ++ long long tests will generate a vspltisw+vsld pair, versus generating a lvx. */ ++/* { dg-final { scan-assembler-times {\mvspltis[bhw]\M|\mxxspltib\M} 2 } } */ ++/* { dg-final { scan-assembler-times {\mvsl[bhwd]\M} 2 } } */ ++/* { dg-final { scan-assembler-times {\mlvx\M} 0 } } */ ++ +Index: gcc/testsuite/gcc.target/arm/pr86640.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/arm/pr86640.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/arm/pr86640.c (.../branches/gcc-8-branch) +@@ -0,0 +1,10 @@ ++/* { dg-options "-O3" } */ ++ ++/* This ICEd with -O3 -mfpu=neon -mfloat-abi=hard -march=armv7-a . */ ++ ++char fn1() { ++ long long b[5]; ++ for (int a = 0; a < 5; a++) ++ b[a] = ~0ULL; ++ return b[3]; ++} +Index: gcc/testsuite/gcc.target/arm/arm-soft-strd-even.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/arm/arm-soft-strd-even.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/arm/arm-soft-strd-even.c (.../branches/gcc-8-branch) +@@ -0,0 +1,19 @@ ++/* { dg-do assemble } */ ++/* { dg-require-effective-target arm_arm_ok } */ ++/* { dg-skip-if "do not override -mfloat-abi" { *-*-* } { "-mfloat-abi=*" } {"-mfloat-abi=soft" } } */ ++/* { dg-options "-O2 -marm -mfloat-abi=soft" } */ ++ ++/* Check that we don't try to emit STRD in ARM state with ++ odd starting register. */ ++ ++struct S { ++ double M0; ++} __attribute((aligned)) __attribute((packed)); ++ ++void bar(void *); ++ ++void foo(int x, struct S y) { ++ asm("" : : : "r1", "r8", "r7", "r4"); ++ y.M0 ?: bar(0); ++ bar(__builtin_alloca(8)); ++} +Index: gcc/testsuite/gcc.target/arm/multilib.exp +=================================================================== +--- a/src/gcc/testsuite/gcc.target/arm/multilib.exp (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/arm/multilib.exp (.../branches/gcc-8-branch) +@@ -60,6 +60,16 @@ + {-mcpu=cortex-a7+nosimd -mfloat-abi=hard} "thumb/v7-a+fp/hard" + {-mcpu=cortex-a7+nofp -mfloat-abi=softfp} "thumb/v7-a/nofp" + {-mcpu=generic-armv7-a+vfpv4 -mfloat-abi=softfp} "thumb/v7-a+fp/softfp" ++ {-mcpu=generic-armv7-a+mp+vfpv4 -mfloat-abi=softfp} "thumb/v7-a+fp/softfp" ++ {-mcpu=generic-armv7-a+sec+vfpv4 -mfloat-abi=softfp} "thumb/v7-a+fp/softfp" ++ {-march=armv7-a+mp -mfloat-abi=softfp} "thumb/v7-a/nofp" ++ {-march=armv7-a+sec -mfloat-abi=softfp} "thumb/v7-a/nofp" ++ {-march=armv7-a+mp+sec -mfloat-abi=softfp} "thumb/v7-a/nofp" ++ {-march=armv7-a+sec+mp -mfloat-abi=softfp} "thumb/v7-a/nofp" ++ {-march=armv7-a+mp+vfpv4 -mfloat-abi=softfp} "thumb/v7-a+fp/softfp" ++ {-march=armv7-a+sec+fp -mfloat-abi=softfp} "thumb/v7-a+fp/softfp" ++ {-march=armv7-a+mp+sec+simd -mfloat-abi=softfp} "thumb/v7-a+simd/softfp" ++ {-march=armv7-a+sec+mp+vfpv3 -mfloat-abi=softfp} "thumb/v7-a+fp/softfp" + {-march=armv7ve+vfpv3 -mfloat-abi=hard} "thumb/v7-a+fp/hard" + {-march=armv7ve -mfloat-abi=softfp -mfpu=neon} "thumb/v7-a+simd/softfp" + {-march=armv7ve -mfloat-abi=softfp -mfpu=neon-vfpv4} "thumb/v7ve+simd/softfp" +@@ -369,6 +379,10 @@ + {-mcpu=cortex-a15 -mfpu=neon-fp-armv8 -mfloat-abi=softfp -mthumb} "thumb/v7ve+simd/softfp" + {-mcpu=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=softfp -mthumb} "thumb/v8-a+simd/softfp" + {-march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -mthumb} "thumb/v7-a+fp/hard" ++ {-march=armv7-a+mp -mfpu=vfpv3-d16 -mfloat-abi=hard -mthumb} "thumb/v7-a+fp/hard" ++ {-march=armv7-a+sec -mfpu=vfpv3-d16 -mfloat-abi=hard -mthumb} "thumb/v7-a+fp/hard" ++ {-march=armv7-a+mp+sec -mfpu=vfpv3-d16 -mfloat-abi=hard -mthumb} "thumb/v7-a+fp/hard" ++ {-march=armv7-a+sec+mp -mfpu=vfpv3-d16 -mfloat-abi=hard -mthumb} "thumb/v7-a+fp/hard" + {-march=armv8-a -mfpu=vfpv3-d16 -mfloat-abi=hard -mthumb} "thumb/v8-a+simd/hard" + {-march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp -mthumb} "thumb/v7-a+fp/softfp" + {-march=armv8-a -mfpu=vfpv3-d16 -mfloat-abi=softfp -mthumb} "thumb/v8-a+simd/softfp" +Index: gcc/testsuite/gcc.target/avr/pr88253.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/avr/pr88253.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/avr/pr88253.c (.../branches/gcc-8-branch) +@@ -0,0 +1,32 @@ ++/* { dg-do compile } */ ++/* { dg-options "-Os -w" } */ ++ ++static int aRead() __attribute__((always_inline)); ++static int aRead() { ++ unsigned char h,l; ++ l = (*(volatile unsigned char *)(0x78)) ; ++ h = (*(volatile unsigned char *)(0x79)) ; ++ return (h<<8) | l; ++} ++ ++int main() { ++ volatile unsigned char x; ++ x = aRead()^42; ++ } ++ /* { dg-final { scan-assembler "lds r\\d+,121" } } */ ++/* { dg-do compile } */ ++/* { dg-options "-Os -w" } */ ++ ++static int aRead() __attribute__((always_inline)); ++static int aRead() { ++ unsigned char h,l; ++ l = (*(volatile unsigned char *)(0x78)) ; ++ h = (*(volatile unsigned char *)(0x79)) ; ++ return (h<<8) | l; ++} ++ ++int main() { ++ volatile unsigned char x; ++ x = aRead()^42; ++ } ++ /* { dg-final { scan-assembler "lds r\\d+,121" } } */ +Index: gcc/testsuite/gcc.target/s390/flogr-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/s390/flogr-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/s390/flogr-1.c (.../branches/gcc-8-branch) +@@ -0,0 +1,47 @@ ++/* { dg-do run } */ ++/* { dg-options "-O2 -funroll-loops -march=z9-109" } */ ++/* { dg-require-effective-target stdint_types } */ ++ ++/* Folding of the FLOGR caused a wrong value to be returned by ++ __builtin_clz becuase of a problem in the RTX we emit for FLOGR. ++ The problematic folding can only be triggered with constants inputs ++ introduced on RTL level. In this case it happens with loop ++ unrolling. */ ++ ++#include ++#include ++ ++static inline uint32_t pow2_ceil_u32(uint32_t x) { ++ if (x <= 1) { ++ return x; ++ } ++ int msb_on_index; ++ msb_on_index = (31 ^ __builtin_clz(x - 1)); ++ assert(msb_on_index < 31); ++ return 1U << (msb_on_index + 1); ++} ++ ++void __attribute__((noinline,noclone)) ++die (int a) ++{ ++ if (a) ++ __builtin_abort (); ++} ++ ++void test_pow2_ceil_u32(void) { ++ unsigned i; ++ ++ for (i = 0; i < 18; i++) { ++ uint32_t a_ = (pow2_ceil_u32(((uint32_t)1) << i)); ++ if (!(a_ == (((uint32_t)1) << i))) { ++ die(1); ++ } ++ } ++} ++ ++int ++main(void) { ++ test_pow2_ceil_u32(); ++ ++ return 0; ++} +Index: gcc/testsuite/gcc.target/s390/dfp_to_bfp_rounding.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/s390/dfp_to_bfp_rounding.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/s390/dfp_to_bfp_rounding.c (.../branches/gcc-8-branch) +@@ -0,0 +1,29 @@ ++/* { dg-do run } */ ++/* { dg-options "-O3 -mzarch -march=z10" } */ ++ ++/* According to IEEE 754 2008 4.3 Conversion operations between ++ different radixes must use the rounding mode of the target radix. ++ On S/390 this means passing the right value in GPR0 to PFPO ++ instruction. */ ++ ++#include ++ ++double __attribute__((noclone,noinline)) ++convert (_Decimal64 in) ++{ ++ return (double)in; ++} ++ ++int ++main () ++{ ++ fesetround (FE_UPWARD); ++ ++ if (convert (1e-325DD) != __DBL_DENORM_MIN__) ++ __builtin_abort (); ++ ++ fesetround (FE_DOWNWARD); ++ ++ if (convert (-1e-325DD) != -__DBL_DENORM_MIN__) ++ __builtin_abort (); ++} +Index: gcc/testsuite/gcc.target/s390/zvector/vec-double-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/s390/zvector/vec-double-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/s390/zvector/vec-double-1.c (.../branches/gcc-8-branch) +@@ -0,0 +1,12 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O3 -mzarch -march=z13 -mzvector" } */ ++ ++#include ++ ++vector double ++test (vector unsigned long long x) ++{ ++ return vec_double (x); ++} ++ ++/* { dg-final { scan-assembler-times "vcdlgb\t" 1 } } */ +Index: gcc/testsuite/gcc.target/s390/zvector/vec-double-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/s390/zvector/vec-double-2.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/s390/zvector/vec-double-2.c (.../branches/gcc-8-branch) +@@ -0,0 +1,12 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O3 -mzarch -march=z13 -mzvector" } */ ++ ++#include ++ ++vector double ++test (vector long long x) ++{ ++ return vec_double (x); ++} ++ ++/* { dg-final { scan-assembler-times "vcdgb\t" 1 } } */ +Index: gcc/testsuite/gcc.target/sparc/tls-ld-int64.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/sparc/tls-ld-int64.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/sparc/tls-ld-int64.c (.../branches/gcc-8-branch) +@@ -0,0 +1,24 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2" } ++/* { dg-add-options tls } */ ++/* { dg-require-effective-target lp64 } */ ++ ++#include ++ ++__thread int64_t var1 __attribute__((tls_model("local-dynamic"))); ++__thread int64_t var2 __attribute__((tls_model("local-dynamic"))); ++ ++int64_t sum (void) ++{ ++ return var1 + var2; ++} ++ ++void set (int64_t i) ++{ ++ var1 = i; ++ var2 = i; ++} ++ ++/* { dg-final { scan-assembler-times "__tls_get_addr" 2 } } */ ++/* { dg-final { scan-assembler-times "ldx\t\[^\n\]*tldo_add" 2 } } */ ++/* { dg-final { scan-assembler-times "stx\t\[^\n\]*tldo_add" 2 } } */ +Index: gcc/testsuite/gcc.target/sparc/tls-ld-uint16.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/sparc/tls-ld-uint16.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/sparc/tls-ld-uint16.c (.../branches/gcc-8-branch) +@@ -0,0 +1,33 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2" } ++/* { dg-add-options tls } */ ++ ++#include ++ ++__thread uint16_t var1 __attribute__((tls_model("local-dynamic"))); ++__thread uint16_t var2 __attribute__((tls_model("local-dynamic"))); ++ ++uint16_t sum (void) ++{ ++ return var1 + var2; ++} ++ ++uint32_t ext32_sum (void) ++{ ++ return (uint32_t)var1 + (uint32_t)var2; ++} ++ ++unsigned long ext_sum (void) ++{ ++ return (unsigned long)var1 + (unsigned long)var2; ++} ++ ++void set (uint16_t i) ++{ ++ var1 = i; ++ var2 = i; ++} ++ ++/* { dg-final { scan-assembler-times "__tls_get_addr" 4 } } */ ++/* { dg-final { scan-assembler-times "lduh\t\[^\n\]*tldo_add" 6 } } */ ++/* { dg-final { scan-assembler-times "sth\t\[^\n\]*tldo_add" 2 } } */ +Index: gcc/testsuite/gcc.target/sparc/tls-ld-int32.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/sparc/tls-ld-int32.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/sparc/tls-ld-int32.c (.../branches/gcc-8-branch) +@@ -0,0 +1,36 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2" } ++/* { dg-add-options tls } */ ++ ++#include ++ ++__thread int32_t var1 __attribute__((tls_model("local-dynamic"))); ++__thread int32_t var2 __attribute__((tls_model("local-dynamic"))); ++ ++int32_t sum (void) ++{ ++ return var1 + var2; ++} ++ ++#if defined(__sparcv9) || defined(__arch64__) ++long ext_sum (void) ++{ ++ return (long)var1 + (long)var2; ++} ++#else ++void *addr (void) ++{ ++ return &var1; ++} ++#endif ++ ++void set (int32_t i) ++{ ++ var1 = i; ++ var2 = i; ++} ++ ++/* { dg-final { scan-assembler-times "__tls_get_addr" 3 } } */ ++/* { dg-final { scan-assembler-times "ld\t\[^\n\]*tldo_add" 2 } } */ ++/* { dg-final { scan-assembler-times "ldsw\t\[^\n\]*tldo_add" 2 { target lp64 } } } */ ++/* { dg-final { scan-assembler-times "st\t\[^\n\]*tldo_add" 2 } } */ +Index: gcc/testsuite/gcc.target/sparc/tls-ld-uint8.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/sparc/tls-ld-uint8.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/sparc/tls-ld-uint8.c (.../branches/gcc-8-branch) +@@ -0,0 +1,38 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2" } ++/* { dg-add-options tls } */ ++ ++#include ++ ++__thread uint8_t var1 __attribute__((tls_model("local-dynamic"))); ++__thread uint8_t var2 __attribute__((tls_model("local-dynamic"))); ++ ++uint8_t sum (void) ++{ ++ return var1 + var2; ++} ++ ++uint16_t ext16_sum (void) ++{ ++ return (uint16_t)var1 + (uint16_t)var2; ++} ++ ++uint32_t ext32_sum (void) ++{ ++ return (uint32_t)var1 + (uint32_t)var2; ++} ++ ++unsigned long ext_sum (void) ++{ ++ return (unsigned long)var1 + (unsigned long)var2; ++} ++ ++void set (uint8_t i) ++{ ++ var1 = i; ++ var2 = i; ++} ++ ++/* { dg-final { scan-assembler-times "__tls_get_addr" 5 } } */ ++/* { dg-final { scan-assembler-times "ldub\t\[^\n\]*tldo_add" 8 } } */ ++/* { dg-final { scan-assembler-times "stb\t\[^\n\]*tldo_add" 2 } } */ +Index: gcc/testsuite/gcc.target/sparc/tls-ld-int8.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/sparc/tls-ld-int8.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/sparc/tls-ld-int8.c (.../branches/gcc-8-branch) +@@ -0,0 +1,39 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2" } ++/* { dg-add-options tls } */ ++ ++#include ++ ++__thread int8_t var1 __attribute__((tls_model("local-dynamic"))); ++__thread int8_t var2 __attribute__((tls_model("local-dynamic"))); ++ ++int8_t sum (void) ++{ ++ return var1 + var2; ++} ++ ++int16_t ext16_sum (void) ++{ ++ return (int16_t)var1 + (int16_t)var2; ++} ++ ++int32_t ext32_sum (void) ++{ ++ return (int32_t)var1 + (int32_t)var2; ++} ++ ++long ext_sum (void) ++{ ++ return (long)var1 + (long)var2; ++} ++ ++void set (int8_t i) ++{ ++ var1 = i; ++ var2 = i; ++} ++ ++/* { dg-final { scan-assembler-times "__tls_get_addr" 5 } } */ ++/* { dg-final { scan-assembler-times "ldub\t\[^\n\]*tldo_add" 2 } } */ ++/* { dg-final { scan-assembler-times "ldsb\t\[^\n\]*tldo_add" 6 } } */ ++/* { dg-final { scan-assembler-times "stb\t\[^\n\]*tldo_add" 2 } } */ +Index: gcc/testsuite/gcc.target/sparc/tls-ld-int16.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/sparc/tls-ld-int16.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/sparc/tls-ld-int16.c (.../branches/gcc-8-branch) +@@ -0,0 +1,34 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2" } ++/* { dg-add-options tls } */ ++ ++#include ++ ++__thread int16_t var1 __attribute__((tls_model("local-dynamic"))); ++__thread int16_t var2 __attribute__((tls_model("local-dynamic"))); ++ ++int16_t sum (void) ++{ ++ return var1 + var2; ++} ++ ++int32_t ext32_sum (void) ++{ ++ return (int32_t)var1 + (int32_t)var2; ++} ++ ++long ext_sum (void) ++{ ++ return (long)var1 + (long)var2; ++} ++ ++void set (int16_t i) ++{ ++ var1 = i; ++ var2 = i; ++} ++ ++/* { dg-final { scan-assembler-times "__tls_get_addr" 4 } } */ ++/* { dg-final { scan-assembler-times "lduh\t\[^\n\]*tldo_add" 2 } } */ ++/* { dg-final { scan-assembler-times "ldsh\t\[^\n\]*tldo_add" 4 } } */ ++/* { dg-final { scan-assembler-times "sth\t\[^\n\]*tldo_add" 2 } } */ +Index: gcc/testsuite/gcc.target/sparc/tls-ld-uint32.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/sparc/tls-ld-uint32.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/sparc/tls-ld-uint32.c (.../branches/gcc-8-branch) +@@ -0,0 +1,36 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2" } ++/* { dg-add-options tls } */ ++ ++#include ++ ++__thread uint32_t var1 __attribute__((tls_model("local-dynamic"))); ++__thread uint32_t var2 __attribute__((tls_model("local-dynamic"))); ++ ++uint32_t sum (void) ++{ ++ return var1 + var2; ++} ++ ++#if defined(__sparcv9) || defined(__arch64__) ++unsigned long ext_sum (void) ++{ ++ return (unsigned long)var1 + (unsigned long)var2; ++} ++#else ++void *addr (void) ++{ ++ return &var1; ++} ++#endif ++ ++void set (int32_t i) ++{ ++ var1 = i; ++ var2 = i; ++} ++ ++/* { dg-final { scan-assembler-times "__tls_get_addr" 3 } } */ ++/* { dg-final { scan-assembler-times "ld\t\[^\n\]*tldo_add" 2 } } */ ++/* { dg-final { scan-assembler-times "lduw\t\[^\n\]*tldo_add" 2 { target lp64 } } } */ ++/* { dg-final { scan-assembler-times "st\t\[^\n\]*tldo_add" 2 } } */ +Index: gcc/testsuite/gcc.target/m68k/mulsi_highpart.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/m68k/mulsi_highpart.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/m68k/mulsi_highpart.c (.../branches/gcc-8-branch) +@@ -0,0 +1,8 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -m68020" } */ ++/* Don't optimize away a compare after [us]mulsi_highpart. */ ++/* { dg-final { scan-assembler {tst\.?l} } } */ ++int cmp (unsigned int a, unsigned int b) ++{ ++ return (a > 0xffffffff / b); ++} +Index: gcc/testsuite/gcc.target/msp430/pr86662.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/msp430/pr86662.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/msp430/pr86662.c (.../branches/gcc-8-branch) +@@ -0,0 +1,13 @@ ++/* PR/86662 */ ++ ++/* { dg-do link } */ ++/* -nostdlib prevents link errors due to mismatched code models for ++ libgloss objects. */ ++/* { dg-options "-mlarge -flto -nostdlib" } */ ++/* { dg-skip-if "" { *-*-* } { "-mcpu=msp430" } } */ ++ ++int main(void) ++{ ++ __int20 n = 5; ++ return 0; ++} +Index: gcc/testsuite/gcc.target/aarch64/asm-5.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/aarch64/asm-5.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/aarch64/asm-5.c (.../branches/gcc-8-branch) +@@ -0,0 +1,8 @@ ++/* PR target/87598 */ ++/* { dg-do compile } */ ++ ++void ++foo (void) ++{ ++ __asm__ ("# %a0" : : "i" (0)); ++} +Index: gcc/testsuite/gcc.target/aarch64/pr62178.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/aarch64/pr62178.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/aarch64/pr62178.c (.../branches/gcc-8-branch) +@@ -16,6 +16,7 @@ + } + } + +-/* { dg-final { scan-assembler "ldr\\ts\[0-9\]+, \\\[x\[0-9\]+, \[0-9\]+\\\]!" } } */ + /* { dg-final { scan-assembler "ldr\\tq\[0-9\]+, \\\[x\[0-9\]+\\\], \[0-9\]+" } } */ +-/* { dg-final { scan-assembler "mla\\tv\[0-9\]+\.4s, v\[0-9\]+\.4s, v\[0-9\]+\.s\\\[0\\\]" } } */ ++/* { dg-final { scan-assembler "mla\\tv\[0-9\]+\.4s, v\[0-9\]+\.4s, v\[0-9\]+" } } */ ++/* { dg-final { scan-assembler-not {dup} } } */ ++/* { dg-final { scan-assembler-not {fmov} } } */ +Index: gcc/testsuite/gcc.target/i386/pr82699-6.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr82699-6.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr82699-6.c (.../branches/gcc-8-branch) +@@ -0,0 +1,11 @@ ++/* { dg-do compile { target *-*-linux* } } */ ++/* { dg-options "-fno-pic -O2 -fcf-protection -pg -mfentry -mrecord-mcount -mnop-mcount -fasynchronous-unwind-tables" } */ ++/* { dg-final { scan-assembler-times {\t\.cfi_startproc\n\tendbr} 1 } } */ ++ ++extern int bar (int); ++ ++int ++foo (int i) ++{ ++ return bar (i); ++} +Index: gcc/testsuite/gcc.target/i386/pr85593.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr85593.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr85593.c (.../branches/gcc-8-branch) +@@ -0,0 +1,30 @@ ++/* PR target/85593 */ ++/* { dg-do run { target { { i?86-*-linux* x86_64-*-linux* } && lp64 } } } */ ++/* { dg-options "-O2" } */ ++ ++__attribute__((naked)) void ++bar (void) ++{ ++ asm ("xorl %eax, %eax\n\t" ++ "xorl %edx, %edx\n\t" ++ "xorl %ecx, %ecx\n\t" ++ "xorl %esi, %esi\n\t" ++ "xorl %edi, %edi\n\t" ++ "xorl %r8d, %r8d\n\t" ++ "xorl %r9d, %r9d\n\t" ++ "xorl %r10d, %r10d\n\t" ++ "xorl %r11d, %r11d\n\t" ++ "ret"); ++} ++ ++int ++main () ++{ ++ int a = 42; ++ asm ("" : "+r" (a)); ++ bar (); ++ asm ("" : "+r" (a)); ++ if (a != 42) ++ __builtin_abort (); ++ return 0; ++} +Index: gcc/testsuite/gcc.target/i386/pr87198.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr87198.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr87198.c (.../branches/gcc-8-branch) +@@ -0,0 +1,13 @@ ++/* PR target/87198 */ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mxsavec -mno-xsave" } */ ++ ++#include ++ ++void ++test_xsavec (void *__A, long long __B) ++{ ++ _xsavec (__A, __B); ++} ++ ++/* { dg-error "target specific option mismatch" "" { target *-*-* } 0 } */ +Index: gcc/testsuite/gcc.target/i386/pr88938.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr88938.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr88938.c (.../branches/gcc-8-branch) +@@ -0,0 +1,5 @@ ++/* PR target/88938 */ ++/* { dg-do compile } */ ++/* { dg-options "-Og -fno-tree-ccp -fno-tree-fre -mtbm" } */ ++ ++#include "tbm-bextri-1.c" +Index: gcc/testsuite/gcc.target/i386/pr82699-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr82699-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr82699-1.c (.../branches/gcc-8-branch) +@@ -0,0 +1,11 @@ ++/* { dg-do compile { target *-*-linux* } } */ ++/* { dg-options "-O2 -fno-pic -fcf-protection -pg -fasynchronous-unwind-tables" } */ ++/* { dg-final { scan-assembler-times {\t\.cfi_startproc\n\tendbr} 1 } } */ ++ ++extern int bar (int); ++ ++int ++foo (int i) ++{ ++ return bar (i); ++} +Index: gcc/testsuite/gcc.target/i386/pr88416.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr88416.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr88416.c (.../branches/gcc-8-branch) +@@ -0,0 +1,5 @@ ++/* PR rtl-optimization/88416 */ ++/* { dg-do compile } */ ++/* { dg-options "-O1 -fvar-tracking-assignments -fno-forward-propagate --param max-cse-insns=1" } */ ++ ++#include "writeeflags-1.c" +Index: gcc/testsuite/gcc.target/i386/avx512vl-pr87214-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/avx512vl-pr87214-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/avx512vl-pr87214-1.c (.../branches/gcc-8-branch) +@@ -0,0 +1,44 @@ ++/* PR target/87214 */ ++/* { dg-do run { target { avx512vl } } } */ ++/* { dg-options "-O3 -mavx512vl -mtune=skylake-avx512" } */ ++ ++#define AVX512VL ++#define AVX512F_LEN 512 ++#define AVX512F_LEN_HALF 256 ++#include "avx512f-check.h" ++ ++struct s { unsigned long a, b, c; }; ++ ++void __attribute__ ((noipa)) ++foo (struct s *restrict s1, struct s *restrict s2, int n) ++{ ++ for (int i = 0; i < n; ++i) ++ { ++ s1[i].b = s2[i].b; ++ s1[i].c = s2[i].c; ++ s2[i].c = 0; ++ } ++} ++ ++#define N 12 ++ ++static void ++test_256 (void) ++{ ++ struct s s1[N], s2[N]; ++ for (unsigned int j = 0; j < N; ++j) ++ { ++ s2[j].a = j * 5; ++ s2[j].b = j * 5 + 2; ++ s2[j].c = j * 5 + 4; ++ } ++ foo (s1, s2, N); ++ for (unsigned int j = 0; j < N; ++j) ++ if (s1[j].b != j * 5 + 2) ++ __builtin_abort (); ++} ++ ++static void ++test_128 (void) ++{ ++} +Index: gcc/testsuite/gcc.target/i386/pr82699-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr82699-2.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr82699-2.c (.../branches/gcc-8-branch) +@@ -0,0 +1,11 @@ ++/* { dg-do compile { target *-*-linux* } } */ ++/* { dg-options "-O2 -fno-pic -fcf-protection -pg -mfentry -fasynchronous-unwind-tables" } */ ++/* { dg-final { scan-assembler-times {\t\.cfi_startproc\n\tendbr} 1 } } */ ++ ++extern int bar (int); ++ ++int ++foo (int i) ++{ ++ return bar (i); ++} +Index: gcc/testsuite/gcc.target/i386/avx512vl-pr87214-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/avx512vl-pr87214-2.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/avx512vl-pr87214-2.c (.../branches/gcc-8-branch) +@@ -0,0 +1,128 @@ ++/* PR target/87214 */ ++/* { dg-do run { target { avx512vl } } } */ ++/* { dg-options "-O2 -mavx512vl" } */ ++ ++#define AVX512VL ++#define AVX512F_LEN 512 ++#define AVX512F_LEN_HALF 256 ++#include "avx512f-check.h" ++ ++typedef long long int v4di __attribute__((vector_size (4 * sizeof (long long int)))); ++typedef double v4df __attribute__((vector_size (4 * sizeof (double)))); ++typedef long long int v8di __attribute__((vector_size (8 * sizeof (long long int)))); ++typedef double v8df __attribute__((vector_size (8 * sizeof (double)))); ++typedef int v8si __attribute__((vector_size (8 * sizeof (int)))); ++typedef float v8sf __attribute__((vector_size (8 * sizeof (float)))); ++typedef int v16si __attribute__((vector_size (16 * sizeof (int)))); ++typedef float v16sf __attribute__((vector_size (16 * sizeof (float)))); ++ ++__attribute__((noipa)) void ++f1 (v4di *p) ++{ ++ p[0] = __builtin_shuffle (p[1], p[2], (v4di) { 2, 3, 5, 6 }); ++} ++ ++__attribute__((noipa)) void ++f2 (v4df *p) ++{ ++ p[0] = __builtin_shuffle (p[1], p[2], (v4di) { 1, 2, 6, 7 }); ++} ++ ++__attribute__((noipa)) void ++f3 (v8di *p) ++{ ++ p[0] = __builtin_shuffle (p[1], p[2], (v8di) { 2, 3, 5, 6, 8, 9, 11, 12 }); ++} ++ ++__attribute__((noipa)) void ++f4 (v8df *p) ++{ ++ p[0] = __builtin_shuffle (p[1], p[2], (v8di) { 1, 2, 6, 7, 9, 10, 12, 13 }); ++} ++ ++__attribute__((noipa)) void ++f5 (v8si *p) ++{ ++ p[0] = __builtin_shuffle (p[1], p[2], (v8si) { 2, 3, 4, 5, 9, 10, 11, 12 }); ++} ++ ++__attribute__((noipa)) void ++f6 (v8sf *p) ++{ ++ p[0] = __builtin_shuffle (p[1], p[2], (v8si) { 1, 2, 3, 4, 12, 13, 14, 15 }); ++} ++ ++__attribute__((noipa)) void ++f7 (v16si *p) ++{ ++ p[0] = __builtin_shuffle (p[1], p[2], (v16si) { 0, 1, 2, 3, 1, 2, 3, 4, 16, 17, 18, 19, 25, 26, 27, 28 }); ++} ++ ++__attribute__((noipa)) void ++f8 (v16sf *p) ++{ ++ p[0] = __builtin_shuffle (p[1], p[2], (v16si) { 1, 2, 3, 4, 4, 5, 6, 7, 17, 18, 19, 20, 18, 19, 20, 21 }); ++} ++ ++static void ++test_256 (void) ++{ ++ v4di a[3] = { { 0, 0, 0, 0 }, { 10, 11, 12, 13 }, { 14, 15, 16, 17 } }; ++ f1 (a); ++ if (a[0][0] != 12 || a[0][1] != 13 || a[0][2] != 15 || a[0][3] != 16) ++ __builtin_abort (); ++ v4df b[3] = { { 0.0, 0.0, 0.0, 0.0 }, { 10.0, 11.0, 12.0, 13.0 }, { 14.0, 15.0, 16.0, 17.0 } }; ++ f2 (b); ++ if (b[0][0] != 11.0 || b[0][1] != 12.0 || b[0][2] != 16.0 || b[0][3] != 17.0) ++ __builtin_abort (); ++ v8di c[3] = { { 0, 0, 0, 0, 0, 0, 0, 0 }, { 10, 11, 12, 13, 14, 15, 16, 17 }, { 18, 19, 20, 21, 22, 23, 24, 25 } }; ++ f3 (c); ++ if (c[0][0] != 12 || c[0][1] != 13 || c[0][2] != 15 || c[0][3] != 16 ++ || c[0][4] != 18 || c[0][5] != 19 || c[0][6] != 21 || c[0][7] != 22) ++ __builtin_abort (); ++ v8df d[3] = { { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }, ++ { 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0 }, ++ { 18.0, 19.0, 20.0, 21.0, 22.0, 23.0, 24.0, 25.0 } }; ++ f4 (d); ++ if (d[0][0] != 11.0 || d[0][1] != 12.0 || d[0][2] != 16.0 || d[0][3] != 17.0 ++ || d[0][4] != 19.0 || d[0][5] != 20.0 || d[0][6] != 22.0 || d[0][7] != 23.0) ++ __builtin_abort (); ++ v8si e[3] = { { 0, 0, 0, 0, 0, 0, 0, 0 }, { 10, 11, 12, 13, 14, 15, 16, 17 }, { 18, 19, 20, 21, 22, 23, 24, 25 } }; ++ f5 (e); ++ if (e[0][0] != 12 || e[0][1] != 13 || e[0][2] != 14 || e[0][3] != 15 ++ || e[0][4] != 19 || e[0][5] != 20 || e[0][6] != 21 || e[0][7] != 22) ++ __builtin_abort (); ++ v8sf f[3] = { { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f }, ++ { 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f }, ++ { 18.0f, 19.0f, 20.0f, 21.0f, 22.0f, 23.0f, 24.0f, 25.0f } }; ++ f6 (f); ++ if (f[0][0] != 11.0f || f[0][1] != 12.0f || f[0][2] != 13.0f || f[0][3] != 14.0f ++ || f[0][4] != 22.0f || f[0][5] != 23.0f || f[0][6] != 24.0f || f[0][7] != 25.0f) ++ __builtin_abort (); ++ v16si g[3] = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, ++ { 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }, ++ { 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41 } }; ++ f7 (g); ++ if (g[0][0] != 10 || g[0][1] != 11 || g[0][2] != 12 || g[0][3] != 13 ++ || g[0][4] != 11 || g[0][5] != 12 || g[0][6] != 13 || g[0][7] != 14 ++ || g[0][8] != 26 || g[0][9] != 27 || g[0][10] != 28 || g[0][11] != 29 ++ || g[0][12] != 35 || g[0][13] != 36 || g[0][14] != 37 || g[0][15] != 38) ++ __builtin_abort (); ++ v16sf h[3] = { { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, ++ 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f }, ++ { 10.0f, 11.0f, 12.0f, 13.0f, 14.0f, 15.0f, 16.0f, 17.0f, ++ 18.0f, 19.0f, 20.0f, 21.0f, 22.0f, 23.0f, 24.0f, 25.0f }, ++ { 26.0f, 27.0f, 28.0f, 29.0f, 30.0f, 31.0f, 32.0f, 33.0f, ++ 34.0f, 35.0f, 36.0f, 37.0f, 38.0f, 39.0f, 40.0f, 41.0f } }; ++ f8 (h); ++ if (h[0][0] != 11.0f || h[0][1] != 12.0f || h[0][2] != 13.0f || h[0][3] != 14.0f ++ || h[0][4] != 14.0f || h[0][5] != 15.0f || h[0][6] != 16.0f || h[0][7] != 17.0f ++ || h[0][8] != 27.0f || h[0][9] != 28.0f || h[0][10] != 29.0f || h[0][11] != 30.0f ++ || h[0][12] != 28.0f || h[0][13] != 29.0f || h[0][14] != 30.0f || h[0][15] != 31.0f) ++ __builtin_abort (); ++} ++ ++static void ++test_128 (void) ++{ ++} +Index: gcc/testsuite/gcc.target/i386/pr86334.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr86334.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr86334.c (.../branches/gcc-8-branch) +@@ -0,0 +1,21 @@ ++/* PR rtl-optimization/86334 */ ++/* { dg-do run { target ia32 } } */ ++/* { dg-options "-O -march=i386 -mtune=athlon -minline-all-stringops -minline-stringops-dynamically -mmemcpy-strategy=libcall:-1:align -Wno-psabi" } */ ++ ++typedef int V __attribute__ ((vector_size (64))); ++ ++static inline V ++foo (V g) ++{ ++ g[0] = 4; ++ return g; ++} ++ ++int ++main () ++{ ++ V x = foo ((V) { }); ++ if (x[0] != 4 || x[1] || x[2] || x[3] || x[4] || x[5] || x[6] || x[7]) ++ __builtin_abort (); ++ return 0; ++} +Index: gcc/testsuite/gcc.target/i386/pr87928.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr87928.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr87928.c (.../branches/gcc-8-branch) +@@ -0,0 +1,23 @@ ++/* { dg-do compile { target lp64 } } */ ++/* { dg-options "-O1 -mstackrealign -mabi=ms" } */ ++ ++struct foo ++{ ++ int a; ++ int b; ++ int c; ++ int d; ++}; ++ ++__attribute__ ((sysv_abi)) ++struct foo bar (void) ++{ ++ struct foo retval; ++ ++ retval.a = 1; ++ retval.b = 2; ++ retval.c = 3; ++ retval.d = 4; ++ ++ return retval; ++} +Index: gcc/testsuite/gcc.target/i386/call-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/call-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/call-1.c (.../branches/gcc-8-branch) +@@ -11,7 +11,7 @@ + + void set_eax(int val) + { +- __asm__ __volatile__ ("mov %0, %%eax" : : "m" (val)); ++ __asm__ __volatile__ ("mov %0, %%eax" : : "m" (val) : "eax"); + } + + void foo(int val) +Index: gcc/testsuite/gcc.target/i386/pr87550.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr87550.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr87550.c (.../branches/gcc-8-branch) +@@ -0,0 +1,21 @@ ++/* PR target/87550 */ ++/* { dg-do compile } */ ++/* { dg-options "-O2" } */ ++ ++#include ++ ++int ++foo (int x) ++{ ++ return __rdtsc () + __rdtsc (); ++} ++ ++/* { dg-final { scan-assembler-times "\trdtsc\[\n\r]" 2 } } */ ++ ++int ++bar (int x) ++{ ++ return __rdpmc (0) + __rdpmc (0); ++} ++ ++/* { dg-final { scan-assembler-times "\trdpmc\[\n\r]" 2 } } */ +Index: gcc/testsuite/gcc.target/i386/pr82699-3.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr82699-3.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr82699-3.c (.../branches/gcc-8-branch) +@@ -0,0 +1,11 @@ ++/* { dg-do compile { target *-*-linux* } } */ ++/* { dg-options "-O2 -fpic -fcf-protection -pg -fasynchronous-unwind-tables" } */ ++/* { dg-final { scan-assembler-times {\t\.cfi_startproc\n\tendbr} 1 } } */ ++ ++extern int bar (int); ++ ++int ++foo (int i) ++{ ++ return bar (i); ++} +Index: gcc/testsuite/gcc.target/i386/pr88948.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr88948.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr88948.c (.../branches/gcc-8-branch) +@@ -0,0 +1,5 @@ ++/* PR rtl-optimization/88948 */ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -fgcse-sm -msse3 -mfpmath=387" } */ ++ ++#include "../../gcc.c-torture/execute/stdarg-3.c" +Index: gcc/testsuite/gcc.target/i386/pr88418.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr88418.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr88418.c (.../branches/gcc-8-branch) +@@ -0,0 +1,15 @@ ++/* PR target/88418 */ ++/* { dg-do compile } */ ++/* { dg-options "-O1 -fpack-struct -msse4.1 -mno-avx" } */ ++ ++typedef long long v2di __attribute__ ((__vector_size__ (16))); ++ ++union df { ++ v2di se[2]; ++}; ++ ++void ++qg (union df *jz, union df *pl) ++{ ++ jz->se[0] = jz->se[0] == pl->se[0]; ++} +Index: gcc/testsuite/gcc.target/i386/avx-vpclmulqdq-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/avx-vpclmulqdq-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/avx-vpclmulqdq-1.c (.../branches/gcc-8-branch) +@@ -0,0 +1,10 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -mavx -mvpclmulqdq" } */ ++ ++#include ++ ++__m256i ++foo (__m256i x, __m256i y) ++{ ++ return _mm256_clmulepi64_epi128 (x, y, 0); ++} +Index: gcc/testsuite/gcc.target/i386/avx512f-abspd-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/avx512f-abspd-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/avx512f-abspd-1.c (.../branches/gcc-8-branch) +@@ -6,11 +6,11 @@ + + #include "avx512f-helper.h" + +-#define SIZE (AVX512F_LEN / 32) ++#define SIZE (AVX512F_LEN / 64) + #include "avx512f-mask-type.h" + + static void +-CALC (float *i1, float *r) ++CALC (double *i1, double *r) + { + int i; + +@@ -24,14 +24,14 @@ + void + TEST (void) + { +- float ck[SIZE]; ++ double ck[SIZE]; + int i; +- UNION_TYPE (AVX512F_LEN, ) s, d, dm; ++ UNION_TYPE (AVX512F_LEN, d) s, d, dm; + MASK_TYPE mask = MASK_VALUE; + + for (i = 0; i < SIZE; i++) + { +- s.a[i] = i * ((i & 1) ? 3.5f : -7.5f); ++ s.a[i] = i * ((i & 1) ? 3.5 : -7.5); + d.a[i] = DEFAULT_VALUE; + dm.a[i] = DEFAULT_VALUE; + } +@@ -38,13 +38,13 @@ + + CALC (s.a, ck); + +- d.x = INTRINSIC (_abs_ps) (s.x); +- dm.x = INTRINSIC (_mask_abs_ps) (dm.x, mask, s.x); ++ d.x = INTRINSIC (_abs_pd) (s.x); ++ dm.x = INTRINSIC (_mask_abs_pd) (dm.x, mask, s.x); + +- if (UNION_CHECK (AVX512F_LEN, ) (d, ck)) ++ if (UNION_CHECK (AVX512F_LEN, d) (d, ck)) + abort (); + +- MASK_MERGE () (ck, mask, SIZE); +- if (UNION_CHECK (AVX512F_LEN, ) (dm, ck)) ++ MASK_MERGE (d) (ck, mask, SIZE); ++ if (UNION_CHECK (AVX512F_LEN, d) (dm, ck)) + abort (); + } +Index: gcc/testsuite/gcc.target/i386/avx512bw-pr87138.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/avx512bw-pr87138.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/avx512bw-pr87138.c (.../branches/gcc-8-branch) +@@ -0,0 +1,29 @@ ++/* PR middle-end/87138 */ ++/* { dg-do run { target int128 } } */ ++/* { dg-options "-O -fno-tree-fre -mavx512bw -mtune=k8" } */ ++/* { dg-require-effective-target avx512bw } */ ++ ++#include "avx512bw-check.h" ++ ++typedef int U __attribute__ ((vector_size (64))); ++typedef __int128 V __attribute__ ((vector_size (64))); ++V g, i; ++ ++static inline void ++foo (unsigned h, V j, U k, V n) ++{ ++ k /= h; ++ __builtin_memmove (&h, &n, 1); ++ n[j[1]] *= 0x7FFFFFFFFFFFFFFF; ++ j[k[5]] = 0; ++ g = n; ++ i = h + j + n; ++} ++ ++void ++avx512bw_test () ++{ ++ foo (~0, (V) { }, (U) { 5 }, (V) { 3 }); ++ if (g[0] != (__int128) 3 * 0x7FFFFFFFFFFFFFFF) ++ abort (); ++} +Index: gcc/testsuite/gcc.target/i386/call-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/call-2.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/call-2.c (.../branches/gcc-8-branch) +@@ -0,0 +1,12 @@ ++/* PR optimization/11304 */ ++/* Originator: */ ++/* { dg-do run } */ ++/* { dg-options "-O -fomit-frame-pointer" } */ ++ ++/* Verify that %eax is always restored after a call. */ ++ ++__attribute__((noipa)) void set_eax(int val); ++__attribute__((noipa)) void foo(int val); ++__attribute__((noipa)) int bar(int x); ++ ++#include "call-1.c" +Index: gcc/testsuite/gcc.target/i386/pr82699-4.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr82699-4.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr82699-4.c (.../branches/gcc-8-branch) +@@ -0,0 +1,11 @@ ++/* { dg-do compile { target { *-*-linux* && { ! ia32 } } } } */ ++/* { dg-options "-O2 -fpic -fcf-protection -pg -mfentry -fasynchronous-unwind-tables" } */ ++/* { dg-final { scan-assembler-times {\t\.cfi_startproc\n\tendbr} 1 } } */ ++ ++extern int bar (int); ++ ++int ++foo (int i) ++{ ++ return bar (i); ++} +Index: gcc/testsuite/gcc.target/i386/pr86386.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr86386.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr86386.c (.../branches/gcc-8-branch) +@@ -0,0 +1,26 @@ ++/* PR target/86386 */ ++/* { dg-do run { target { avx_runtime && int128 } } } */ ++/* { dg-options "-Os -fno-tree-dce -mstringop-strategy=vector_loop -mavx" } */ ++ ++unsigned c, d, e, f; ++ ++unsigned __attribute__((noipa)) ++foo (unsigned char g, unsigned short h, unsigned i, unsigned long long j, ++ unsigned char k, unsigned short l, unsigned m, unsigned __int128 n) ++{ ++ __builtin_memset (&e, 0, 3); ++ n <<= m; ++ __builtin_memcpy (&m, 2 + (char *) &n, 1); ++ m >>= 0; ++ d ^= __builtin_mul_overflow (l, n, &m); ++ return m; ++} ++ ++int ++main () ++{ ++ unsigned __int128 x = foo (0, 0, 0, 0, 0, 4, 1, 3); ++ if (x != 24) ++ __builtin_abort (); ++ return 0; ++} +Index: gcc/testsuite/gcc.target/i386/pr88906.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr88906.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr88906.c (.../branches/gcc-8-branch) +@@ -0,0 +1,21 @@ ++/* PR target/88906 */ ++/* { dg-do run { target ia32 } } */ ++/* { dg-options "-O -march=i386 -mtune=k6 -minline-all-stringops -minline-stringops-dynamically -mmemcpy-strategy=libcall:-1:align -Wno-psabi" } */ ++ ++typedef unsigned V __attribute__ ((vector_size (16))); ++ ++static inline V ++foo (V v) ++{ ++ __builtin_sub_overflow (0, 0, &v[0]); ++ return v; ++} ++ ++int ++main () ++{ ++ V v = foo ((V) { ~0 }); ++ if (v[0] || v[1] || v[2] || v[3]) ++ __builtin_abort (); ++ return 0; ++} +Index: gcc/testsuite/gcc.target/i386/pr87065.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr87065.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr87065.c (.../branches/gcc-8-branch) +@@ -0,0 +1,22 @@ ++/* PR rtl-optimization/87065 */ ++/* { dg-do compile } */ ++/* { dg-options "-O3 -mxop -mprefer-vector-width=128" } */ ++ ++int a, c, d, e; ++short *b; ++ ++void ++foo (void) ++{ ++ short *g = b; ++ int h = 1; ++ unsigned i; ++ for (; h <= 1; h++) ++ g = (short *) &c; ++ for (; c; c++) ++ { ++ for (; i <= 1; i++) ++ ; ++ a ^= (a > 0 <= i) + ((e += d) == 0 ?: (*g = 8)); ++ } ++} +Index: gcc/testsuite/gcc.target/i386/pr87370.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr87370.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr87370.c (.../branches/gcc-8-branch) +@@ -0,0 +1,39 @@ ++/* { dg-do compile { target { ! ia32 } } } */ ++/* { dg-options "-O2" } */ ++ ++struct A ++{ ++ int b[4]; ++}; ++struct B ++{ ++ char a[12]; ++ int b; ++}; ++struct C ++{ ++ char a[16]; ++}; ++ ++struct A ++f1 (void) ++{ ++ struct A x = {}; ++ return x; ++} ++ ++struct B ++f2 (void) ++{ ++ struct B x = {}; ++ return x; ++} ++ ++struct C ++f3 (void) ++{ ++ struct C x = {}; ++ return x; ++} ++ ++/* { dg-final { scan-assembler-not "xmm" } } */ +Index: gcc/testsuite/gcc.target/i386/pr86627.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr86627.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr86627.c (.../branches/gcc-8-branch) +@@ -0,0 +1,28 @@ ++/* PR middle-end/86627 */ ++/* { dg-do compile { target int128 } } */ ++/* { dg-options "-O2" } */ ++/* { dg-final { scan-assembler-not "call\[^\n\r]*__divti3" } } */ ++ ++__int128_t ++f1 (__int128_t a) ++{ ++ return a / 2; ++} ++ ++__int128_t ++f2 (__int128_t a) ++{ ++ return a / -2; ++} ++ ++__int128_t ++f3 (__int128_t a) ++{ ++ return a / 0x4000000000000000LL; ++} ++ ++__int128_t ++f4 (__int128_t a) ++{ ++ return a / -0x4000000000000000LL; ++} +Index: gcc/testsuite/gcc.target/i386/pr82699-5.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr82699-5.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr82699-5.c (.../branches/gcc-8-branch) +@@ -0,0 +1,12 @@ ++/* { dg-do compile { target *-*-linux* } } */ ++/* { dg-options "-O2 -fcf-protection -mfentry -fasynchronous-unwind-tables" } */ ++/* { dg-additional-options "-fno-pic" { target ia32 } } */ ++/* { dg-final { scan-assembler-times {\t\.cfi_startproc\n\tendbr} 1 } } */ ++ ++extern int bar (int); ++ ++int ++foo (int i) ++{ ++ return bar (i); ++} +Index: gcc/testsuite/gcc.target/i386/pr88470.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/i386/pr88470.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/i386/pr88470.c (.../branches/gcc-8-branch) +@@ -0,0 +1,16 @@ ++/* PR rtl-optimization/88470 */ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -maccumulate-outgoing-args -ftrapv -fno-ivopts -fno-reorder-blocks-and-partition" } */ ++ ++void ++foo (long x, long *y) ++{ ++ long *a = y - 64, i; ++ for (i = 0; i < x; i++) ++ { ++ long v = y[i]; ++ *a++ = v; ++ } ++ register void **c __asm__ ("di"); ++ goto **c; ++} +Index: gcc/testsuite/gcc.target/x86_64/abi/avx/asm-support-darwin.s +=================================================================== +--- a/src/gcc/testsuite/gcc.target/x86_64/abi/avx/asm-support-darwin.s (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/x86_64/abi/avx/asm-support-darwin.s (.../branches/gcc-8-branch) +@@ -0,0 +1,77 @@ ++ .file "asm-support-darwin.s" ++ .text ++ .p2align 4,,15 ++ .globl _snapshot ++_snapshot: ++LFB3: ++ movq %rax, _rax(%rip) ++ movq %rbx, _rbx(%rip) ++ movq %rcx, _rcx(%rip) ++ movq %rdx, _rdx(%rip) ++ movq %rdi, _rdi(%rip) ++ movq %rsi, _rsi(%rip) ++ movq %rbp, _rbp(%rip) ++ movq %rsp, _rsp(%rip) ++ movq %r8, _r8(%rip) ++ movq %r9, _r9(%rip) ++ movq %r10, _r10(%rip) ++ movq %r11, _r11(%rip) ++ movq %r12, _r12(%rip) ++ movq %r13, _r13(%rip) ++ movq %r14, _r14(%rip) ++ movq %r15, _r15(%rip) ++ vmovdqu %ymm0, _ymm_regs+0(%rip) ++ vmovdqu %ymm1, _ymm_regs+32(%rip) ++ vmovdqu %ymm2, _ymm_regs+64(%rip) ++ vmovdqu %ymm3, _ymm_regs+96(%rip) ++ vmovdqu %ymm4, _ymm_regs+128(%rip) ++ vmovdqu %ymm5, _ymm_regs+160(%rip) ++ vmovdqu %ymm6, _ymm_regs+192(%rip) ++ vmovdqu %ymm7, _ymm_regs+224(%rip) ++ vmovdqu %ymm8, _ymm_regs+256(%rip) ++ vmovdqu %ymm9, _ymm_regs+288(%rip) ++ vmovdqu %ymm10, _ymm_regs+320(%rip) ++ vmovdqu %ymm11, _ymm_regs+352(%rip) ++ vmovdqu %ymm12, _ymm_regs+384(%rip) ++ vmovdqu %ymm13, _ymm_regs+416(%rip) ++ vmovdqu %ymm14, _ymm_regs+448(%rip) ++ vmovdqu %ymm15, _ymm_regs+480(%rip) ++ jmp *_callthis(%rip) ++LFE3: ++ .p2align 4,,15 ++ .globl _snapshot_ret ++_snapshot_ret: ++ movq %rdi, _rdi(%rip) ++ subq $8, %rsp ++ call *_callthis(%rip) ++ addq $8, %rsp ++ movq %rax, _rax(%rip) ++ movq %rdx, _rdx(%rip) ++ vmovdqu %ymm0, _ymm_regs+0(%rip) ++ vmovdqu %ymm1, _ymm_regs+32(%rip) ++ fstpt _x87_regs(%rip) ++ fstpt _x87_regs+16(%rip) ++ fldt _x87_regs+16(%rip) ++ fldt _x87_regs(%rip) ++ ret ++ ++ .comm _callthis,8,3 ++ .comm _rax,8,3 ++ .comm _rbx,8,3 ++ .comm _rcx,8,3 ++ .comm _rdx,8,3 ++ .comm _rsi,8,3 ++ .comm _rdi,8,3 ++ .comm _rsp,8,3 ++ .comm _rbp,8,3 ++ .comm _r8,8,3 ++ .comm _r9,8,3 ++ .comm _r10,8,3 ++ .comm _r11,8,3 ++ .comm _r12,8,3 ++ .comm _r13,8,3 ++ .comm _r14,8,3 ++ .comm _r15,8,3 ++ .comm _ymm_regs,512,5 ++ .comm _x87_regs,128,5 ++ .comm _volatile_var,8,3 +Index: gcc/testsuite/gcc.target/arc/builtin_eh.c +=================================================================== +--- a/src/gcc/testsuite/gcc.target/arc/builtin_eh.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.target/arc/builtin_eh.c (.../branches/gcc-8-branch) +@@ -0,0 +1,22 @@ ++/* Check if we have the right offset for @bar function. */ ++/* { dg-options "-O1" } */ ++ ++void bar (void); ++ ++void ++foo (int x) ++{ ++ __builtin_unwind_init (); ++ __builtin_eh_return (x, bar); ++} ++ ++/* { dg-final { scan-assembler "r24" } } */ ++/* { dg-final { scan-assembler "r22" } } */ ++/* { dg-final { scan-assembler "r20" } } */ ++/* { dg-final { scan-assembler "r18" } } */ ++/* { dg-final { scan-assembler "r16" } } */ ++/* { dg-final { scan-assembler "r14" } } */ ++/* { dg-final { scan-assembler "r13" } } */ ++/* { dg-final { scan-assembler "r0" } } */ ++/* { dg-final { scan-assembler "fp" } } */ ++/* { dg-final { scan-assembler "fp,64" } } */ +Index: gcc/testsuite/gfortran.dg/newunit_5.f90.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/newunit_5.f90.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/newunit_5.f90.f90 (.../branches/gcc-8-branch) +@@ -1,20 +0,0 @@ +-! { dg-do run ) +-! PR83525 Combination of newunit and internal unit was failing. +-program main +- integer :: funit +- logical :: isopen +- integer :: this, another +- character(len=:), allocatable :: message +- +- message = "12" +- read(message, *) this +- if (this.ne.12) STOP 1 +- +- open(newunit=funit, status="scratch") +- write(funit, *) "13" +- rewind(funit) +- read(funit, *) another +- !write(*,*) another +- close(funit) +- if (another.ne.13) STOP 2 +-end +Index: gcc/testsuite/gfortran.dg/pr85798.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr85798.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr85798.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,14 @@ ++! { dg-do compile } ++program p ++ type t ++ integer, allocatable :: a(:) ++ end type ++ type u ++ real x ++ type(t) y ++ end type ++ type(t) :: z ++ type(u) :: q ++ data z%a(1) / 789 / ! { dg-error "Allocatable component" } ++ data q%y%a(1) / 789 / ! { dg-error "Allocatable component" } ++end +Index: gcc/testsuite/gfortran.dg/dec_structure_15.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/dec_structure_15.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/dec_structure_15.f90 (.../branches/gcc-8-branch) +@@ -1,4 +1,4 @@ +-! { dg-do "compile" } ++! { dg-do compile } + ! { dg-options "" } + ! + ! PR fortran/77584 +Index: gcc/testsuite/gfortran.dg/newunit_5.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/newunit_5.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/newunit_5.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,20 @@ ++! { dg-do run } ++! PR83525 Combination of newunit and internal unit was failing. ++program main ++ integer :: funit ++ logical :: isopen ++ integer :: this, another ++ character(len=:), allocatable :: message ++ ++ message = "12" ++ read(message, *) this ++ if (this.ne.12) STOP 1 ++ ++ open(newunit=funit, status="scratch") ++ write(funit, *) "13" ++ rewind(funit) ++ read(funit, *) another ++ !write(*,*) another ++ close(funit) ++ if (another.ne.13) STOP 2 ++end +Index: gcc/testsuite/gfortran.dg/c_funptr_1_mod.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/c_funptr_1_mod.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/c_funptr_1_mod.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,16 @@ ++! { dg-do run } ++! { dg-additional-sources c_funptr_1.f90 } ++! Additional module to go with c_funptr_1.f90 ++module win32_types ++ use, intrinsic :: iso_c_binding, only: C_INT,C_FUNPTR ++ implicit none ++ private ++ ++ public WNDCLASSEX_T ++ type, bind(C) :: WNDCLASSEX_T ++ integer(C_INT) :: cbSize ++ type(C_FUNPTR) :: lpfnWndProc ++ ++ end type WNDCLASSEX_T ++ ++end module win32_types +Index: gcc/testsuite/gfortran.dg/gomp/pr88377.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/gomp/pr88377.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/gomp/pr88377.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,15 @@ ++! PR fortran/88377 ++! { dg-do compile } ++ ++program pr88377 ++ call s(3) ++contains ++ subroutine s(n) ++ integer :: n ++ character(n), allocatable :: x ++ x = 'abc' ++ !$omp task ++ print *, x, (x == 'abc') ++ !$omp end task ++ end ++end +Index: gcc/testsuite/gfortran.dg/gomp/schedule-modifiers-1.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/gomp/schedule-modifiers-1.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/gomp/schedule-modifiers-1.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,63 @@ ++! { dg-do compile } ++! { dg-options "-fopenmp" } ++ ++subroutine foo ++ integer :: i ++ !$omp do simd schedule (simd, simd: static, 5) ++ do i = 0, 64 ++ end do ++ !$omp do simd schedule (monotonic, simd: static) ++ do i = 0, 64 ++ end do ++ !$omp do simd schedule (simd , monotonic : static, 6) ++ do i = 0, 64 ++ end do ++ !$omp do schedule (monotonic, monotonic : static, 7) ++ do i = 0, 64 ++ end do ++ !$omp do schedule (nonmonotonic, nonmonotonic : dynamic) ++ do i = 0, 64 ++ end do ++ !$omp do simd schedule (nonmonotonic , simd : dynamic, 3) ++ do i = 0, 64 ++ end do ++ !$omp do simd schedule (nonmonotonic,simd:guided,4) ++ do i = 0, 64 ++ end do ++ !$omp do schedule (monotonic: static, 2) ++ do i = 0, 64 ++ end do ++ !$omp do schedule (monotonic : static) ++ do i = 0, 64 ++ end do ++ !$omp do schedule (monotonic : dynamic) ++ do i = 0, 64 ++ end do ++ !$omp do schedule (monotonic : dynamic, 3) ++ do i = 0, 64 ++ end do ++ !$omp do schedule (monotonic : guided) ++ do i = 0, 64 ++ end do ++ !$omp do schedule (monotonic : guided, 7) ++ do i = 0, 64 ++ end do ++ !$omp do schedule (monotonic : runtime) ++ do i = 0, 64 ++ end do ++ !$omp do schedule (monotonic : auto) ++ do i = 0, 64 ++ end do ++ !$omp do schedule (nonmonotonic : dynamic) ++ do i = 0, 64 ++ end do ++ !$omp do schedule (nonmonotonic : dynamic, 3) ++ do i = 0, 64 ++ end do ++ !$omp do schedule (nonmonotonic : guided) ++ do i = 0, 64 ++ end do ++ !$omp do schedule (nonmonotonic : guided, 7) ++ do i = 0, 64 ++ end do ++end subroutine foo +Index: gcc/testsuite/gfortran.dg/gomp/schedule-modifiers-2.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/gomp/schedule-modifiers-2.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/gomp/schedule-modifiers-2.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,44 @@ ++! { dg-do compile } ++! { dg-options "-fopenmp" } ++ ++subroutine foo ++ integer :: i ++ !$omp do schedule (nonmonotonic: static, 2) ! { dg-error "NONMONOTONIC modifier specified for STATIC schedule kind" } ++ do i = 0, 64 ++ end do ++ !$omp do schedule (nonmonotonic : static) ! { dg-error "NONMONOTONIC modifier specified for STATIC schedule kind" } ++ do i = 0, 64 ++ end do ++ !$omp do schedule (nonmonotonic : runtime) ! { dg-error "NONMONOTONIC modifier specified for RUNTIME schedule kind" } ++ do i = 0, 64 ++ end do ++ !$omp do schedule (nonmonotonic : auto) ! { dg-error "NONMONOTONIC modifier specified for AUTO schedule kind" } ++ do i = 0, 64 ++ end do ++ !$omp do schedule (nonmonotonic : dynamic) ordered ! { dg-error "NONMONOTONIC schedule modifier specified with ORDERED clause" } ++ do i = 0, 64 ++ !$omp ordered ++ !$omp end ordered ++ end do ++ !$omp do ordered schedule(nonmonotonic : dynamic, 5) ! { dg-error "NONMONOTONIC schedule modifier specified with ORDERED clause" } ++ do i = 0, 64 ++ !$omp ordered ++ !$omp end ordered ++ end do ++ !$omp do schedule (nonmonotonic : guided) ordered(1) ! { dg-error "NONMONOTONIC schedule modifier specified with ORDERED clause" } ++ do i = 0, 64 ++ !$omp ordered depend(sink: i - 1) ++ !$omp ordered depend(source) ++ end do ++ !$omp do ordered(1) schedule(nonmonotonic : guided, 2) ! { dg-error "NONMONOTONIC schedule modifier specified with ORDERED clause" } ++ do i = 0, 64 ++ !$omp ordered depend(source) ++ !$ordered depend(sink: i - 1) ++ end do ++ !$omp do schedule (nonmonotonic , monotonic : dynamic) ! { dg-error "Both MONOTONIC and NONMONOTONIC schedule modifiers specified" } ++ do i = 0, 64 ++ end do ++ !$omp do schedule (monotonic,nonmonotonic:dynamic) ! { dg-error "Both MONOTONIC and NONMONOTONIC schedule modifiers specified" } ++ do i = 0, 64 ++ end do ++end subroutine foo +Index: gcc/testsuite/gfortran.dg/warn_undefined_1.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/warn_undefined_1.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/warn_undefined_1.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,28 @@ ++! { dg-do compile } ++! { dg-options "-O2 -Wuninitialized" } ++! PR 67679 - this used to cause an undefined warning for ++! variables generated by the compiler. ++ ++subroutine s(h, Gmin, r) ++ ++ implicit none ++ real, intent(in) :: Gmin(3), h(3) ++ integer, intent(inout) :: r ++ ++ integer :: x_min(3), x_max(3), k, iStat ++ logical, dimension(:), allocatable :: check ++ ++ do k = 1,1 ++ x_min(k) = int(Gmin(k)*h(k)) ++ x_max(k) = int(Gmin(k)*h(k)) ++ end do ++ ++ allocate(check(x_min(1):x_max(1)),stat=iStat) ++ ++ check(:) = .false. ++ ++ do k = x_min(1),x_max(1) ++ r = r + 1 ++ end do ++ ++end +Index: gcc/testsuite/gfortran.dg/pdt_28.f03 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pdt_28.f03 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pdt_28.f03 (.../branches/gcc-8-branch) +@@ -1,5 +1,5 @@ + ! { dg-do run } +-! ( dg-options "-fbounds-check" } ++! { dg-options "-fbounds-check" } + ! + ! Test the fix for PR83731, where the following failed on the check for the + ! value of the parameter 'k'. +Index: gcc/testsuite/gfortran.dg/20181025-1.f +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/20181025-1.f (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/20181025-1.f (.../branches/gcc-8-branch) +@@ -0,0 +1,28 @@ ++! { dg-do compile } ++! { dg-options "-Ofast" } ++! { dg-additional-options "-mavx2" { target { x86_64-*-* i?86-*-* } } } ++ SUBROUTINE FOO(EF3,CA,ZA,NATA,IC4,NFRGPT) ++ IMPLICIT DOUBLE PRECISION (A-H,O-Z) ++ PARAMETER (MXATM=500) ++ COMMON DE(3,MXATM) ++ DIMENSION CA(3,NATA) ++ DIMENSION ZA(NATA) ++ DIMENSION EF3(3,NFRGPT) ++ DO II = 1,NATA ++ XII = XJ - CA(1,II) ++ YII = YJ - CA(2,II) ++ ZII = ZJ - CA(3,II) ++ RJII = SQRT(XII*XII + YII*YII + ZII*ZII) ++ R3 = RJII*RJII*RJII ++ IF (IC4.EQ.0) THEN ++ DE(1,II) = DE(1,II) - S2*ZA(II)*XII/R3 ++ DE(2,II) = DE(2,II) - S2*ZA(II)*YII/R3 ++ DE(3,II) = DE(3,II) - S2*ZA(II)*ZII/R3 ++ ELSE ++ EF3(1,IC4+II) = EF3(1,IC4+II) - S2*ZA(II)*XII/R3 ++ EF3(2,IC4+II) = EF3(2,IC4+II) - S2*ZA(II)*YII/R3 ++ EF3(3,IC4+II) = EF3(3,IC4+II) - S2*ZA(II)*ZII/R3 ++ END IF ++ END DO ++ RETURN ++ END +Index: gcc/testsuite/gfortran.dg/pr88169_2.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr88169_2.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr88169_2.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,31 @@ ++! { dg-do run } ++module foo_nml ++ implicit none ++ real :: x = -1 ++ namelist /foo/ x ++end module ++! ++! Yes, implicit typing of local variable 'x'. ++! ++program main ++ use foo_nml, only: bar => foo ++ integer fd ++ x = 42 ++ open(newunit=fd, file='tmp.dat', status='replace') ++ write(fd,nml=bar) ++ close(fd) ++ open(newunit=fd, file='tmp.dat', status='old') ++ read(fd,nml=bar) ++ close(fd) ++ call bah ++ if (x /= 42) stop 1 ++end program ++ ++subroutine bah ++ use foo_nml ++ integer fd ++ open(newunit=fd, file='tmp.dat', status='old') ++ read(fd,nml=foo) ++ if (x /= -1) stop 2 ++ close(fd, status='delete') ++end subroutine bah +Index: gcc/testsuite/gfortran.dg/pr35031.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr35031.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr35031.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,10 @@ ++! { dg-do compile } ++elemental subroutine sub2(x) ++ integer, intent(in) :: x ++ entry sub2_c(x) bind(c) ! { dg-error "prohibited in an elemental" } ++end subroutine sub2 ++ ++elemental function func2(x) ++ integer, intent(in) :: x ++ entry func2_c(x) bind(c) ! { dg-error "prohibited in an elemental" } ++end function func2 +Index: gcc/testsuite/gfortran.dg/c_funptr_1.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/c_funptr_1.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/c_funptr_1.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,38 @@ ++! { dg-do preprocess } ++! { dg-additional-options "-cpp" } ++! PR 57048 - this used not to compile. Original test case by Angelo ++! Graziosi. Only works if compiled c_funptr_1_mod.f90, hence the ++! do-nothing directive above. ++module procs ++ ++ implicit none ++ private ++ ++ public WndProc ++ ++contains ++ function WndProc() ++ integer :: WndProc ++ ++ WndProc = 0 ++ end function WndProc ++end module procs ++ ++function WinMain() ++ use, intrinsic :: iso_c_binding, only: C_INT,c_sizeof,c_funloc ++ use win32_types ++ use procs ++ implicit none ++ ++ integer :: WinMain ++ ++ type(WNDCLASSEX_T) :: WndClass ++ ++ WndClass%cbSize = int(c_sizeof(Wndclass),C_INT) ++ WndClass%lpfnWndProc = c_funloc(WndProc) ++ ++ WinMain = 0 ++end function WinMain ++ ++program main ++end +Index: gcc/testsuite/gfortran.dg/pr88116_2.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr88116_2.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr88116_2.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,7 @@ ++! { dg-do run } ++program p ++ real :: a(2) = [real :: 1, [integer :: (real(k), k=2,1), 2]] ++ real :: b(1) = [real :: [integer :: (dble(k), k=1,0), 2]] ++ if (a(1) /= 1. .or. a(2) /= 2. .or. b(1) /= 2.) stop 1 ++end ++ +Index: gcc/testsuite/gfortran.dg/associate_40.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/associate_40.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/associate_40.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,96 @@ ++! { dg-do compile } ++! { dg-options "-fdump-tree-original" } ++! ++! Test the fix for the second part of PR87359 in which the reallocation on ++! assignment for components of associate names was disallowed by r264358. ++! -fcheck-all exposed the mismatch in array shapes. The deallocations at ++! the end of the main program are there to make sure that valgrind does ++! not report an memory leaks. ++! ++! Contributed by Juergen Reuter ++! ++module phs_fks ++ implicit none ++ private ++ public :: phs_identifier_t ++ public :: phs_fks_t ++ type :: phs_identifier_t ++ integer, dimension(:), allocatable :: contributors ++ contains ++ procedure :: init => phs_identifier_init ++ end type phs_identifier_t ++ ++ type :: phs_fks_t ++ type(phs_identifier_t), dimension(:), allocatable :: phs_identifiers ++ end type phs_fks_t ++contains ++ ++ subroutine phs_identifier_init & ++ (phs_id, contributors) ++ class(phs_identifier_t), intent(out) :: phs_id ++ integer, intent(in), dimension(:) :: contributors ++ allocate (phs_id%contributors (size (contributors))) ++ phs_id%contributors = contributors ++ end subroutine phs_identifier_init ++ ++end module phs_fks ++ ++!!!!! ++ ++module instances ++ use phs_fks ++ implicit none ++ private ++ public :: process_instance_t ++ ++ type :: nlo_event_deps_t ++ type(phs_identifier_t), dimension(:), allocatable :: phs_identifiers ++ end type nlo_event_deps_t ++ ++ type :: process_instance_t ++ type(phs_fks_t), pointer :: phs => null () ++ type(nlo_event_deps_t) :: event_deps ++ contains ++ procedure :: init => process_instance_init ++ procedure :: setup_real_event_kinematics => pi_setup_real_event_kinematics ++ end type process_instance_t ++ ++contains ++ ++ subroutine process_instance_init (instance) ++ class(process_instance_t), intent(out), target :: instance ++ integer :: i ++ integer :: i_born, i_real ++ allocate (instance%phs) ++ end subroutine process_instance_init ++ ++ subroutine pi_setup_real_event_kinematics (process_instance) ++ class(process_instance_t), intent(inout) :: process_instance ++ integer :: i_real, i ++ associate (event_deps => process_instance%event_deps) ++ i_real = 2 ++ associate (phs => process_instance%phs) ++ allocate (phs%phs_identifiers (3)) ++ call phs%phs_identifiers(1)%init ([1]) ++ call phs%phs_identifiers(2)%init ([1,2]) ++ call phs%phs_identifiers(3)%init ([1,2,3]) ++ process_instance%event_deps%phs_identifiers = phs%phs_identifiers ! Error: mismatch in array shapes. ++ end associate ++ end associate ++ end subroutine pi_setup_real_event_kinematics ++ ++end module instances ++ ++!!!!! ++ ++program main ++ use instances, only: process_instance_t ++ implicit none ++ type(process_instance_t), allocatable, target :: process_instance ++ allocate (process_instance) ++ call process_instance%init () ++ call process_instance%setup_real_event_kinematics () ++ if (associated (process_instance%phs)) deallocate (process_instance%phs) ++ if (allocated (process_instance)) deallocate (process_instance) ++end program main ++! { dg-final { scan-tree-dump-times "__builtin_realloc" 2 "original" } } +Index: gcc/testsuite/gfortran.dg/debug/pr35154-stabs.f +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/debug/pr35154-stabs.f (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/debug/pr35154-stabs.f (.../branches/gcc-8-branch) +@@ -1,7 +1,7 @@ + C Test program for common block debugging. G. Helffrich 11 July 2004. + C { dg-do compile } + C { dg-skip-if "No stabs" { aarch64*-*-* mmix-*-* alpha*-*-* hppa*64*-*-* ia64-*-* *-*-vxworks* } } +-C { dg-skip-if "No stabs" {*-*-* } { "*" } { "-gstabs" } } ++C { dg-skip-if "No stabs" { *-*-* } { "*" } { "-gstabs" } } + common i,j + common /label/l,m + i = 1 +Index: gcc/testsuite/gfortran.dg/pr86328.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr86328.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr86328.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,49 @@ ++! { dg-do run } ++! ++! Test the fix for PR86328 in which temporaries were not being ++! assigned for array component references. ++! ++! Contributed by Martin ++! ++program ptr_alloc ++ ++ type :: t ++ class(*), allocatable :: val ++ end type ++ ++ type :: list ++ type(t), dimension(:), pointer :: ll ++ end type ++ ++ integer :: i ++ type(list) :: a ++ ++ allocate(a%ll(1:2)) ++ do i = 1,2 ++ allocate(a%ll(i)%val, source=i) ++ end do ++ ++ do i = 1,2 ++ call rrr(a, i) ++ end do ++ ++ do i = 1,2 ++ deallocate(a%ll(i)%val) ++ end do ++ deallocate (a%ll) ++contains ++ ++ subroutine rrr(a, i) ++ type(list), intent(in) :: a ++ class(*), allocatable :: c ++ integer :: i ++ ++ allocate(c, source=a%ll(i)%val) ++ select type (c) ++ type is (integer) ++ if (c .ne. i) stop 1 ++ end select ++ ++ end subroutine ++ ++end +Index: gcc/testsuite/gfortran.dg/pr88155.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr88155.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr88155.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,9 @@ ++! { dg-do compile } ++program p ++ type t ++ integer :: a ++ end type ++ type(t) :: x ++ data x /t()1/ ! { dg-error "No initializer for component" } ++ print *, x ++end +Index: gcc/testsuite/gfortran.dg/associate_44.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/associate_44.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/associate_44.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,23 @@ ++! { dg-do compile } ++! ++! Test the fix for PR56386 ++! ++! Contributed by Vladimir Fuka ++! ++subroutine CustomSolidBodies ++ implicit none ++ ++ type inner ++ real :: elev ++ end type ++ ++ type :: outer ++ type(inner),dimension(0) :: PrPoints ++ end type ++ ++ type(outer) :: SB ++ ++ associate (Prter=>SB%PrPoints) ++ PrTer%elev=0 ! ICE here ++ end associate ++end subroutine CustomSolidBodies +Index: gcc/testsuite/gfortran.dg/warn_conversion_10.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/warn_conversion_10.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/warn_conversion_10.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,8 @@ ++! { dg-do compile } ++! { dg-options "-fno-range-check -Wconversion" } ++! PR 88298 - this used to warn unnecessarily. Original test case by ++! Harald Anlauf. ++subroutine bug (j, js) ++ integer :: j, js(3,2) ++ js(:,:) = cshift (js(:,:), shift=j, dim=1) ++end subroutine bug +Index: gcc/testsuite/gfortran.dg/realloc_on_assign_32.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/realloc_on_assign_32.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/realloc_on_assign_32.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,31 @@ ++! { dg-do run } ++! ++! Test the fix for PR88980 in which the 'span' field if the descriptor ++! for 'Items' was not set, causing the assignment to segfault. ++! ++! Contributed by Antony Lewis ++! ++program tester ++ call gbug ++contains ++ subroutine gbug ++ type TNameValue ++ character(LEN=:), allocatable :: Name ++ end type TNameValue ++ ++ type TNameValue_pointer ++ Type(TNameValue), allocatable :: P ++ end type TNameValue_pointer ++ ++ Type TType ++ type(TNameValue_pointer), dimension(:), allocatable :: Items ++ end type TType ++ Type(TType) T ++ ++ allocate(T%Items(2)) ++ allocate(T%Items(2)%P) ++ T%Items(2)%P%Name = 'test' ++ if (T%Items(2)%P%Name .ne. 'test') stop 1 ++ ++ end subroutine gbug ++end program tester +Index: gcc/testsuite/gfortran.dg/transpose_optimization_2.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/transpose_optimization_2.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/transpose_optimization_2.f90 (.../branches/gcc-8-branch) +@@ -60,5 +60,5 @@ + ! + ! The check below for temporaries gave 14 and 33 for "parm" and "atmp". + ! +-! { dg-final { scan-tree-dump-times "parm" 66 "original" } } ++! { dg-final { scan-tree-dump-times "parm" 72 "original" } } + ! { dg-final { scan-tree-dump-times "atmp" 12 "original" } } +Index: gcc/testsuite/gfortran.dg/read_legacy_comma.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/read_legacy_comma.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/read_legacy_comma.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,31 @@ ++! { dg-do run } ++! { dg-options "-std=legacy" } ++! PR78351 ++program read_csv ++ implicit none ++ integer, parameter :: dbl = selected_real_kind(p=14, r=99) ++ ++ call checkit("101,1.,2.,3.,7,7") ++ call checkit ("102,1.,,3.,,7") ++ call checkit (",1.,,3.,, ") ++ ++contains ++ ++subroutine checkit (text) ++ character(*) :: text ++ integer :: I1, I2, I3 ++ real(dbl) :: R1, R2, R3 ++ 10 format (I8,3ES16.8,2I8) ++ ++ I1=-99; I2=-99; I3=-99 ++ R1=-99._DBL; R2=-99._DBL; R3=-99._DBL ++ read(text,10) I1, R1, R2, R3, I2, I3 ++ if (I1 == -99) stop 1 ++ if (I2 == -99) stop 2 ++ if (I3 == -99) stop 3 ++ if (R1 == -99._DBL) stop 4 ++ if (R2 == -99._DBL) stop 5 ++ if (R3 == -99._DBL) stop 6 ++end subroutine ++ ++end program +Index: gcc/testsuite/gfortran.dg/deferred_character_22.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/deferred_character_22.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/deferred_character_22.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,27 @@ ++! { dg-do run } ++! ++! Test the fix for PR77325, which casued an ICE in the gimplifier. The ++! segafults in 'contains_struct_check' were found while diagnosing the PR. ++! ++! Contributed by Gerhard Steinmetz ++! ++program p ++ character(3), parameter :: a(3) = ['abc', 'def', 'ghi'] ++ character(1), parameter :: c(3) = ['a', 'b', 'c'] ++ character(:), allocatable :: z(:) ++ z = c([3,2]) ! Vector subscripts caused an iCE in the gimplifier. ++ if (any (z .ne. ['c', 'b'])) stop 1 ++ z = c ++ if (any (z .ne. ['a', 'b', 'c'])) stop 2 ++ z = c(2:1:-1) ++ if (any (z .ne. ['b', 'a'])) stop 3 ++ z = c(3) ++ if (any (z .ne. ['c', 'c'])) stop 4 ++ z = a([3,1,2]) ++ if (any (z .ne. ['ghi', 'abc', 'def'])) stop 5 ++ z = a(1:2)(2:3) ! Substrings caused a segfault in 'contains_struct_check'. ++ if (any (z .ne. ['bc', 'ef'])) stop 6 ++ z = a([2,3,1])(2:3) ! ditto ++ if (any (z .ne. ['ef', 'hi', 'bc'])) stop 7 ++ deallocate (z) ++end +Index: gcc/testsuite/gfortran.dg/matmul_19.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/matmul_19.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/matmul_19.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,25 @@ ++! { dg-do run } ++! { dg-options "-finline-matmul-limit=0" } ++! PR 86704 - this used to segfault. ++ ++program testmaticovenasobeni ++implicit none ++ ++ character(len=10) :: line ++ write (unit=line,fmt=*) testmatmul(120,1,3) ++ ++ contains ++ ++ function testmatmul(m,n,o) ++ integer, intent(in) :: m,n,o ++ real :: A(n,m),B(n,o),C(m,o) ++ logical :: testmatmul ++ ++ call random_number(A) ++ call random_number(B) ++ ++ C=matmul(transpose(A),B) ++ testmatmul=.true. ++ end function ++ ++end program testmaticovenasobeni +Index: gcc/testsuite/gfortran.dg/dec_structure_14.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/dec_structure_14.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/dec_structure_14.f90 (.../branches/gcc-8-branch) +@@ -1,4 +1,4 @@ +- ! { dg-do "compile" } ++ ! { dg-do compile } + ! { dg-options "-fdec-structure" } + ! + ! Test that structures inside a common block do not require the +Index: gcc/testsuite/gfortran.dg/matmul_const.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/matmul_const.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/matmul_const.f90 (.../branches/gcc-8-branch) +@@ -7,4 +7,4 @@ + write (unit=line,fmt='(9i3)') matmul(A,B) + if (line /= ' 5 7 9 5 7 9 5 7 9') STOP 1 + end program main +-! dg-final { scan-tree-dump-times "matmul_i4" 0 "original" } } ++! { dg-final { scan-tree-dump-times "matmul_i4" 0 "original" } } +Index: gcc/testsuite/gfortran.dg/allocate_with_mold_2.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/allocate_with_mold_2.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/allocate_with_mold_2.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,62 @@ ++! { dg-do compile } ++! { dg-options "-fdump-tree-original" } ++! ++! Test the fix for PR87284 in which the indexing in allocate with mold ++! was incorrect for class array initialization and resulted in the valgrind ++! error: ++! "Conditional jump or move depends on uninitialised value(s)" at line 42. ++! ++! Contributed by Andrew Baldwin on clf. ++! ++ MODULE INTS_TYPE_MODULE ++ TYPE, ABSTRACT :: BASE_TYPE ++ END TYPE BASE_TYPE ++ ++ TYPE, EXTENDS (BASE_TYPE) :: INTS_TYPE ++ INTEGER, ALLOCATABLE :: INTS(:) ++ END TYPE INTS_TYPE ++ CONTAINS ++ SUBROUTINE MOLD_ALLOCATE (IT_OBJS, MOLD_OBJ) ++ CLASS (BASE_TYPE), ALLOCATABLE, INTENT (OUT) :: IT_OBJS(:) ++ CLASS (BASE_TYPE), INTENT (IN) :: MOLD_OBJ ++ ++ ALLOCATE (IT_OBJS(2), mold = MOLD_OBJ) ++ ++ RETURN ++ END SUBROUTINE MOLD_ALLOCATE ++ END MODULE INTS_TYPE_MODULE ++ ++ PROGRAM MFE ++ USE INTS_TYPE_MODULE ++ IMPLICIT NONE ++ ++ CLASS (BASE_TYPE), ALLOCATABLE :: IT_OBJS(:) ++ INTEGER :: I ++ TYPE (INTS_TYPE) :: MOLD_OBJ ++ ++ ALLOCATE (INTS_TYPE :: IT_OBJS(2)) ++ ++ SELECT TYPE (IT_OBJS) ++ TYPE IS (INTS_TYPE) ++ ALLOCATE (IT_OBJS(1)%INTS(10)) ++ ++ ALLOCATE (IT_OBJS(2)%INTS(10)) ++ END SELECT ++ ++ ++ DEALLOCATE (IT_OBJS) ++ ++ CALL MOLD_ALLOCATE (IT_OBJS, MOLD_OBJ) ++ ++ IF (ALLOCATED(IT_OBJS)) THEN ++ IF (SIZE(IT_OBJS) .GE. 2) THEN ++ SELECT TYPE (IT_OBJS) ++ TYPE IS (INTS_TYPE) ++ ALLOCATE (IT_OBJS(1)%INTS(10)) ++ ++ ALLOCATE (IT_OBJS(2)%INTS(10)) ++ END SELECT ++ END IF ++ END IF ++ END PROGRAM MFE ++! { dg-final { scan-tree-dump-times "it_objs->_vptr->_size" 1 "original" } } +Index: gcc/testsuite/gfortran.dg/pr88169_1.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr88169_1.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr88169_1.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,21 @@ ++! { dg-do run } ++module foo_nml ++ implicit none ++ real :: x = -1 ++ namelist /foo/ x ++end module ++ ++program main ++ use foo_nml, only: bar => foo, x ++ implicit none ++ integer fd ++ x = 42 ++ open(newunit=fd, file='tmp.dat', status='replace') ++ write(fd,nml=bar) ++ close(fd) ++ open(newunit=fd, file='tmp.dat', status='old') ++ read(fd,nml=bar) ++ if (x /= 42) stop 1 ++ close(fd) ++end program ++! { dg-final { cleanup-modules "foo_nml" } } +Index: gcc/testsuite/gfortran.dg/pr88048.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr88048.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr88048.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,7 @@ ++! { dg-do compile } ++! PR fortran/88048 ++program p ++ integer, parameter :: a(2) = 1 ++ data a(2) /a(1)/ ! { dg-error "definable entity" } ++ print *, a ++end +Index: gcc/testsuite/gfortran.dg/pr83246.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr83246.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr83246.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,9 @@ ++! PR fortran/83246 ++! { dg-do link } ++ program dusty_corner ++ write(*,*)'BLOCK TESTS' ++ MAKEDATAP: block ++ integer,parameter :: scratch(*)=[1,2,3] ++ write(*,*)scratch ++ endblock MAKEDATAP ++ end program dusty_corner +Index: gcc/testsuite/gfortran.dg/pointer_array_10.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pointer_array_10.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pointer_array_10.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,27 @@ ++! { dg-do run } ++! ++! Test the fix for PR87336, in which the 'span' field of the array ++! descriptor, passed to 'show', was not set. ++! ++! Contributed by Juergen Reuter following ++! a posting to clf by 'Spectrum'. ++! ++program main ++ implicit none ++ integer, target :: a( 2:4 ) ++ ++ a = [2,3,4] ++! print *, "a [before] = ", a ++ call show( a ) ++! print *, "a [after] = ", a ++ if (any (a .ne. [200,300,400])) stop 1 ++ ++contains ++ subroutine show( arr ) ++ integer, pointer, intent(in) :: arr(:) ++! print *, "arr = ", arr ++! print *, "bounds = ", lbound(arr), ubound(arr) ++ arr(:) = [200,300,400] ++! print *, "arr2= ", arr ++ end subroutine show ++ end program +Index: gcc/testsuite/gfortran.dg/pr88116_1.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr88116_1.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr88116_1.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,4 @@ ++! { dg-do compile } ++program p ++ print *, [integer :: 1, [integer(8) :: 2, ['3']]] ! { dg-error "Can't convert" } ++end +Index: gcc/testsuite/gfortran.dg/array_constructor_type_23.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/array_constructor_type_23.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/array_constructor_type_23.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,7 @@ ++! { dg-do compile } ++! PR 83999 - this used to ICE ++! Origial test case by Gerhard Steinmetz ++ ++program p ++ character(2) :: c = 'a' // [character :: [1]] ! { dg-error "Illegal type in character concatenation" } ++end +Index: gcc/testsuite/gfortran.dg/assign_10.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/assign_10.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/assign_10.f90 (.../branches/gcc-8-branch) +@@ -23,5 +23,5 @@ + ! cases will all yield a temporary, so that atmp appears 18 times. + ! Note that it is the kind conversion that generates the temp. + ! +-! { dg-final { scan-tree-dump-times "parm" 18 "original" } } ++! { dg-final { scan-tree-dump-times "parm" 20 "original" } } + ! { dg-final { scan-tree-dump-times "atmp" 18 "original" } } +Index: gcc/testsuite/gfortran.dg/pr88269.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr88269.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr88269.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,6 @@ ++! { dg-do compile } ++! PR fortran/88269 ++program p ++ write (end=1e1) ! { dg-error "tag not allowed" } ++end ++ +Index: gcc/testsuite/gfortran.dg/select_type_43.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/select_type_43.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/select_type_43.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,48 @@ ++! { dg-do run } ++! ++! Tests the fix for PRxxxxx - runtime segfault as indicated. ++! ++! Contributed by Andrew Baldwin on clf. ++! ++ MODULE INTS_TYPE_MODULE ++ TYPE INTS_TYPE ++ INTEGER, ALLOCATABLE :: INTS(:) ++ END TYPE INTS_TYPE ++ CONTAINS ++ SUBROUTINE ALLOCATE_INTS_TYPE (IT_OBJ) ++ CLASS (INTS_TYPE), POINTER, INTENT (OUT) :: IT_OBJ ++ ++ ALLOCATE (INTS_TYPE :: IT_OBJ) ++ ++ SELECT TYPE (IT_OBJ) ++ TYPE IS (INTS_TYPE) ++ CALL ALLOCATE_ARRAY (IT_OBJ%INTS) ! Sefaulted at runtime here. ++ if (.not.allocated (IT_OBJ%INTS)) stop 1 ++ if (any (IT_OBJ%INTS .ne. [1,2,3,4])) stop 2 ++ END SELECT ++ ++ RETURN ++ END SUBROUTINE ALLOCATE_INTS_TYPE ++ ++ SUBROUTINE ALLOCATE_ARRAY (ALLOC_ARR) ++ INTEGER, ALLOCATABLE, INTENT (OUT) :: ALLOC_ARR(:) ++ INTEGER :: I ++ ++ ALLOCATE (ALLOC_ARR(4)) ++ ++ DO I = 1, SIZE(ALLOC_ARR) ++ ALLOC_ARR(I) = I ++ END DO ++ ++ RETURN ++ END SUBROUTINE ALLOCATE_ARRAY ++ END MODULE INTS_TYPE_MODULE ++ ++ PROGRAM MFE ++ USE INTS_TYPE_MODULE ++ IMPLICIT NONE ++ ++ CLASS (INTS_TYPE), POINTER :: IT_OBJ ++ ++ CALL ALLOCATE_INTS_TYPE (IT_OBJ) ++ END PROGRAM MFE +Index: gcc/testsuite/gfortran.dg/proc_ptr_comp_52.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/proc_ptr_comp_52.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/proc_ptr_comp_52.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,33 @@ ++! { dg-do compile } ++! ++! PR 85395: [F03] private clause contained in derived type acquires spurious scope ++! ++! Contributed by ++ ++module defs ++ implicit none ++ ++ type :: base ++ contains ++ private ++ end type ++ ++ type :: options ++ procedure(), pointer, nopass :: ptr ++ end type ++ ++ type :: t ++ private ++ procedure(), pointer, nopass, public :: ptr ++ end type ++end module ++ ++ ++program p ++ use defs ++ implicit none ++ type(options) :: self ++ type(t) :: dt ++ self%ptr => null() ++ dt%ptr => null() ++end +Index: gcc/testsuite/gfortran.dg/namelist_96.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/namelist_96.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/namelist_96.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,38 @@ ++! { dg-do run } ++program pr88776 ++ implicit none ++ character(*), parameter :: file = "pr88776.dat" ++ type t_chan ++ integer :: ichan = -1 ++ character(len=8) :: flag = '' ++ integer :: band = -1 ++ end type t_chan ++ type(t_chan) :: chan ++ namelist /NML/ chan ++ open (11,file=file) ++ write(11,'(a)') trim("&nml chan = 1 '#1 ' 10 /") ++ write(11,'(a)') trim("&nml chan = 2 '#2 ' 42.36/") ++ write(11,'(a)') trim("&nml chan = 3 '#3 ' 30 /") ++ close(11) ++ call read (unit=10) ! No problem ++ call read (unit=5) ! problem, now fixed ++ open (11,file=file) ++ close (11, status="delete") ++contains ++ subroutine read (unit) ++ integer, intent(in) :: unit ++ integer :: stat ++ open (unit, file=file, action="read") ++ chan = t_chan(-1,'',-1) ++ stat = 0 ++ read (unit, nml=NML, iostat=stat) ++ if (stat /= 0) stop 1 ++ chan = t_chan(-1,'',-1) ++ read (unit, nml=NML, iostat=stat) ++ if (stat == 0) stop 2 ++ if (chan% ichan /= 2) then ++ stop 3 ++ end if ++ close (unit) ++ end subroutine read ++end program pr88776 +Index: gcc/testsuite/gfortran.dg/io_constraints_8.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/io_constraints_8.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/io_constraints_8.f90 (.../branches/gcc-8-branch) +@@ -14,7 +14,7 @@ + + OPEN(99, access=4_'direct') ! { dg-error "must be a character string of default kind" } + OPEN(99, action=4_'read') ! { dg-error "must be a character string of default kind" } +-OPEN(99, asynchronous=4_'no') ! { dg-error "must be a character string of default kind" }) ++OPEN(99, asynchronous=4_'no') ! { dg-error "must be of default CHARACTER kind" } + OPEN(99, blank=4_'null') ! { dg-error "must be a character string of default kind" } + OPEN(99, decimal=4_'comma') ! { dg-error "must be a character string of default kind" } + OPEN(99, delim=4_'quote') ! { dg-error "must be a character string of default kind" } +Index: gcc/testsuite/gfortran.dg/vect/pr86421.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/vect/pr86421.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/vect/pr86421.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,35 @@ ++! PR fortran/86421 ++! { dg-require-effective-target vect_simd_clones } ++! { dg-additional-options "-fopenmp-simd" } ++! { dg-additional-options "-mavx" { target avx_runtime } } ++ ++module mod86421 ++ implicit none ++contains ++ subroutine foo(x, y, z) ++ real :: x ++ integer :: y, z ++ !$omp declare simd linear(ref(x)) linear(val(y)) linear(uval(z)) ++ x = x + y ++ z = z + 1 ++ end subroutine ++end module mod86421 ++ ++program pr86421 ++ use mod86421 ++ implicit none ++ integer :: i, j ++ real :: a(64) ++ j = 0 ++ do i = 1, 64 ++ a(i) = i ++ end do ++ !$omp simd ++ do i = 1, 64 ++ call foo (a(i), i, j) ++ end do ++ do i = 1, 64 ++ if (a(i) .ne. (2 * i)) stop 1 ++ end do ++ if (j .ne. 64) stop 2 ++end program pr86421 +Index: gcc/testsuite/gfortran.dg/vect/vect-2.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/vect/vect-2.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/vect/vect-2.f90 (.../branches/gcc-8-branch) +@@ -16,4 +16,4 @@ + ! support unaligned loads). + + ! { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" } } +-! { dg-final { scan-tree-dump-times "Alignment of access forced using versioning." 3 "vect" {target { { vect_no_align && { ! vect_hw_misalign } } || { { ! vector_alignment_reachable } && { ! vect_hw_misalign } } } } } } ++! { dg-final { scan-tree-dump-times "Alignment of access forced using versioning." 3 "vect" { target { { vect_no_align && { ! vect_hw_misalign } } || { { ! vector_alignment_reachable } && { ! vect_hw_misalign } } } } } } +Index: gcc/testsuite/gfortran.dg/pr88025.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr88025.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr88025.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,7 @@ ++! { dg-do compile } ++! PR fortran/88025 ++program p ++ type t ++ character(('')) :: c = 'c' ! { dg-error "must be of INTEGER type" } ++ end type ++end +Index: gcc/testsuite/gfortran.dg/generic_34.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/generic_34.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/generic_34.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,27 @@ ++! { dg-do compile } ++! ++! PR 86116: [6/7/8/9 Regression] Ambiguous generic interface not recognised ++! ++! Contributed by martin ++ ++module mod ++ ++ type :: t ++ end type t ++ ++ interface sub ++ module procedure s1 ++ module procedure s2 ++ end interface ++ ++contains ++ ++ subroutine s1(x) ! { dg-error "Ambiguous interfaces in generic interface" } ++ type(t) :: x ++ end subroutine ++ ++ subroutine s2(x) ! { dg-error "Ambiguous interfaces in generic interface" } ++ class(*), allocatable :: x ++ end subroutine ++ ++end +Index: gcc/testsuite/gfortran.dg/deferred_character_21.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/deferred_character_21.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/deferred_character_21.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,29 @@ ++! { dg-do compile } ++! { dg-options "-O3" } ++! ++! Tests the fix for PR85954 in which the gimplifier could not determine ++! the space required for the dummy argument data types, when inlining the ++! subroutines. ++! ++! Contributed by G.Steinmetz ++! ++program p ++ character(kind=1,len=:), allocatable :: z(:) ++ allocate (z, source = ["xyz"]) ++ print *, allocated(z), size(z), len(z), z ++ call s(z) ++ call t(z) ++contains ++ subroutine s(x) ++ character(kind=1,len=:), allocatable :: x(:) ++ x = ['abcd'] ++ print *, allocated(x), size(x), len(x), x ++ end ++ subroutine t(x) ++ character(kind=1,len=:), allocatable :: x(:) ++ associate (y => x) ++ y = ['abc'] ++ end associate ++ print *, allocated(x), size(x), len(x), x ++ end ++end +Index: gcc/testsuite/gfortran.dg/coarray_lock_7.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/coarray_lock_7.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/coarray_lock_7.f90 (.../branches/gcc-8-branch) +@@ -35,8 +35,8 @@ + ! { dg-final { scan-tree-dump-times "_gfortran_caf_lock \\(caf_token.., 0, 0, 0B, 0B, 0B, 0\\);" 1 "original" } } + ! { dg-final { scan-tree-dump-times "_gfortran_caf_unlock \\(caf_token.., 0, 0, 0B, 0B, 0\\);" 1 "original" } } + +-! { dg-final { scan-tree-dump-times "_gfortran_caf_lock \\(caf_token.., \\(3 - \\(integer\\(kind=4\\)\\) parm...dim\\\[0\\\].lbound\\) \\+ \\(integer\\(kind=4\\)\\) \\(MAX_EXPR \\+ 1\\) \\* \\(3 - \\(integer\\(kind=4\\)\\) parm...dim\\\[1\\\].lbound\\), 0, 0B, &ii, 0B, 0\\);|_gfortran_caf_lock \\(caf_token.1, \\(3 - parm...dim\\\[0\\\].lbound\\) \\+ \\(MAX_EXPR \\+ 1\\) \\* \\(3 - parm...dim\\\[1\\\].lbound\\), 0, 0B, &ii, 0B, 0\\);" 1 "original" } } +-! { dg-final { scan-tree-dump-times "_gfortran_caf_unlock \\(caf_token.., \\(2 - \\(integer\\(kind=4\\)\\) parm...dim\\\[0\\\].lbound\\) \\+ \\(integer\\(kind=4\\)\\) \\(MAX_EXPR \\+ 1\\) \\* \\(3 - \\(integer\\(kind=4\\)\\) parm...dim\\\[1\\\].lbound\\), 0, &ii, 0B, 0\\);|_gfortran_caf_unlock \\(caf_token.., \\(2 - parm...dim\\\[0\\\].lbound\\) \\+ \\(MAX_EXPR \\+ 1\\) \\* \\(3 - parm...dim\\\[1\\\].lbound\\), 0, &ii, 0B, 0\\);" 1 "original" } } ++! { dg-final { scan-tree-dump-times "_gfortran_caf_lock \\(caf_token.., \\(3 - \\(integer\\(kind=4\\)\\) parm....dim\\\[0\\\].lbound\\) \\+ \\(integer\\(kind=4\\)\\) \\(MAX_EXPR \\+ 1\\) \\* \\(3 - \\(integer\\(kind=4\\)\\) parm....dim\\\[1\\\].lbound\\), 0, 0B, &ii, 0B, 0\\);|_gfortran_caf_lock \\(caf_token.1, \\(3 - parm....dim\\\[0\\\].lbound\\) \\+ \\(MAX_EXPR \\+ 1\\) \\* \\(3 - parm....dim\\\[1\\\].lbound\\), 0, 0B, &ii, 0B, 0\\);" 1 "original" } } ++! { dg-final { scan-tree-dump-times "_gfortran_caf_unlock \\(caf_token.., \\(2 - \\(integer\\(kind=4\\)\\) parm....dim\\\[0\\\].lbound\\) \\+ \\(integer\\(kind=4\\)\\) \\(MAX_EXPR \\+ 1\\) \\* \\(3 - \\(integer\\(kind=4\\)\\) parm....dim\\\[1\\\].lbound\\), 0, &ii, 0B, 0\\);|_gfortran_caf_unlock \\(caf_token.., \\(2 - parm....dim\\\[0\\\].lbound\\) \\+ \\(MAX_EXPR \\+ 1\\) \\* \\(3 - parm....dim\\\[1\\\].lbound\\), 0, &ii, 0B, 0\\);" 1 "original" } } + + ! { dg-final { scan-tree-dump-times "_gfortran_caf_lock \\(three.token, 0, 5 - \\(integer\\(kind=4\\)\\) three.dim\\\[0\\\].lbound, &acquired.\[0-9\]+, 0B, 0B, 0\\);|_gfortran_caf_lock \\(three.token, 0, 5 - three.dim\\\[0\\\].lbound, &acquired.\[0-9\]+, 0B, 0B, 0\\);" 1 "original" } } + ! { dg-final { scan-tree-dump-times "_gfortran_caf_unlock \\(three.token, 0, 8 - \\(integer\\(kind=4\\)\\) three.dim\\\[0\\\].lbound, &ii, 0B, 0\\);|_gfortran_caf_unlock \\(three.token, 0, 8 - three.dim\\\[0\\\].lbound, &ii, 0B, 0\\);" 1 "original" } } +Index: gcc/testsuite/gfortran.dg/pr88206.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr88206.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr88206.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,8 @@ ++! { dg-do compile } ++! PR fortran/88206 ++program p ++ integer, parameter :: z(4) = [1,2,3,4] ++ integer :: k = 2 ++ print *, [real(z(k))] ++end ++ +Index: gcc/testsuite/gfortran.dg/elemental_function_4.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/elemental_function_4.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/elemental_function_4.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,18 @@ ++! { dg-do compile } ++! ++! Tests the fix for PR83999, where the invalid function 'f' caused an ICE. ++! ++! Contributed by Gerhard Steinmetz ++! ++program p ++ type t ++ integer :: a ++ end type ++ type(t) :: x(3) ++ x = f() ++ print *, x ++contains ++ elemental function f() result(z) ! { dg-error "must have a scalar result" } ++ type(t), pointer :: z(:) ++ end ++end +Index: gcc/testsuite/gfortran.dg/class_66.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/class_66.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/class_66.f90 (.../branches/gcc-8-branch) +@@ -1,4 +1,4 @@ +-! { dg- do run } ++! { dg-do run } + ! + ! Test the fix for PR78641 in which an ICE occured on assignment + ! of a class array constructor to a derived type array. +Index: gcc/testsuite/gfortran.dg/pr88932.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr88932.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr88932.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,143 @@ ++! { dg-do compile } ++! { dg-options "-O1 -fpredictive-commoning -fno-tree-ch -fno-tree-dominator-opts -fno-tree-fre" } ++! ++! PR tree-optimization/88932 ++! ++ ++implicit none ++ ++interface ++ subroutine check_value(b, n, val) ++ integer :: b(..) ++ integer, value :: n ++ integer :: val(n) ++ end subroutine ++end interface ++ ++integer, target :: x(2:5,4:7), y(-4:4) ++integer, allocatable, target :: z(:,:,:,:) ++integer, allocatable :: val(:) ++integer :: i ++ ++allocate(z(1:4, -2:5, 4, 10:11)) ++ ++if (rank(x) /= 2) STOP 1 ++val = [(2*i+3, i = 1, size(x))] ++x = reshape (val, shape(x)) ++call foo(x, rank(x), lbound(x), ubound(x), val) ++call foo2(x, rank(x), lbound(x), ubound(x), val) ++call bar(x,x,.true.) ++call bar(x,prsnt=.false.) ++ ++if (rank(y) /= 1) STOP 2 ++val = [(2*i+7, i = 1, size(y))] ++y = reshape (val, shape(y)) ++call foo(y, rank(y), lbound(y), ubound(y), val) ++call foo2(y, rank(y), lbound(y), ubound(y), val) ++call bar(y,y,.true.) ++call bar(y,prsnt=.false.) ++ ++if (rank(z) /= 4) STOP 3 ++val = [(2*i+5, i = 1, size(z))] ++z(:,:,:,:) = reshape (val, shape(z)) ++call foo(z, rank(z), lbound(z), ubound(z), val) ++call foo(z, rank(z), lbound(z), ubound(z), val) ++call foo2(z, rank(z), lbound(z), ubound(z), val) ++call bar(z,z,.true.) ++call bar(z,prsnt=.false.) ++ ++contains ++ subroutine bar(a,b, prsnt) ++ integer, pointer, optional, intent(in) :: a(..),b(..) ++ logical, value :: prsnt ++ if (.not. associated(a)) STOP 4 ++ if (present(b)) then ++ ! The following is not valid. ++ ! Technically, it could be allowed and might be in Fortran 2015: ++ ! if (.not. associated(a,b)) STOP 5 ++ else ++ if (.not. associated(a)) STOP 6 ++ end if ++ if (.not. present(a)) STOP 7 ++ if (prsnt .neqv. present(b)) STOP 8 ++ end subroutine ++ ++ ! POINTER argument - bounds as specified before ++ subroutine foo(a, rnk, low, high, val) ++ integer,pointer, intent(in) :: a(..) ++ integer, value :: rnk ++ integer, intent(in) :: low(:), high(:), val(:) ++ integer :: i ++ ++ ++ ++ if (rank(a) /= rnk) STOP 9 ++ if (size(low) /= rnk .or. size(high) /= rnk) STOP 10 ++ if (size(a) /= product (high - low +1)) STOP 11 ++ ++ if (rnk > 0) then ++ if (low(1) /= lbound(a,1)) STOP 12 ++ if (high(1) /= ubound(a,1)) STOP 13 ++ if (size (a,1) /= high(1)-low(1)+1) STOP 14 ++ end if ++ ++ do i = 1, rnk ++ if (low(i) /= lbound(a,i)) STOP 15 ++ if (high(i) /= ubound(a,i)) STOP 16 ++ if (size (a,i) /= high(i)-low(i)+1) STOP 17 ++ end do ++ call check_value (a, rnk, val) ++ call foo2(a, rnk, low, high, val) ++ end subroutine ++ ++ ! Non-pointer, non-allocatable bounds. lbound == 1 ++ subroutine foo2(a, rnk, low, high, val) ++ integer, intent(in) :: a(..) ++ integer, value :: rnk ++ integer, intent(in) :: low(:), high(:), val(:) ++ integer :: i ++ ++ if (rank(a) /= rnk) STOP 18 ++ if (size(low) /= rnk .or. size(high) /= rnk) STOP 19 ++ if (size(a) /= product (high - low +1)) STOP 20 ++ ++ if (rnk > 0) then ++ if (1 /= lbound(a,1)) STOP 21 ++ if (high(1)-low(1)+1 /= ubound(a,1)) STOP 22 ++ if (size (a,1) /= high(1)-low(1)+1) STOP 23 ++ end if ++ ++ do i = 1, rnk ++ if (1 /= lbound(a,i)) STOP 24 ++ if (high(i)-low(i)+1 /= ubound(a,i)) STOP 25 ++ if (size (a,i) /= high(i)-low(i)+1) STOP 26 ++ end do ++ call check_value (a, rnk, val) ++ end subroutine foo2 ++ ++ ! ALLOCATABLE argument - bounds as specified before ++ subroutine foo3 (a, rnk, low, high, val) ++ integer, allocatable, intent(in), target :: a(..) ++ integer, value :: rnk ++ integer, intent(in) :: low(:), high(:), val(:) ++ integer :: i ++ ++ if (rank(a) /= rnk) STOP 27 ++ if (size(low) /= rnk .or. size(high) /= rnk) STOP 28 ++ if (size(a) /= product (high - low +1)) STOP 29 ++ ++ if (rnk > 0) then ++ if (low(1) /= lbound(a,1)) STOP 30 ++ if (high(1) /= ubound(a,1)) STOP 31 ++ if (size (a,1) /= high(1)-low(1)+1) STOP 32 ++ end if ++ ++ do i = 1, rnk ++ if (low(i) /= lbound(a,i)) STOP 33 ++ if (high(i) /= ubound(a,i)) STOP 34 ++ if (size (a,i) /= high(i)-low(i)+1) STOP 35 ++ end do ++ call check_value (a, rnk, val) ++ call foo(a, rnk, low, high, val) ++ end subroutine ++end +Index: gcc/testsuite/gfortran.dg/pr88228.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr88228.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr88228.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,8 @@ ++! { dg-do compile } ++! { dg-options "-fdec" } ++! PR fortran/88228 ++program p ++ integer :: n = .not. 1 ++ integer :: j = .true. .or. 1 ++end ++ +Index: gcc/testsuite/gfortran.dg/pr87922.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr87922.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr87922.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,10 @@ ++! { dg-do compile } ++! PR fortran/87922 ++subroutine p ++ read(1, asynchronous=['no']) ! { dg-error "must be scalar" } ++ read(1, asynchronous=[character::]) ! { dg-error "must be scalar" } ++end ++subroutine q ++ write(1, asynchronous=['no']) ! { dg-error "must be scalar" } ++ write(1, asynchronous=[character::]) ! { dg-error "must be scalar" } ++end +Index: gcc/testsuite/gfortran.dg/pr78259.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr78259.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr78259.f90 (.../branches/gcc-8-branch) +@@ -1,4 +1,4 @@ +-! { dg-do "compile" } ++! { dg-do compile } + ! { dg-options "-fdec-structure" } + ! + ! PR fortran/78259 +Index: gcc/testsuite/gfortran.dg/pr70870_1.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr70870_1.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr70870_1.f90 (.../branches/gcc-8-branch) +@@ -1,4 +1,5 @@ + ! { dg-do compile } ++! { dg-options "-std=gnu" } + ! PR fortran/70870 + ! Contributed by Vittorio Zecca + type t +Index: gcc/testsuite/gfortran.dg/dtio_32.f03 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/dtio_32.f03 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/dtio_32.f03 (.../branches/gcc-8-branch) +@@ -1,5 +1,5 @@ + ! { dg-do run } +-! { dg-options="-w" } ++! { dg-options "-w" } + ! PR fortran/79383 + ! Contributed by Walt Brainerd + module dollar_mod +Index: gcc/testsuite/gfortran.dg/implied_do_io_6.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/implied_do_io_6.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/implied_do_io_6.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,39 @@ ++! { dg-do run } ++! { dg-options "-ffrontend-optimize" } ++! PR 86837 - this was mis-optimized by trying to turn this into an ++! array I/O statement. ++! Original test case by "Pascal". ++ ++Program read_loop ++ ++ implicit none ++ ++ integer :: i, j ++ ++ ! number of values per column ++ integer, dimension(3) :: nvalues ++ data nvalues / 1, 2, 4 / ++ ++ ! values in a 1D array ++ real, dimension(7) :: one_d ++ data one_d / 1, 11, 12, 21, 22, 23, 24 / ++ ++ ! where to store the data back ++ real, dimension(4, 3) :: two_d ++ ++ ! 1 - write our 7 values in one block ++ open(unit=10, file="loop.dta", form="unformatted") ++ write(10) one_d ++ close(unit=10) ++ ++ ! 2 - read them back in chosen cells of a 2D array ++ two_d = -9 ++ open(unit=10, file="loop.dta", form="unformatted", status='old') ++ read(10) ((two_d(i,j), i=1,nvalues(j)), j=1,3) ++ close(unit=10, status='delete') ++ ++ ! 4 - print the whole array, just in case ++ ++ if (any(reshape(two_d,[12]) /= [1.,-9.,-9.,-9.,11.,12.,-9.,-9.,21.,22.,23.,24.])) call abort ++ ++end Program read_loop +Index: gcc/testsuite/gfortran.dg/power_7.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/power_7.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/power_7.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,27 @@ ++! { dg-do run } ++! { dg-additional-options "-fdump-tree-original" } ++! PR 85544 - this used to ICE. ++program p ++ integer, parameter :: na = -3, ne = 10 ++ integer :: i, a(na:ne), b(na:ne) ++ integer :: v ++ a = [(i, i=na, ne)] ++ b = [2**a] ++ if (any (b /= [0,0,0,1,2,4,8,16,32,64,128,256,512,1024])) stop 1 ++ b = [1**a] ++ if (any (b /= 1)) stop 2 ++ b = [(-1)**a] ++ if (any (b /= [-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1]) )stop 3 ++ b = [8**a] ++ if (any (b /= [0,0,0,1,8,64,512,4096,32768,262144,2097152,16777216,& ++ 134217728,1073741824])) stop 4 ++ b = [4**a] ++ if (any (b /= [0,0,0,1,4,16,64,256,1024,4096,16384,65536,262144,1048576])) stop 5 ++ ++ v = 1 ++ do i=1,6 ++ v = v * 16 ++ if (v /= 16**i) stop 6 ++ end do ++ end program p ++! { dg-final { scan-tree-dump-not "_gfortran_pow" "original" } } +Index: gcc/testsuite/gfortran.dg/pr88467.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr88467.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr88467.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,4 @@ ++! { dg-do compile } ++program foo ++ print *, [integer :: 1, [integer(8) :: 2, '3']] ! { dg-error "Can\'t convert" } ++end program foo +Index: gcc/testsuite/gfortran.dg/array_function_5.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/array_function_5.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/array_function_5.f90 (.../branches/gcc-8-branch) +@@ -1,4 +1,4 @@ +-! { dg-do run } ++! { dg-do run } + ! PR41278 internal compiler error related to matmul and transpose + ! Test case prepared by Jerry DeLisle + ! Original test case by Chris +Index: gcc/testsuite/gfortran.dg/pr81849.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr81849.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr81849.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,16 @@ ++! { dg-do run } ++! PR fortran/81849 ++program p ++ implicit none ++ integer :: n=3 ++ if (any(g() /= f())) stop 1 ++ contains ++ function g() ++ real g(n) ++ g = 7 ++ end function g ++ function f() result(r) ++ real r(n) ++ r = 7 ++ end function f ++end program +Index: gcc/testsuite/gfortran.dg/pr86760.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr86760.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr86760.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,57 @@ ++! { dg-do run } ++! ++! Test the fix for PR86760 in which temporaries were not being ++! assigned for array component references. ++! ++! Contributed by Chris Hansen ++! ++MODULE test_nesting_mod ++ IMPLICIT NONE ++ TYPE :: test_obj1 ++ CONTAINS ++ PROCEDURE :: destroy ++ END TYPE ++ ++ TYPE :: obj_ptr ++ CLASS(test_obj1), POINTER :: f => NULL() ++ END TYPE ++ ++ TYPE :: obj_container ++ TYPE(obj_ptr), POINTER, DIMENSION(:) :: v => NULL() ++ END TYPE ++ ++ integer :: ctr = 0 ++ ++CONTAINS ++ ++ SUBROUTINE destroy(self) ++ CLASS(test_obj1), INTENT(INOUT):: self ++ ctr = ctr + 1 ++ END SUBROUTINE ++ ++ SUBROUTINE container_destroy(self) ++ type(obj_container), INTENT(INOUT) :: self ++ INTEGER :: i ++ DO i=1,ubound(self%v,1) ++ CALL self%v(i)%f%destroy() ++ END DO ++ END SUBROUTINE ++ ++END MODULE ++ ++ ++PROGRAM test_nesting_ptr ++ USE test_nesting_mod ++ IMPLICIT NONE ++ INTEGER :: i ++ INTEGER, PARAMETER :: n = 2 ++ TYPE(obj_container) :: var ++ ++ ALLOCATE(var%v(n)) ++ DO i=1,n ++ ALLOCATE(test_obj1::var%v(i)%f) ++ END DO ++ CALL container_destroy(var) ++ ++ if (ctr .ne. 2) stop 1 ++END +Index: gcc/testsuite/gfortran.dg/dec_structure_12.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/dec_structure_12.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/dec_structure_12.f90 (.../branches/gcc-8-branch) +@@ -1,4 +1,4 @@ +-! { dg-do "compile" } ++! { dg-do compile } + ! { dg-options "-fdec-structure" } + ! + ! Test a regression where multiple anonymous structures failed to +Index: gcc/testsuite/gfortran.dg/select_type_46.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/select_type_46.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/select_type_46.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,21 @@ ++! { dg-do compile } ++! ++! Tests the fix for PR82077 ++! ++! Contributed by Damian Rouson ++! ++ type parent ++ end type parent ++ type, extends(parent) :: child ++ end type ++ class(parent), allocatable :: foo(:,:) ++ allocate(child::foo(1,1)) ++ select type(foo) ++ class is (child) ++ call gfortran7_ICE(foo(1,:)) ! ICEd here. ++ end select ++contains ++ subroutine gfortran7_ICE(bar) ++ class(child) bar(:) ++ end subroutine ++end +Index: gcc/testsuite/gfortran.dg/modulo_check.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/modulo_check.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/modulo_check.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,8 @@ ++! { dg-do compile } ++! Test checks on modulo with p == 0 ++program p ++ logical :: a(2) = (modulo([2,3],0) == 0) ! { dg-error "shall not be zero" } ++ integer :: b = count(modulo([2,3],0) == 0) ! { dg-error "shall not be zero" } ++ integer :: c = all(modulo([2,3],0) == 0) ! { dg-error "shall not be zero" } ++ integer :: d = any(modulo([2,3],0) == 0) ! { dg-error "shall not be zero" } ++end program +Index: gcc/testsuite/gfortran.dg/ptr_func_assign_5.f08 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/ptr_func_assign_5.f08 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/ptr_func_assign_5.f08 (.../branches/gcc-8-branch) +@@ -0,0 +1,45 @@ ++! { dg-do run } ++! ++! Test the fix for PR77703, in which calls of the pointer function ++! caused an ICE in 'gfc_trans_auto_character_variable'. ++! ++! Contributed by Gerhard Steinmetz ++! ++module m ++ implicit none ++ private ++ integer, parameter, public :: n = 2 ++ integer, parameter :: ell = 6 ++ ++ character(len=n*ell), target, public :: s ++ ++ public :: t ++contains ++ function t( idx ) result( substr ) ++ integer, intent(in) :: idx ++ character(len=ell), pointer :: substr ++ ++ if ( (idx < 0).or.(idx > n) ) then ++ error stop ++ end if ++ substr => s((idx-1)*ell+1:idx*ell) ++ end function t ++end module m ++ ++program p ++ use m, only : s, t, n ++ integer :: i ++ ++ ! Define 's' ++ s = "123456789012" ++ ++ ! Then perform operations involving 't' ++ if (t(1) .ne. "123456") stop 1 ++ if (t(2) .ne. "789012") stop 2 ++ ++ ! Do the pointer function assignments ++ t(1) = "Hello " ++ if (s .ne. "Hello 789012") Stop 3 ++ t(2) = "World!" ++ if (s .ne. "Hello World!") Stop 4 ++end program p +Index: gcc/testsuite/gfortran.dg/pr88902.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr88902.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr88902.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,6 @@ ++! PR fortran/88902 ++! { dg-do compile } ++! { dg-require-effective-target lto } ++! { dg-options "-flto --param ggc-min-heapsize=0" } ++ ++include 'pr50069_2.f90' +Index: gcc/testsuite/gfortran.dg/alloc_comp_assign_16.f03 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/alloc_comp_assign_16.f03 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/alloc_comp_assign_16.f03 (.../branches/gcc-8-branch) +@@ -0,0 +1,37 @@ ++! { dg-do run } ++! ++! Test the fix for PR88393 in which a segfault occurred as indicated. ++! ++! Contributed by Janus Weil ++! ++module m ++ implicit none ++ type :: t ++ character(len=:), allocatable :: cs ++ contains ++ procedure :: ass ++ generic :: assignment(=) => ass ++ end type ++contains ++ subroutine ass(a, b) ++ class(t), intent(inout) :: a ++ class(t), intent(in) :: b ++ a%cs = b%cs ++ print *, "ass" ++ end subroutine ++end module ++ ++program p ++ use m ++ implicit none ++ type :: t2 ++ type(t) :: c ++ end type ++ type(t2), dimension(1:2) :: arr ++ arr(1)%c%cs = "abcd" ++ arr(2)%c = arr(1)%c ! Segfault here. ++ print *, "done", arr(2)%c%cs, arr(2)%c%cs ++! Make sure with valgrind that there are no memory leaks. ++ deallocate (arr(1)%c%cs) ++ deallocate (arr(2)%c%cs) ++end +Index: gcc/testsuite/gfortran.dg/pr88205.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr88205.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr88205.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,14 @@ ++! { dg-do compile } ++! PR fortran/88205 ++subroutine s1 ++ real, parameter :: status = 0 ++ open (newunit=n, status=status) ! { dg-error "STATUS requires" } ++end ++subroutine s2 ++ complex, parameter :: status = 0 ++ open (newunit=n, status=status) ! { dg-error "STATUS requires" } ++end ++program p ++ logical, parameter :: status = .false. ++ open (newunit=a, status=status) ! { dg-error "STATUS requires" } ++end +Index: gcc/testsuite/gfortran.dg/pdt_25.f03 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pdt_25.f03 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pdt_25.f03 (.../branches/gcc-8-branch) +@@ -1,4 +1,4 @@ +-! {dg-do run } ++! { dg-do run } + ! + ! Tests the fix for PR82978 in which all the parameterized string + ! lengths with the same value of parameter 'k' had the same value +Index: gcc/testsuite/gfortran.dg/pr87360.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr87360.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr87360.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,5 @@ ++! PR tree-optimization/87360 ++! { dg-do compile } ++! { dg-options "-fno-tree-dce -O3 --param max-completely-peeled-insns=0" } ++ ++include 'function_optimize_2.f90' +Index: gcc/testsuite/gfortran.dg/pr58968.f +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr58968.f (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr58968.f (.../branches/gcc-8-branch) +@@ -1,5 +1,5 @@ + C PR rtl-optimization/58968.f +-C { dg-do compile { target powerpc*-*-*} } ++C { dg-do compile { target powerpc*-*-* } } + C { dg-options "-mcpu=power7 -O3 -w -ffast-math -funroll-loops" } + SUBROUTINE MAKTABS(IW,SOME,LBOX1,LBOX2,LBOX3,NSPACE,NA,NB, + * LBST,X, +Index: gcc/testsuite/gfortran.dg/extends_11.f03 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/extends_11.f03 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/extends_11.f03 (.../branches/gcc-8-branch) +@@ -37,4 +37,4 @@ + recruit%service%education%person%ss = 9 + end + +-! { dg-final { scan-tree-dump-times " +recruit\\.service\\.education\\.person\\.ss =" 8 "original"} } ++! { dg-final { scan-tree-dump-times " +recruit\\.service\\.education\\.person\\.ss =" 8 "original" } } +Index: gcc/testsuite/gfortran.dg/coarray/event_3.f08 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/coarray/event_3.f08 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/coarray/event_3.f08 (.../branches/gcc-8-branch) +@@ -3,9 +3,9 @@ + ! Check PR fortran/70696 is fixed. + + program global_event +- use iso_fortran_env , only : event_type ++ use iso_fortran_env, only : event_type + implicit none +- type(event_type) :: x[*] ++ type(event_type), save :: x[*] + + call exchange + contains +Index: gcc/testsuite/gfortran.dg/where_7.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/where_7.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/where_7.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,25 @@ ++! { dg-do compile } ++! { dg-options "-ffrontend-optimize" } ++! PR fortran/88073 - this used to ICE with front-end optimization ++! Original test case by 'mecej4' ++Subroutine tfu (n, x, f) ++ Implicit None ++ Integer, Parameter :: double = Kind (0.d0) ++ Integer, Intent (In) :: n ++ Real (double), Intent (Out) :: f ++ Real (double), Intent (In) :: x (n) ++ Integer :: j ++ Logical, Dimension(n) :: l1v, l2v, l3v ++! ++ l3v = .False. ++ l2v = .False. ++ l1v = (/ (j, j=1, n) /) == 1 ++ Where ( .Not. (l1v)) ++ l2v = (/ (j, j=1, n) /) == n ++ End Where ++ Where ( .Not. l1v) ++ l3v = .Not. l2v ++ End Where ++ f = sum (x(1:n), mask=l3v) ++ Return ++end subroutine tfu +Index: gcc/testsuite/gfortran.dg/lto/pr89084_0.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/lto/pr89084_0.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/lto/pr89084_0.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,24 @@ ++! PR fortran/89084 ++! { dg-lto-do link } ++! { dg-lto-options {{ -O0 -flto }} } ++ ++integer function foo () ++ write (*,*) 'foo' ++ block ++ integer, parameter :: idxs(3) = (/ 1, 2, 3 /) ++ integer :: i ++ foo = 0 ++ do i = 1, size(idxs) ++ foo = foo + idxs(i) ++ enddo ++ end block ++end function foo ++program pr89084 ++ integer :: i ++ interface ++ integer function foo () ++ end function ++ end interface ++ i = foo () ++ if (i.ne.6) stop 1 ++end +Index: gcc/testsuite/gfortran.dg/pr88169_3.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr88169_3.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr88169_3.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,15 @@ ++! { dg-do compile } ++! { dg-options "-std=f95" } ++module foo_nml ++ implicit none ++ real :: x = -1 ++ namelist /foo/ x ++end module ++ ++program main ++ use foo_nml, only: bar => foo, x ++ implicit none ++ real a ++ namelist /bar/a ! { dg-error "already is USE associated" } ++end program ++! { dg-final { cleanup-modules "foo_nml" } } +Index: gcc/testsuite/gfortran.dg/inline_matmul_24.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/inline_matmul_24.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/inline_matmul_24.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,42 @@ ++! { dg-do run } ++! { dg-options "-ffrontend-optimize -fdump-tree-original" } ++! ++! PR fortran/87597 ++! ++! Contributed by gallmeister ++! ++! Before, for the inlined matmul, ++! gamma5 was converted to an EXPR_ARRAY with lbound = 1 ++! instead of the lbound = 0 as declared; leading to ++! an off-by-one problem. ++! ++program testMATMUL ++ implicit none ++ complex, dimension(0:3,0:3), parameter :: gamma5 = reshape((/ 0., 0., 1., 0., & ++ 0., 0., 0., 1., & ++ 1., 0., 0., 0., & ++ 0., 1., 0., 0. /),(/4,4/)) ++ complex, dimension(0:3,0:3) :: A, B, D ++ integer :: i ++ ++ A = 0.0 ++ do i=0,3 ++ A(i,i) = i*1.0 ++ end do ++ ++ B = cmplx(7,-9) ++ B = matmul(A,gamma5) ++ ++ D = reshape([0, 0, 2, 0, & ++ 0, 0, 0, 3, & ++ 0, 0, 0, 0, & ++ 0, 1, 0, 0], [4, 4]) ++ write(*,*) B(0,:) ++ write(*,*) B(1,:) ++ write(*,*) B(2,:) ++ write(*,*) B(3,:) ++ if (any(B /= D)) then ++ call abort() ++ end if ++end program testMATMUL ++! { dg-final { scan-tree-dump-times "gamma5\\\[__var_1_do \\* 4 \\+ __var_2_do\\\]|gamma5\\\[NON_LVALUE_EXPR <__var_1_do> \\* 4 \\+ NON_LVALUE_EXPR <__var_2_do>\\\]" 1 "original" } } +Index: gcc/testsuite/gfortran.dg/typebound_call_30.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/typebound_call_30.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/typebound_call_30.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,32 @@ ++! { dg-do compile } ++! ++! PR 86830: [8/9 Regression] Contiguous array pointer function result not recognized as contiguous ++! ++! Contributed by ++ ++module m ++ implicit none ++ ++ type :: t1 ++ contains ++ procedure :: get_ptr ++ end type ++ ++ type :: t2 ++ class(t1), allocatable :: c ++ end type ++ ++contains ++ ++ function get_ptr(this) ++ class(t1) :: this ++ real, dimension(:), contiguous, pointer :: get_ptr ++ end function ++ ++ subroutine test() ++ real, dimension(:), contiguous, pointer:: ptr ++ type(t2) :: x ++ ptr => x%c%get_ptr() ++ end subroutine ++ ++end module +Index: gcc/testsuite/gfortran.dg/pr88249.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr88249.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr88249.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,7 @@ ++! { dg-do compile } ++program p ++ backspace (err=1) ! { dg-error "UNIT number missing" } ++ endfile (err=1) ! { dg-error "UNIT number missing" } ++ flush (err=1) ! { dg-error "UNIT number missing" } ++ rewind (err=1) ! { dg-error "UNIT number missing" } ++end +Index: gcc/testsuite/gfortran.dg/pr88964.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr88964.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr88964.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,57 @@ ++! PR tree-optimization/88964 ++! { dg-do compile } ++! { dg-options "-O3 -fno-tree-forwprop --param sccvn-max-alias-queries-per-access=1" } ++ ++MODULE pr88964 ++ INTEGER, PARAMETER :: dp=8 ++ REAL(KIND=dp) :: p, q, o ++CONTAINS ++ SUBROUTINE foo(a,b,c,f,h) ++ IMPLICIT NONE ++ INTEGER :: a, b, c ++ REAL(KIND=dp) :: f(b*c), h(a*c) ++ CALL bar(h) ++ CALL baz(f) ++ CALL qux(h) ++ END SUBROUTINE foo ++ SUBROUTINE bar(h) ++ IMPLICIT NONE ++ REAL(KIND=dp) :: h(1*1) ++ INTEGER :: r, s, t, u ++ DO u = 1,3 ++ DO t = 1,1 ++ DO s = 1,3 ++ DO r = 1,1 ++ h((t-1)*1+r) = h((t-1)*1+r)-p*o ++ END DO ++ END DO ++ END DO ++ END DO ++ END SUBROUTINE bar ++ SUBROUTINE baz(f) ++ IMPLICIT NONE ++ REAL(KIND=dp) :: f(3*1) ++ INTEGER :: s, t, u ++ DO u = 1,4 ++ DO t = 1,1 ++ DO s = 1,3 ++ f((t-1)*3+s) = f((t-1)*3+s) - q ++ END DO ++ END DO ++ END DO ++ END SUBROUTINE baz ++ SUBROUTINE qux(h) ++ IMPLICIT NONE ++ REAL(KIND=dp) :: h(1*1) ++ INTEGER :: r, s, t, u ++ DO u = 1,5 ++ DO t = 1,1 ++ DO s = 1,3 ++ DO r = 1,1 ++ h((t-1)*1+r) = h((t-1)*1+r)-p*o ++ END DO ++ END DO ++ END DO ++ END DO ++ END SUBROUTINE qux ++END MODULE pr88964 +Index: gcc/testsuite/gfortran.dg/pointer_array_component_3.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pointer_array_component_3.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pointer_array_component_3.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,36 @@ ++! { dg-do run } ++! ++! Test the fix for PR88685, in which the component array references in 'doit' ++! were being ascribed to the class pointer 'Cls' itself so that the stride ++! measure between elements was wrong. ++! ++! Contributed by Antony Lewis ++! ++program tester ++ implicit none ++ Type TArr ++ integer, allocatable :: CL(:) ++ end Type TArr ++ ++ type(TArr), allocatable, target :: arr(:,:) ++ class(TArr), pointer:: Cls(:,:) ++ integer i ++ ++ allocate(arr(1,1)) ++ allocate(arr(1,1)%CL(3)) ++ arr(1,1)%CL=-1 ++ cls => arr ++ call doit(cls) ++ if (any (arr(1,1)%cl .ne. [3,2,1])) stop 3 ++contains ++ subroutine doit(cls) ++ class(TArr), pointer :: Cls(:,:) ++ ++ cls(1,1)%CL(1) = 3 ++ cls(1,1)%CL(2:3) = [2,1] ++ ++ if (any (Cls(1,1)%CL .ne. [3,2,1])) stop 1 ++ if (Cls(1,1)%CL(2) .ne. 2) stop 2 ++ ++ end subroutine doit ++end program tester +Index: gcc/testsuite/gfortran.dg/associate_41.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/associate_41.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/associate_41.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,25 @@ ++! { dg-do run } ++! ++! Test the fix for PR86372 in which the associate name string length was ++! not being set, thereby causing a segfault. ++! ++! Contributed by Janus Weil ++! ++program xxx ++ ++ character(len=50) :: s ++ ++ s = repeat ('*', len(s)) ++ call sub(s) ++ if (s .ne. '**'//'123'//repeat ('*', len(s) - 5)) stop 1 ++ ++contains ++ ++ subroutine sub(str) ++ character(len=*), intent(inout) :: str ++ associate (substr => str(3:5)) ++ substr = '123' ++ end associate ++ end subroutine ++ ++end +Index: gcc/testsuite/gfortran.dg/dtio_31.f03 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/dtio_31.f03 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/dtio_31.f03 (.../branches/gcc-8-branch) +@@ -1,5 +1,5 @@ + ! { dg-do run } +-! { dg-options="-w" } ++! { dg-options "-w" } + ! PR fortran/79383 + ! Contributed by Walt Brainerd + module dollar_mod +Index: gcc/testsuite/gfortran.dg/use_rename_9.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/use_rename_9.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/use_rename_9.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,19 @@ ++! { dg-do compile } ++! ++! Test the fix for PR86906, in which a spurious error was generated ++! by 'config' in the subroutine having the same symbol name as the ++! renamed 'foo_config'. ++! ++! Contributed by Damian Rouson ++! ++module foo ++ type config ++ end type ++end module ++ use foo, only: foo_config => config ++contains ++ subroutine cap ++ integer config ++ type(foo_config) extra ++ end subroutine ++end +Index: gcc/testsuite/gfortran.dg/integer_plus.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/integer_plus.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/integer_plus.f90 (.../branches/gcc-8-branch) +@@ -1,4 +1,4 @@ +-! { dg-run run ) ++! { dg-do run } + ! PR83560 list-directed formatting of INTEGER is missing plus on output + ! when output open with SIGN='PLUS' + character(64) :: astring +Index: gcc/testsuite/gfortran.dg/pr88138.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr88138.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr88138.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,9 @@ ++! { dg-do compile } ++program p ++ type t ++ character :: c = 'c' ++ end type ++ type(t), parameter :: x = 1.e1 ! { dg-error "Incompatible initialization between a" }s ++ print *, 'a' // x%c ++end ++! { dg-prune-output "has no IMPLICIT type" } +Index: gcc/testsuite/gfortran.dg/select_type_45.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/select_type_45.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/select_type_45.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,22 @@ ++! { dg-do compile } ++! ++! Tests the fix for PR80260 ++! ++! Contributed by Damian Rouson ++! ++ type foo ++ end type foo ++ type, extends(foo) :: bar ++ end type ++contains ++ subroutine f(x) ++ class(foo) x(:,:) ++ select type(x) ++ class is (bar) ++ call g(x(1,:)) ! ICEd here. ++ end select ++ end subroutine ++ subroutine g(y) ++ class(bar) y(:) ++ end subroutine ++end +Index: gcc/testsuite/gfortran.dg/pr89084.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr89084.f90 (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr89084.f90 (.../branches/gcc-8-branch) +@@ -0,0 +1,23 @@ ++! PR fortran/89084 ++! { dg-do run } ++ ++integer function foo () ++ write (*,*) 'foo' ++ block ++ integer, parameter :: idxs(3) = (/ 1, 2, 3 /) ++ integer :: i ++ foo = 0 ++ do i = 1, size(idxs) ++ foo = foo + idxs(i) ++ enddo ++ end block ++end function foo ++program pr89084 ++ integer :: i ++ interface ++ integer function foo () ++ end function ++ end interface ++ i = foo () ++ if (i.ne.6) stop 1 ++end +Index: gcc/testsuite/gcc.c-torture/execute/20181120-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.c-torture/execute/20181120-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.c-torture/execute/20181120-1.c (.../branches/gcc-8-branch) +@@ -0,0 +1,28 @@ ++/* PR rtl-optimization/85925 */ ++/* { dg-require-effective-target int32plus } */ ++/* Testcase by */ ++ ++int a, c, d; ++volatile int b; ++int *e = &d; ++ ++union U1 { ++ unsigned f0; ++ unsigned f1 : 15; ++}; ++volatile union U1 u = { 0x4030201 }; ++ ++int main (void) ++{ ++ for (c = 0; c <= 1; c++) { ++ union U1 f = {0x4030201}; ++ if (c == 1) ++ b; ++ *e = f.f1; ++ } ++ ++ if (d != u.f1) ++ __builtin_abort (); ++ ++ return 0; ++} +Index: gcc/testsuite/gcc.c-torture/execute/pr86844.c +=================================================================== +--- a/src/gcc/testsuite/gcc.c-torture/execute/pr86844.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.c-torture/execute/pr86844.c (.../branches/gcc-8-branch) +@@ -0,0 +1,24 @@ ++/* PR tree-optimization/86844 */ ++ ++__attribute__((noipa)) void ++foo (int *p) ++{ ++ *p = 0; ++ *((char *)p + 3) = 1; ++ *((char *)p + 1) = 2; ++ *((char *)p + 2) = *((char *)p + 6); ++} ++ ++int ++main () ++{ ++ int a[2] = { -1, 0 }; ++ if (sizeof (int) != 4) ++ return 0; ++ ((char *)a)[6] = 3; ++ foo (a); ++ if (((char *)a)[0] != 0 || ((char *)a)[1] != 2 ++ || ((char *)a)[2] != 3 || ((char *)a)[3] != 1) ++ __builtin_abort (); ++ return 0; ++} +Index: gcc/testsuite/gcc.c-torture/execute/pr89195.c +=================================================================== +--- a/src/gcc/testsuite/gcc.c-torture/execute/pr89195.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.c-torture/execute/pr89195.c (.../branches/gcc-8-branch) +@@ -0,0 +1,22 @@ ++/* PR rtl-optimization/89195 */ ++/* { dg-require-effective-target int32plus } */ ++ ++struct S { unsigned i : 24; }; ++ ++volatile unsigned char x; ++ ++__attribute__((noipa)) int ++foo (struct S d) ++{ ++ return d.i & x; ++} ++ ++int ++main () ++{ ++ struct S d = { 0x123456 }; ++ x = 0x75; ++ if (foo (d) != (0x56 & 0x75)) ++ __builtin_abort (); ++ return 0; ++} +Index: gcc/testsuite/gcc.c-torture/execute/pr87623.c +=================================================================== +--- a/src/gcc/testsuite/gcc.c-torture/execute/pr87623.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.c-torture/execute/pr87623.c (.../branches/gcc-8-branch) +@@ -0,0 +1,34 @@ ++/* PR middle-end/87623 */ ++/* Testcase by George Thopas */ ++ ++struct be { ++ unsigned short pad[1]; ++ unsigned char a; ++ unsigned char b; ++} __attribute__((scalar_storage_order("big-endian"))); ++ ++typedef struct be t_be; ++ ++struct le { ++ unsigned short pad[3]; ++ unsigned char a; ++ unsigned char b; ++}; ++ ++typedef struct le t_le; ++ ++int a_or_b_different(t_be *x,t_le *y) ++{ ++ return (x->a != y->a) || (x->b != y->b); ++} ++ ++int main (void) ++{ ++ t_be x = { .a=1, .b=2 }; ++ t_le y = { .a=1, .b=2 }; ++ ++ if (a_or_b_different(&x,&y)) ++ __builtin_abort (); ++ ++ return 0; ++} +Index: gcc/testsuite/gcc.c-torture/compile/pr87647.c +=================================================================== +--- a/src/gcc/testsuite/gcc.c-torture/compile/pr87647.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.c-torture/compile/pr87647.c (.../branches/gcc-8-branch) +@@ -0,0 +1,15 @@ ++/* PR middle-end/87647 */ ++ ++struct A {}; ++struct A *const b = &(struct A) {}; ++struct B { char *s; struct A *t; }; ++void bar (struct B *); ++ ++void ++foo (void) ++{ ++ struct B a[] = { "", b, "", b, "", b, "", b, "", b, "", b, "", b, "", b, ++ "", b, "", b, "", b, "", b, "", b, "", b, "", b, "", b, ++ "", b }; ++ bar (a); ++} +Index: gcc/testsuite/gcc.c-torture/compile/pr82564.c +=================================================================== +--- a/src/gcc/testsuite/gcc.c-torture/compile/pr82564.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.c-torture/compile/pr82564.c (.../branches/gcc-8-branch) +@@ -0,0 +1,15 @@ ++/* PR middle-end/82564 */ ++/* { dg-require-effective-target alloca } */ ++ ++int ++main () ++{ ++ int t = 8, i; ++ typedef struct { char v[t]; } B; ++ B a, b; ++ B __attribute__ ((noinline)) f () { return b; } ++ for (i = 0; i < 8; i++) ++ b.v[i] = i; ++ a = f (); ++ return 0; ++} +Index: gcc/testsuite/gcc.c-torture/compile/pr85704.c +=================================================================== +--- a/src/gcc/testsuite/gcc.c-torture/compile/pr85704.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.c-torture/compile/pr85704.c (.../branches/gcc-8-branch) +@@ -0,0 +1,10 @@ ++/* PR c/85704 */ ++ ++struct C { struct {} c; }; ++struct D { int d; struct C e; int f; }; ++ ++void ++foo (struct D *x) ++{ ++ *x = (struct D) { .e = (struct C) { .c = {} } }; ++} +Index: gcc/testsuite/gcc.c-torture/compile/pr87473.c +=================================================================== +--- a/src/gcc/testsuite/gcc.c-torture/compile/pr87473.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.c-torture/compile/pr87473.c (.../branches/gcc-8-branch) +@@ -0,0 +1,19 @@ ++/* PR87473: SLSR ICE on hidden basis with |increment| > 1. */ ++/* { dg-additional-options "-fno-tree-ch" } */ ++ ++void ++t6 (int qz, int wh) ++{ ++ int jl = wh; ++ ++ while (1.0 / 0 < 1) ++ { ++ qz = wh * (wh + 2); ++ ++ while (wh < 1) ++ jl = 0; ++ } ++ ++ while (qz < 1) ++ qz = jl * wh; ++} +Index: gcc/testsuite/gcc.c-torture/compile/pr71109.c +=================================================================== +--- a/src/gcc/testsuite/gcc.c-torture/compile/pr71109.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.c-torture/compile/pr71109.c (.../branches/gcc-8-branch) +@@ -0,0 +1,31 @@ ++/* PR tree-optimization/71109 */ ++ ++struct S { int g, h; signed char i; int j; signed char k; int l[4]; } a, c; ++struct T { signed char g; } e; ++int *b, d; ++static void foo (); ++ ++void ++bar (void) ++{ ++ while (d) ++ { ++ int k; ++ struct T f[3]; ++ foo (bar, a); ++ for (k = 0;; k++) ++ f[k] = e; ++ } ++} ++ ++static inline void ++foo (int x, struct S y, struct T z) ++{ ++ for (z.g = 2; z.g; z.g--) ++ { ++ c = a = y; ++ *b |= 6; ++ if (y.g) ++ break; ++ } ++} +Index: gcc/testsuite/gnat.dg/warn12.adb +=================================================================== +--- a/src/gcc/testsuite/gnat.dg/warn12.adb (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gnat.dg/warn12.adb (.../branches/gcc-8-branch) +@@ -1,48 +0,0 @@ +--- { dg-do compile } +--- { dg-options "-O2" } +- +-with Text_IO; use Text_IO; +-with System.Storage_Elements; use System.Storage_Elements; +-with Warn12_Pkg; use Warn12_Pkg; +- +-procedure Warn12 (N : Natural) is +- +- Buffer_Size : constant Storage_Offset +- := Token_Groups'Size/System.Storage_Unit + 4096; +- +- Buffer : Storage_Array (1 .. Buffer_Size); +- for Buffer'Alignment use 8; +- +- Tg1 : Token_Groups; +- for Tg1'Address use Buffer'Address; +- +- Tg2 : Token_Groups; +- pragma Warnings (Off, Tg2); +- +- sid : Sid_And_Attributes; +- +- pragma Suppress (Index_Check, Sid_And_Attributes_Array); +- +-begin +- +- for I in 0 .. 7 loop +- sid := Tg1.Groups(I); -- { dg-bogus "out-of-bounds access" } +- Put_Line("Iteration"); +- end loop; +- +- for I in 0 .. N loop +- sid := Tg1.Groups(I); -- { dg-bogus "out-of-bounds access" } +- Put_Line("Iteration"); +- end loop; +- +- for I in 0 .. 7 loop +- sid := Tg2.Groups(I); -- { dg-warning "out-of-bounds access" } +- Put_Line("Iteration"); +- end loop; +- +- for I in 0 .. N loop +- sid := Tg2.Groups(I); -- { dg-warning "out-of-bounds access" } +- Put_Line("Iteration"); +- end loop; +- +-end; +Index: gcc/testsuite/gnat.dg/warn12_pkg.ads +=================================================================== +--- a/src/gcc/testsuite/gnat.dg/warn12_pkg.ads (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gnat.dg/warn12_pkg.ads (.../branches/gcc-8-branch) +@@ -1,21 +0,0 @@ +-with Interfaces.C; use Interfaces.C; +-with System; +- +-package Warn12_Pkg is +- +- Anysize_Array: constant := 0; +- +- type Sid_And_Attributes is record +- Sid : System.Address; +- Attributes : Interfaces.C.Unsigned_Long; +- end record; +- +- type Sid_And_Attributes_Array +- is array (Integer range 0..Anysize_Array) of aliased Sid_And_Attributes; +- +- type Token_Groups is record +- GroupCount : Interfaces.C.Unsigned_Long; +- Groups : Sid_And_Attributes_Array; +- end record; +- +-end Warn12_Pkg; +Index: gcc/testsuite/gnat.dg/null_pointer_deref3.adb +=================================================================== +--- a/src/gcc/testsuite/gnat.dg/null_pointer_deref3.adb (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gnat.dg/null_pointer_deref3.adb (.../branches/gcc-8-branch) +@@ -1,5 +1,4 @@ + -- { dg-do run } +--- { dg-options "-O -gnatp" } + + -- This test requires architecture- and OS-specific support code for unwinding + -- through signal frames (typically located in *-unwind.h) to pass. Feel free +@@ -7,6 +6,8 @@ + + procedure Null_Pointer_Deref3 is + ++ pragma Suppress (All_Checks); ++ + procedure Leaf is + type Int_Ptr is access all Integer; + function n return Int_Ptr is +Index: gcc/testsuite/gnat.dg/sso14.adb +=================================================================== +--- a/src/gcc/testsuite/gnat.dg/sso14.adb (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gnat.dg/sso14.adb (.../branches/gcc-8-branch) +@@ -0,0 +1,52 @@ ++-- { dg-do run } ++-- { dg-options "-gnatws" } ++ ++with System; ++with Ada.Unchecked_Conversion; ++ ++procedure SSO14 is ++ ++ type Arr is array (1 .. Integer'Size) of Boolean; ++ pragma Pack (Arr); ++ for Arr'Scalar_Storage_Order use System.High_Order_First; ++ ++ function From_Float is new Ada.Unchecked_Conversion (Float, Arr); ++ function From_Int is new Ada.Unchecked_Conversion (Integer, Arr); ++ ++ type R_Float is record ++ F : Float; ++ end record; ++ for R_Float'Bit_Order use System.High_Order_First; ++ for R_Float'Scalar_Storage_Order use System.High_Order_First; ++ ++ type R_Int is record ++ I : Integer; ++ end record; ++ for R_Int'Bit_Order use System.High_Order_First; ++ for R_Int'Scalar_Storage_Order use System.High_Order_First; ++ ++ F1 : Float := 1.234567; ++ FA : Arr; ++ F2 : R_Float; ++ for F2'Address use FA'Address; ++ pragma Import (Ada, F2); ++ ++ I1 : Integer := 1234567; ++ IA : Arr; ++ I2 : R_Int; ++ for I2'Address use IA'Address; ++ pragma Import (Ada, I2); ++ ++begin ++ -- Check that converting a FP value yields a big-endian array ++ FA := From_Float (F1); ++ if F2.F /= F1 then ++ raise Program_Error; ++ end if; ++ ++ -- Check that converting an integer value yields a big-endian array. ++ IA := From_Int (I1); ++ if I2.I /= I1 then ++ raise Program_Error; ++ end if; ++end; +Index: gcc/testsuite/gnat.dg/sso15.adb +=================================================================== +--- a/src/gcc/testsuite/gnat.dg/sso15.adb (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gnat.dg/sso15.adb (.../branches/gcc-8-branch) +@@ -0,0 +1,52 @@ ++-- { dg-do run } ++-- { dg-options "-gnatws" } ++ ++with System; ++with Ada.Unchecked_Conversion; ++ ++procedure SSO15 is ++ ++ type Arr is array (1 .. Integer'Size) of Boolean; ++ pragma Pack (Arr); ++ for Arr'Scalar_Storage_Order use System.High_Order_First; ++ ++ function To_Float is new Ada.Unchecked_Conversion (Arr, Float); ++ function To_Int is new Ada.Unchecked_Conversion (Arr, Integer); ++ ++ type R_Float is record ++ F : Float; ++ end record; ++ for R_Float'Bit_Order use System.High_Order_First; ++ for R_Float'Scalar_Storage_Order use System.High_Order_First; ++ ++ type R_Int is record ++ I : Integer; ++ end record; ++ for R_Int'Bit_Order use System.High_Order_First; ++ for R_Int'Scalar_Storage_Order use System.High_Order_First; ++ ++ A : Arr := (1 .. 2 => True, others => False); ++ ++ F1 : Float; ++ F2 : R_Float; ++ for F2'Address use A'Address; ++ pragma Import (Ada, F2); ++ ++ I1 : Integer; ++ I2 : R_Int; ++ for I2'Address use A'Address; ++ pragma Import (Ada, I2); ++ ++begin ++ -- Check that converting to FP yields a big-endian value. ++ F1 := To_Float (A); ++ if F2.F /= F1 then ++ raise Program_Error; ++ end if; ++ ++ -- Check that converting to integer yields a big-endian value. ++ I1 := To_Int (A); ++ if I2.I /= I1 then ++ raise Program_Error; ++ end if; ++end; +Index: gcc/testsuite/gnat.dg/opt74.adb +=================================================================== +--- a/src/gcc/testsuite/gnat.dg/opt74.adb (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gnat.dg/opt74.adb (.../branches/gcc-8-branch) +@@ -0,0 +1,13 @@ ++-- { dg-do run } ++-- { dg-options "-O2" } ++ ++with Opt74_Pkg; use Opt74_Pkg; ++ ++procedure Opt74 is ++ Index, Found : Integer; ++begin ++ Proc (Found, Index); ++ if Found = 1 then ++ raise Program_Error; ++ end if; ++end; +Index: gcc/testsuite/gnat.dg/opt75.adb +=================================================================== +--- a/src/gcc/testsuite/gnat.dg/opt75.adb (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gnat.dg/opt75.adb (.../branches/gcc-8-branch) +@@ -0,0 +1,9 @@ ++-- { dg-do run } ++-- { dg-options "-O3" } ++ ++with Opt75_Pkg; use Opt75_Pkg; ++ ++procedure Opt75 is ++begin ++ null; ++end; +Index: gcc/testsuite/gnat.dg/opt76.adb +=================================================================== +--- a/src/gcc/testsuite/gnat.dg/opt76.adb (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gnat.dg/opt76.adb (.../branches/gcc-8-branch) +@@ -0,0 +1,36 @@ ++-- { dg-do run } ++-- { dg-options "-O2 -gnatp -fno-omit-frame-pointer" } ++ ++procedure Opt76 is ++ ++ type Integer_Access is access Integer; ++ type Registry_Array is array (Natural range <>) of Integer_Access; ++ ++ procedure Nested (Input, Parser : Integer; A, B : Boolean) is ++ ++ Index : Registry_Array (1 .. 1024); ++ Not_B : constant Boolean := not B; ++ ++ procedure Inner (Input : Integer) is ++ begin ++ if Input /= 1 then ++ raise Program_Error; ++ end if; ++ ++ if Parser = 128 and then A and then Not_B then ++ Inner (Input); ++ Index (Index'First) := null; ++ end if; ++ end; ++ ++ begin ++ Inner (Input); ++ end; ++ ++ Input : Integer := 1 with Volatile; ++ Parser : Integer := 2 with Volatile; ++ ++begin ++ Nested (Input, Parser, False, True); ++ Nested (Input, Parser, True, False); ++end; +Index: gcc/testsuite/gnat.dg/opt74_pkg.adb +=================================================================== +--- a/src/gcc/testsuite/gnat.dg/opt74_pkg.adb (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gnat.dg/opt74_pkg.adb (.../branches/gcc-8-branch) +@@ -0,0 +1,16 @@ ++package body Opt74_Pkg is ++ ++ procedure Proc (Found : out Integer; Index : out Integer) is ++ begin ++ Index := 1; ++ Found := 0; ++ while (Index <= A'Last) and (Found = 0) loop ++ if A (Index) = 2 then ++ Found := 1; ++ else ++ Index := Index + 1; ++ end if; ++ end loop; ++ end; ++ ++end Opt74_Pkg; +Index: gcc/testsuite/gnat.dg/opt74_pkg.ads +=================================================================== +--- a/src/gcc/testsuite/gnat.dg/opt74_pkg.ads (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gnat.dg/opt74_pkg.ads (.../branches/gcc-8-branch) +@@ -0,0 +1,7 @@ ++package Opt74_Pkg is ++ ++ A : array (1 .. 10) of Integer := (others => 0); ++ ++ procedure Proc (Found : out Integer; Index : out Integer); ++ ++end Opt74_Pkg; +Index: gcc/testsuite/gnat.dg/opt75_pkg.adb +=================================================================== +--- a/src/gcc/testsuite/gnat.dg/opt75_pkg.adb (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gnat.dg/opt75_pkg.adb (.../branches/gcc-8-branch) +@@ -0,0 +1,12 @@ ++package body Opt75_Pkg is ++ ++ overriding procedure Adjust (Object : in out T) is ++ begin ++ if Object.Ref /= Empty_Rec'Access then ++ System.Atomic_Counters.Increment (Object.Ref.Counter); ++ end if; ++ end; ++ ++ A : constant Arr := (others => (others => Empty)); ++ ++end Opt75_Pkg; +Index: gcc/testsuite/gnat.dg/opt75_pkg.ads +=================================================================== +--- a/src/gcc/testsuite/gnat.dg/opt75_pkg.ads (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gnat.dg/opt75_pkg.ads (.../branches/gcc-8-branch) +@@ -0,0 +1,27 @@ ++pragma Restrictions (No_Abort_Statements); ++pragma Restrictions (Max_Asynchronous_Select_Nesting => 0); ++ ++with Ada.Finalization; ++with System.Atomic_Counters; ++ ++package Opt75_Pkg is ++ ++ type Rec is record ++ Counter : System.Atomic_Counters.Atomic_Counter; ++ end record; ++ ++ type Rec_Ptr is access all Rec; ++ ++ Empty_Rec : aliased Rec; ++ ++ type T is new Ada.Finalization.Controlled with record ++ Ref : Rec_Ptr := Empty_Rec'Access; ++ end record; ++ ++ overriding procedure Adjust (Object : in out T); ++ ++ Empty : constant T := (Ada.Finalization.Controlled with Ref => Empty_Rec'Access); ++ ++ type Arr is array (Integer range 1 .. 8, Integer range 1 .. 4) of T; ++ ++end Opt75_Pkg; +Index: gcc/testsuite/gnat.dg/array34.adb +=================================================================== +--- a/src/gcc/testsuite/gnat.dg/array34.adb (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gnat.dg/array34.adb (.../branches/gcc-8-branch) +@@ -0,0 +1,22 @@ ++-- { dg-do run } ++ ++procedure Array34 is ++ ++ type Arr is array (1 .. 6) of Short_Short_Integer; ++ for Arr'Alignment use 4; ++ ++ type Rec is record ++ A : Arr; ++ B: Short_Integer; ++ end record; ++ pragma Pack (Rec); ++ ++ R : Rec; ++ ++begin ++ R.B := 31415; ++ R.A := (others => 0); ++ if R.B /= 31415 then ++ raise Program_Error; ++ end if; ++end; +Index: gcc/testsuite/gnat.dg/null_pointer_deref1.adb +=================================================================== +--- a/src/gcc/testsuite/gnat.dg/null_pointer_deref1.adb (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gnat.dg/null_pointer_deref1.adb (.../branches/gcc-8-branch) +@@ -1,5 +1,4 @@ + -- { dg-do run } +--- { dg-options "-gnatp" } + + -- This test requires architecture- and OS-specific support code for unwinding + -- through signal frames (typically located in *-unwind.h) to pass. Feel free +@@ -6,6 +5,9 @@ + -- to disable it if this code hasn't been implemented yet. + + procedure Null_Pointer_Deref1 is ++ ++ pragma Suppress (All_Checks); ++ + type Int_Ptr is access all Integer; + + function Ident return Int_Ptr is +Index: gcc/testsuite/gnat.dg/null_pointer_deref2.adb +=================================================================== +--- a/src/gcc/testsuite/gnat.dg/null_pointer_deref2.adb (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gnat.dg/null_pointer_deref2.adb (.../branches/gcc-8-branch) +@@ -1,5 +1,4 @@ + -- { dg-do run } +--- { dg-options "-gnatp" } + + -- This test requires architecture- and OS-specific support code for unwinding + -- through signal frames (typically located in *-unwind.h) to pass. Feel free +@@ -7,6 +6,8 @@ + + procedure Null_Pointer_Deref2 is + ++ pragma Suppress (All_Checks); ++ + task T; + + task body T is +Index: gcc/testsuite/gcc.dg/pr87320.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pr87320.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/pr87320.c (.../branches/gcc-8-branch) +@@ -0,0 +1,28 @@ ++/* PR tree-optimization/87320 */ ++/* { dg-do run } */ ++/* { dg-options "-O3" } */ ++/* { dg-additional-options "-mavx" { target avx_runtime } } */ ++ ++static void __attribute__ ((noinline)) ++transpose_vector (unsigned long n) ++{ ++ unsigned long data[2 * n]; ++ for (unsigned long i = 0; i < 2 * n; i++) ++ data[i] = 4 * i + 2; ++ ++ unsigned long transposed[n]; ++ for (unsigned long i = 0; i < n; i++) ++ transposed[i] = data[2 * i]; ++ ++ for (unsigned long i = 0; i < n; i++) ++ if (transposed[i] != 8 * i + 2) ++ __builtin_abort (); ++} ++ ++int ++main () ++{ ++ transpose_vector (4); ++ transpose_vector (120); ++ return 0; ++} +Index: gcc/testsuite/gcc.dg/pubtypes-4.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pubtypes-4.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/pubtypes-4.c (.../branches/gcc-8-branch) +@@ -2,7 +2,7 @@ + /* { dg-options "-O0 -gdwarf-2 -dA" } */ + /* { dg-skip-if "Unmatchable assembly" { mmix-*-* } } */ + /* { dg-final { scan-assembler "__debug_pubtypes" } } */ +-/* { dg-final { scan-assembler "long+\[ \t\]+0x172+\[ \t\]+\[#;]+\[ \t\]+Pub Info Length" } } */ ++/* { dg-final { scan-assembler "long+\[ \t\]+0x165+\[ \t\]+\[#;]+\[ \t\]+Pub Info Length" } } */ + /* { dg-final { scan-assembler "used_struct\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */ + /* { dg-final { scan-assembler-not "unused_struct\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */ + /* { dg-final { scan-assembler "\"list_name_type\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */ +Index: gcc/testsuite/gcc.dg/pr88870.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pr88870.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/pr88870.c (.../branches/gcc-8-branch) +@@ -0,0 +1,23 @@ ++/* PR rtl-optimization/88870 */ ++/* { dg-do compile } */ ++/* { dg-options "-O1 -fexceptions -fnon-call-exceptions -ftrapv -fno-tree-dominator-opts" } */ ++ ++int a, b; ++ ++void ++foo (int *x) ++{ ++ int c = 0; ++ { ++ int d; ++ x = &c; ++ for (;;) ++ { ++ x = &d; ++ b = 0; ++ d = c + 1; ++ b = c = 1; ++ ++a; ++ } ++ } ++} +Index: gcc/testsuite/gcc.dg/gomp/pr85594.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/gomp/pr85594.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/gomp/pr85594.c (.../branches/gcc-8-branch) +@@ -0,0 +1,5 @@ ++/* PR middle-end/85594 */ ++/* { dg-do compile } */ ++/* { dg-additional-options "-fwrapv" } */ ++ ++#include "pr81768-2.c" +Index: gcc/testsuite/gcc.dg/gomp/pr89104.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/gomp/pr89104.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/gomp/pr89104.c (.../branches/gcc-8-branch) +@@ -0,0 +1,11 @@ ++/* PR c++/66676 */ ++/* PR ipa/89104 */ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -fopenmp-simd" } */ ++ ++#pragma omp declare simd uniform (x) aligned (x) ++int ++foo (int *x, int y) ++{ ++ return x[y]; ++} +Index: gcc/testsuite/gcc.dg/gomp/pr88553.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/gomp/pr88553.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/gomp/pr88553.c (.../branches/gcc-8-branch) +@@ -0,0 +1,5 @@ ++/* PR middle-end/88553 */ ++/* { dg-do compile } */ ++/* { dg-additional-options "-O1 -ftree-loop-vectorize -fwrapv" } */ ++ ++#include "pr81768-2.c" +Index: gcc/testsuite/gcc.dg/gomp/cancel-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/gomp/cancel-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/gomp/cancel-1.c (.../branches/gcc-8-branch) +@@ -0,0 +1,12 @@ ++/* { dg-do compile } */ ++ ++struct S { int s; } s; ++ ++void ++foo (void) ++{ ++ #pragma omp parallel ++ { ++ #pragma omp cancel parallel if (s) /* { dg-error "used struct type value where scalar is required" } */ ++ } ++} +Index: gcc/testsuite/gcc.dg/gomp/pr88107.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/gomp/pr88107.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/gomp/pr88107.c (.../branches/gcc-8-branch) +@@ -0,0 +1,35 @@ ++/* PR tree-optimization/88107 */ ++/* { dg-do compile { target fgraphite } } */ ++/* { dg-require-effective-target vect_simd_clones } */ ++/* { dg-options "-O2 -fexceptions -floop-nest-optimize -fnon-call-exceptions -fopenmp-simd -ftree-parallelize-loops=2" } */ ++ ++#define N 1024 ++int a[N], b[N]; ++long int c[N]; ++unsigned char d[N]; ++ ++#pragma omp declare simd notinbranch ++__attribute__((noinline)) static int ++foo (long int a, int b, int c) ++{ ++ return a + b + c; ++} ++ ++#pragma omp declare simd notinbranch ++__attribute__((noinline)) static long int ++bar (int a, int b, long int c) ++{ ++ return a + b + c; ++} ++ ++void ++baz (void) ++{ ++ int i; ++ #pragma omp simd ++ for (i = 0; i < N; i++) ++ a[i] = foo (c[i], a[i], b[i]) + 6; ++ #pragma omp simd ++ for (i = 0; i < N; i++) ++ c[i] = bar (a[i], b[i], c[i]) * 2; ++} +Index: gcc/testsuite/gcc.dg/gomp/pr87895-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/gomp/pr87895-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/gomp/pr87895-1.c (.../branches/gcc-8-branch) +@@ -0,0 +1,19 @@ ++/* PR tree-optimization/87895 */ ++/* { dg-do compile } */ ++/* { dg-additional-options "-O0" } */ ++ ++#pragma omp declare simd ++int ++foo (int x) ++{ ++ if (x == 0) ++ return 0; ++} ++ ++#pragma omp declare simd ++int ++bar (int *x, int y) ++{ ++ if ((y == 0) ? (*x = 0) : *x) ++ return 0; ++} +Index: gcc/testsuite/gcc.dg/gomp/pr87895-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/gomp/pr87895-2.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/gomp/pr87895-2.c (.../branches/gcc-8-branch) +@@ -0,0 +1,5 @@ ++/* PR tree-optimization/87895 */ ++/* { dg-do compile } */ ++/* { dg-additional-options "-O1" } */ ++ ++#include "pr87895-1.c" +Index: gcc/testsuite/gcc.dg/gomp/pr88415.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/gomp/pr88415.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/gomp/pr88415.c (.../branches/gcc-8-branch) +@@ -0,0 +1,12 @@ ++/* { dg-do compile } */ ++/* { dg-options "-fexceptions -fnon-call-exceptions -fopenmp -fsignaling-nans -funsafe-math-optimizations -fno-associative-math" } */ ++ ++void ++lx (_Complex int *yn) ++{ ++ int mj; ++ ++#pragma omp for ++ for (mj = 0; mj < 1; ++mj) ++ yn[mj] += 1; ++} +Index: gcc/testsuite/gcc.dg/gomp/pr87887-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/gomp/pr87887-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/gomp/pr87887-1.c (.../branches/gcc-8-branch) +@@ -0,0 +1,26 @@ ++/* PR middle-end/87887 */ ++/* { dg-do compile } */ ++/* { dg-require-effective-target vect_simd_clones } */ ++/* { dg-additional-options "-w" } */ ++ ++struct S { int n; }; ++#pragma omp declare simd ++struct S ++foo (int x) ++{ ++ return (struct S) { x }; ++} ++ ++#pragma omp declare simd ++int ++bar (struct S x) ++{ ++ return x.n; ++} ++ ++#pragma omp declare simd uniform (x) ++int ++baz (int w, struct S x, int y) ++{ ++ return w + x.n + y; ++} +Index: gcc/testsuite/gcc.dg/gomp/pr88105.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/gomp/pr88105.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/gomp/pr88105.c (.../branches/gcc-8-branch) +@@ -0,0 +1,30 @@ ++/* { dg-do compile } */ ++/* { dg-options "-fopenmp -O -fexceptions -fnon-call-exceptions -fno-tree-fre" } */ ++ ++int ++s0 (void) ++{ ++ int g6, oh = 0; ++ int *a6 = &g6; ++ ++ (void) a6; ++ ++#pragma omp parallel for ++ for (g6 = 0; g6 < 1; ++g6) ++ { ++ int zk; ++ ++ for (zk = 0; zk < 1; ++zk) ++ { ++ oh += zk / (zk + 1); ++ ++ for (;;) ++ { ++ } ++ } ++ ++ a6 = &zk; ++ } ++ ++ return oh; ++} +Index: gcc/testsuite/gcc.dg/gomp/pr87895-3.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/gomp/pr87895-3.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/gomp/pr87895-3.c (.../branches/gcc-8-branch) +@@ -0,0 +1,18 @@ ++/* PR tree-optimization/87895 */ ++/* { dg-do compile } */ ++/* { dg-additional-options "-O2" } */ ++ ++#pragma omp declare simd ++int foo (int x) __attribute__((noreturn)); ++ ++#pragma omp declare simd ++int ++bar (int x, int y) ++{ ++ if (y == 1) ++ foo (x + 2); ++ if (y == 10) ++ foo (x + 6); ++ if (y != 25) ++ return 4; ++} +Index: gcc/testsuite/gcc.dg/gomp/pr87898.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/gomp/pr87898.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/gomp/pr87898.c (.../branches/gcc-8-branch) +@@ -0,0 +1,10 @@ ++/* PR tree-optimization/87898 */ ++/* { dg-do compile { target fgraphite } } */ ++/* { dg-options "-O1 -floop-parallelize-all -fopenmp -ftree-parallelize-loops=2 -g" } */ ++ ++#pragma omp declare simd ++void ++foo (int x) ++{ ++ x = 0; ++} +Index: gcc/testsuite/gcc.dg/gomp/pr87887-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/gomp/pr87887-2.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/gomp/pr87887-2.c (.../branches/gcc-8-branch) +@@ -0,0 +1,25 @@ ++/* PR middle-end/87887 */ ++/* { dg-do compile { target i?86-*-* x86_64-*-* } } */ ++/* { dg-require-effective-target vect_simd_clones } */ ++ ++struct S { int n; }; ++#pragma omp declare simd ++struct S ++foo (int x) /* { dg-warning "unsupported return type 'struct S' for simd" } */ ++{ ++ return (struct S) { x }; ++} ++ ++#pragma omp declare simd ++int ++bar (struct S x) /* { dg-warning "unsupported argument type 'struct S' for simd" } */ ++{ ++ return x.n; ++} ++ ++#pragma omp declare simd uniform (x) ++int ++baz (int w, struct S x, int y) ++{ ++ return w + x.n + y; ++} +Index: gcc/testsuite/gcc.dg/pr88071.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pr88071.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/pr88071.c (.../branches/gcc-8-branch) +@@ -0,0 +1,5 @@ ++/* PR tree-optimization/88071 */ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -fexceptions -fnon-call-exceptions -fopenmp-simd -ftrapv -ftree-loop-vectorize" } */ ++ ++#include "gomp/openmp-simd-2.c" +Index: gcc/testsuite/gcc.dg/pr88594.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pr88594.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/pr88594.c (.../branches/gcc-8-branch) +@@ -0,0 +1,16 @@ ++/* PR target/88594 */ ++/* { dg-do compile { target int128 } } */ ++/* { dg-options "-O2 -fno-tree-dominator-opts -fno-tree-forwprop -fno-tree-vrp" } */ ++ ++__int128 ++foo (__int128 x, __int128 *y) ++{ ++ int a; ++ __int128 z, r; ++ for (a = 0; a < 17; ++a) ++ ; ++ z = x / a; ++ r = x % a; ++ *y = z; ++ return r; ++} +Index: gcc/testsuite/gcc.dg/debug/dwarf2/pr88644.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/debug/dwarf2/pr88644.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/debug/dwarf2/pr88644.c (.../branches/gcc-8-branch) +@@ -0,0 +1,7 @@ ++/* PR debug/88644 */ ++/* { dg-do compile } */ ++/* { dg-options "-gdwarf-4 -dA -gpubnames" } */ ++ ++char array[1]; ++ ++/* { dg-final { scan-assembler-not {\msizetype} } } */ +Index: gcc/testsuite/gcc.dg/debug/dwarf2/pr88635.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/debug/dwarf2/pr88635.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/debug/dwarf2/pr88635.c (.../branches/gcc-8-branch) +@@ -0,0 +1,24 @@ ++/* PR debug/88635 */ ++/* { dg-do assemble } */ ++/* { dg-options "-g -O2" } */ ++/* { dg-additional-options "-fpie" { target pie } } */ ++ ++static void ++foo (char *b) ++{ ++ unsigned c = 0; ++ --c; ++ do ++ if (++*b++ == 0) ++ break; ++ while (--c); ++ if (c == 0) ++ while (*b++) ++ ; ++} ++ ++void ++bar (void) ++{ ++ foo (""); ++} +Index: gcc/testsuite/gcc.dg/pr86991.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pr86991.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/pr86991.c (.../branches/gcc-8-branch) +@@ -0,0 +1,20 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O3" } */ ++ ++int b; ++extern unsigned c[]; ++unsigned d; ++long e; ++ ++void f() ++{ ++ unsigned g, h; ++ for (; d; d += 2) { ++ g = 1; ++ for (; g; g += 3) { ++ h = 2; ++ for (; h < 6; h++) ++ c[h] = c[h] - b - ~e; ++ } ++ } ++} +Index: gcc/testsuite/gcc.dg/pr87074.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pr87074.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/pr87074.c (.../branches/gcc-8-branch) +@@ -0,0 +1,25 @@ ++/* { dg-do run } */ ++/* { dg-options "-O3 -floop-unroll-and-jam --param unroll-jam-min-percent=0" } */ ++long b; ++unsigned c[5]; ++unsigned long long d = 3; ++int e, f, g; ++ ++void h() { ++ for (; f < 11; f++) { ++ b = g; ++ for (e = 0; e < 5; e++) { ++ c[e] = e - b - (c[e] >> 5); ++ g = c[e]; ++ } ++ } ++ if (c[0]) ++ d = 0; ++} ++ ++extern void abort(void); ++int main() { ++ h(); ++ if (d != 0) ++ abort (); ++} +Index: gcc/testsuite/gcc.dg/ubsan/pr88234.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/ubsan/pr88234.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/ubsan/pr88234.c (.../branches/gcc-8-branch) +@@ -0,0 +1,29 @@ ++/* PR target/88234 */ ++/* { dg-do run { target { powerpc*-*-* && vmx_hw } } } */ ++/* { dg-require-effective-target powerpc_altivec_ok } */ ++/* { dg-options "-fsanitize=signed-integer-overflow -fno-sanitize-recover=signed-integer-overflow -O2 -maltivec" } */ ++ ++#include ++ ++__attribute__((noipa)) vector unsigned int ++f1 (vector unsigned int x, vector unsigned int y) ++{ ++ return vec_add (x, y); ++} ++ ++__attribute__((noipa)) vector unsigned int ++f2 (vector unsigned int x, vector unsigned int y) ++{ ++ return vec_sub (x, y); ++} ++ ++int ++main () ++{ ++ vector unsigned int x = { __INT_MAX__, -__INT_MAX__, __INT_MAX__ - 3, -__INT_MAX__ + 4 }; ++ vector unsigned int y = { 1, -1, 4, -5 }; ++ vector unsigned int z = f1 (x, y); ++ f2 (z, x); ++ f2 (z, y); ++ return 0; ++} +Index: gcc/testsuite/gcc.dg/asan/pr81923.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/asan/pr81923.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/asan/pr81923.c (.../branches/gcc-8-branch) +@@ -1,8 +1,11 @@ + /* PR sanitizer/81923 */ + /* { dg-do link } */ + +-int foobar __asm (__USER_LABEL_PREFIX__ "barbaz") = 34; ++#define STR1(X) #X ++#define STR2(X) STR1(X) + ++int foobar __asm (STR2(__USER_LABEL_PREFIX__) "barbaz") = 34; ++ + int + main () + { +Index: gcc/testsuite/gcc.dg/graphite/pr85935.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/graphite/pr85935.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/graphite/pr85935.c (.../branches/gcc-8-branch) +@@ -1,5 +1,7 @@ + /* { dg-do compile } */ + /* { dg-options "-O -floop-parallelize-all -fno-tree-loop-im --param scev-max-expr-size=3" } */ ++/* The fix for PR84204 was reverted. */ ++/* { dg-additional-options "--param graphite-allow-codegen-errors=1" } */ + + typedef int dq; + +Index: gcc/testsuite/gcc.dg/graphite/pr69728.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/graphite/pr69728.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/graphite/pr69728.c (.../branches/gcc-8-branch) +@@ -24,4 +24,6 @@ + run into scheduling issues before here, not being able to handle + empty domains. */ + +-/* { dg-final { scan-tree-dump "loop nest optimized" "graphite" } } */ ++/* XFAILed by fix for PR86865. */ ++ ++/* { dg-final { scan-tree-dump "loop nest optimized" "graphite" { xfail *-*-* } } } */ +Index: gcc/testsuite/gcc.dg/graphite/pr84204.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/graphite/pr84204.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/graphite/pr84204.c (.../branches/gcc-8-branch) +@@ -1,5 +1,7 @@ + /* { dg-do compile } */ + /* { dg-options "-O -floop-parallelize-all -fno-tree-loop-im --param scev-max-expr-size=3" } */ ++/* The fix for PR84204 was reverted. */ ++/* { dg-additional-options "--param graphite-allow-codegen-errors=1" } */ + + int oc; + +Index: gcc/testsuite/gcc.dg/graphite/scop-21.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/graphite/scop-21.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/graphite/scop-21.c (.../branches/gcc-8-branch) +@@ -30,4 +30,5 @@ + + return a[20]; + } +-/* { dg-final { scan-tree-dump-times "number of SCoPs: 1" 1 "graphite"} } */ ++/* XFAILed by the fix for PR86865. */ ++/* { dg-final { scan-tree-dump-times "number of SCoPs: 1" 1 "graphite" { xfail *-*-* } } } */ +Index: gcc/testsuite/gcc.dg/graphite/pr86865.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/graphite/pr86865.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/graphite/pr86865.c (.../branches/gcc-8-branch) +@@ -0,0 +1,35 @@ ++/* { dg-do run } */ ++/* { dg-options "-O2 -fgraphite-identity -fstack-reuse=none -fwrapv -fno-tree-ch -fno-tree-dce -fno-tree-dominator-opts -fno-tree-loop-ivcanon" } */ ++ ++int xy, tb; ++ ++void ++bt (void) ++{ ++ for (xy = 0; xy >= 0; --xy) ++ { ++ int yt[8] = { 0 }; ++ int pz[2] = { 0 }; ++ int sa[32] = { 0 }; ++ int us; ++ ++ for (us = 0; us < 8; ++us) ++ yt[us] = 0; ++ ++ (void) yt; ++ (void) pz; ++ (void) sa; ++ } ++ ++ tb = 1; ++} ++ ++int ++main (void) ++{ ++ bt (); ++ if (xy != -1) ++ __builtin_abort (); ++ ++ return 0; ++} +Index: gcc/testsuite/gcc.dg/pr87024.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pr87024.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/pr87024.c (.../branches/gcc-8-branch) +@@ -0,0 +1,14 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O -fno-tree-dce" } */ ++ ++static inline void __attribute__((always_inline)) ++mp () ++{ ++ (void) __builtin_va_arg_pack_len (); ++} ++ ++void ++ui (void) ++{ ++ mp (); ++} +Index: gcc/testsuite/gcc.dg/strlenopt-57.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/strlenopt-57.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/strlenopt-57.c (.../branches/gcc-8-branch) +@@ -0,0 +1,49 @@ ++/* PR tree-optimization/86914 - wrong code with strlen() of poor-man's ++ flexible array member plus offset ++ { dg-do compile } ++ { dg-options "-O2 -Wall -fdump-tree-optimized" } */ ++ ++#include "strlenopt.h" ++ ++struct A0 { char i, a[0]; }; ++struct A1 { char i, a[1]; }; ++struct A9 { char i, a[9]; }; ++struct Ax { char i, a[]; }; ++ ++extern int a[]; ++ ++extern struct A0 a0; ++extern struct A1 a1; ++extern struct A9 a9; ++extern struct Ax ax; ++ ++void test_var_flexarray_cst_off (void) ++{ ++ /* Use arbitrary constants greater than 16 in case GCC ever starts ++ unrolling strlen() calls with small array arguments. */ ++ a[0] = 17 < strlen (a0.a + 1); ++ a[1] = 19 < strlen (a1.a + 1); ++ a[2] = 23 < strlen (a9.a + 9); ++ a[3] = 29 < strlen (ax.a + 3); ++} ++ ++void test_ptr_flexarray_cst_off (struct A0 *p0, struct A1 *p1, ++ struct A9 *p9, struct Ax *px) ++{ ++ a[0] = 17 < strlen (p0->a + 1); ++ a[1] = 19 < strlen (p1->a + 1); ++ a[2] = 23 < strlen (p9->a + 9); ++ a[3] = 29 < strlen (px->a + 3); ++} ++ ++void test_ptr_flexarray_var_off (struct A0 *p0, struct A1 *p1, ++ struct A9 *p9, struct Ax *px, ++ int i) ++{ ++ a[0] = 17 < strlen (p0->a + i); ++ a[1] = 19 < strlen (p1->a + i); ++ a[2] = 23 < strlen (p9->a + i); ++ a[3] = 29 < strlen (px->a + i); ++} ++ ++/* { dg-final { scan-tree-dump-times "strlen" 12 "optimized" } } */ +Index: gcc/testsuite/gcc.dg/plugin/plugindir1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/plugin/plugindir1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/plugin/plugindir1.c (.../branches/gcc-8-branch) +@@ -1,4 +1,4 @@ + /* { dg-do compile } */ + /* { dg-options "-c -fplugin=foo" } */ + +-/* { dg-prune-output ".*inaccessible plugin file.*foo\.so expanded from short plugin name.*" } */ ++/* { dg-prune-output ".*inaccessible plugin file.*foo\.(so|dylib) expanded from short plugin name.*" } */ +Index: gcc/testsuite/gcc.dg/plugin/plugindir2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/plugin/plugindir2.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/plugin/plugindir2.c (.../branches/gcc-8-branch) +@@ -1,4 +1,4 @@ + /* { dg-do compile } */ + /* { dg-options "-save-temps -c -fplugin=foo" } */ + +-/* { dg-prune-output ".*inaccessible plugin file.*foo\.so expanded from short plugin name.*" } */ ++/* { dg-prune-output ".*inaccessible plugin file.*foo\.(so|dylib) expanded from short plugin name.*" } */ +Index: gcc/testsuite/gcc.dg/plugin/plugindir3.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/plugin/plugindir3.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/plugin/plugindir3.c (.../branches/gcc-8-branch) +@@ -1,4 +1,4 @@ + /* { dg-do preprocess } */ + /* { dg-options "-fplugin=foo" } */ + +-/* { dg-prune-output ".*inaccessible plugin file.*foo\.so expanded from short plugin name.*" } */ ++/* { dg-prune-output ".*inaccessible plugin file.*foo\.(so|dylib) expanded from short plugin name.*" } */ +Index: gcc/testsuite/gcc.dg/plugin/plugindir4.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/plugin/plugindir4.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/plugin/plugindir4.c (.../branches/gcc-8-branch) +@@ -1,4 +1,4 @@ + /* { dg-do preprocess } */ + /* { dg-options "-iplugindir=my-plugindir -fplugin=foo" } */ + +-/* { dg-prune-output ".*inaccessible plugin file.*my-plugindir/foo\.so expanded from short plugin name.*" } */ ++/* { dg-prune-output ".*inaccessible plugin file.*my-plugindir/foo\.(so|dylib) expanded from short plugin name.*" } */ +Index: gcc/testsuite/gcc.dg/torture/pr87645.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/torture/pr87645.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/torture/pr87645.c (.../branches/gcc-8-branch) +@@ -0,0 +1,21 @@ ++/* { dg-do compile } */ ++ ++typedef unsigned a[8]; ++a b, g; ++int c, d, e, f; ++int h() { ++ unsigned i = 2; ++ for (; i < 8; i++) ++ b[i] = 0; ++ for (; f;) { ++ d = 1; ++ for (; d < 14; d += 3) { ++ e = 0; ++ for (; e < 8; e++) { ++ i = 2; ++ for (; i < 8; i++) ++ b[i] = 5 - (c - g[e] + b[i]); ++ } ++ } ++ } ++} +Index: gcc/testsuite/gcc.dg/torture/pr68037-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/torture/pr68037-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/torture/pr68037-1.c (.../branches/gcc-8-branch) +@@ -1,4 +1,5 @@ + /* { dg-do run { target i?86-*-* x86_64-*-* } } */ ++/* { dg-skip-if "PR81210 sp not aligned to 16 bytes" { *-*-darwin* } } */ + /* { dg-options "-mgeneral-regs-only" } */ + + extern void exit (int); +Index: gcc/testsuite/gcc.dg/torture/pr68037-3.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/torture/pr68037-3.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/torture/pr68037-3.c (.../branches/gcc-8-branch) +@@ -1,4 +1,5 @@ + /* { dg-do run { target i?86-*-* x86_64-*-* } } */ ++/* { dg-skip-if "PR81210 sp not aligned to 16 bytes" { *-*-darwin* } } */ + /* { dg-options "-mgeneral-regs-only" } */ + + #include +Index: gcc/testsuite/gcc.dg/torture/pr87665.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/torture/pr87665.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/torture/pr87665.c (.../branches/gcc-8-branch) +@@ -0,0 +1,27 @@ ++/* { dg-do run } */ ++ ++struct X { long x; long y; }; ++ ++struct X a[1024], b[1024]; ++ ++void foo () ++{ ++ for (int i = 0; i < 1024; ++i) ++ { ++ long tem = a[i].x; ++ a[i].x = 0; ++ b[i].x = tem; ++ b[i].y = a[i].y; ++ } ++} ++ ++int main() ++{ ++ for (int i = 0; i < 1024; ++i) ++ a[i].x = i; ++ foo (); ++ for (int i = 0; i < 1024; ++i) ++ if (b[i].x != i) ++ __builtin_abort(); ++ return 0; ++} +Index: gcc/testsuite/gcc.dg/torture/pr86945.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/torture/pr86945.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/torture/pr86945.c (.../branches/gcc-8-branch) +@@ -0,0 +1,18 @@ ++/* { dg-do run } */ ++ ++void __attribute__((noinline,noipa)) ++foo(int id) ++{ ++ switch (id) ++ { ++ case (-__INT_MAX__ - 1)...-1: ++ __builtin_abort (); ++ default:; ++ } ++} ++ ++int main() ++{ ++ foo(1); ++ return 0; ++} +Index: gcc/testsuite/gcc.dg/torture/pr89008.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/torture/pr89008.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/torture/pr89008.c (.../branches/gcc-8-branch) +@@ -0,0 +1,27 @@ ++/* { dg-do run } */ ++/* { dg-require-effective-target int32plus } */ ++ ++unsigned long a, c; ++unsigned b; ++int d, e; ++long f() ++{ ++ unsigned long g = 0; ++ for (d = 0; d < 5; d += 2) ++ for (e = 0; e < 5; e += 3) ++ { ++ c = 4 + b; ++ g = -b - b; ++ b = 5 * (b << 24); ++ } ++ a = g; ++ return 0; ++} ++ ++int main() ++{ ++ f(); ++ if (a) ++ __builtin_abort(); ++ return 0; ++} +Index: gcc/testsuite/gcc.dg/torture/pr68264.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/torture/pr68264.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/torture/pr68264.c (.../branches/gcc-8-branch) +@@ -1,4 +1,5 @@ + /* { dg-do run } */ ++/* { dg-skip-if "PR68356 no math-errno on darwin" { "*-*-darwin*" } } */ + /* { dg-add-options ieee } */ + /* { dg-require-effective-target fenv_exceptions } */ + +Index: gcc/testsuite/gcc.dg/torture/pr87700.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/torture/pr87700.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/torture/pr87700.c (.../branches/gcc-8-branch) +@@ -0,0 +1,49 @@ ++/* { dg-do compile } */ ++ ++void ++wn (int ki) ++{ ++ int m8 = 0; ++ int *d6 = &ki; ++ ++ if (ki == 0) ++ { ++ud: ++ for (ki = 0; ki < 1; ++ki) ++ for (m8 = 0; m8 < 1; ++m8) ++ goto ud; ++ ++ d6 = &m8; ++ ++y8: ++ ++m8; ++ ++xw: ++ if (ki == 0) ++ { ++ } ++ else ++ { ++ for (m8 = 0; m8 < 1; ++m8) ++ { ++gt: ++ if (*d6 == 0) ++ goto y8; ++ } ++ ++ for (m8 = 0; m8 < 1; ++m8) ++ { ++ goto gt; ++ ++ym: ++ ; ++ } ++ } ++ ++ d6 = &ki; ++ ++ goto ym; ++ } ++ ++ goto xw; ++} +Index: gcc/testsuite/gcc.dg/torture/pr25967-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/torture/pr25967-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/torture/pr25967-1.c (.../branches/gcc-8-branch) +@@ -1,4 +1,5 @@ + /* { dg-do run { target i?86-*-* x86_64-*-* } } */ ++/* { dg-skip-if "PR81693 sp not aligned to 16 bytes" { "*-*-darwin*" } } */ + /* { dg-options "-mgeneral-regs-only" } */ + + extern void exit (int); +Index: gcc/testsuite/gcc.dg/torture/pr89135.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/torture/pr89135.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/torture/pr89135.c (.../branches/gcc-8-branch) +@@ -0,0 +1,33 @@ ++/* { dg-do compile } */ ++ ++typedef __INTPTR_TYPE__ intptr_t; ++intptr_t a, b, c, d; ++int foo (void) { return 0; } ++int baz (void); ++ ++void ++bar (void) ++{ ++ intptr_t g = (intptr_t) &&h; ++ void *i = &&j, *k = &&l; ++j: ++ if (baz ()) ++ { ++ intptr_t **n = (intptr_t **) &a; ++l: ++ b = 0; ++ for (; b >= 0;) ++ goto *k; ++h: ++ **n = 0; ++ for (;;) ++ { ++ intptr_t *o = &c; ++ g = foo (); ++ *o = g; ++ if (c) ++ goto *d; ++ } ++ } ++ goto *i; ++} +Index: gcc/testsuite/gcc.dg/torture/pr68037-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/torture/pr68037-2.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/torture/pr68037-2.c (.../branches/gcc-8-branch) +@@ -1,4 +1,5 @@ + /* { dg-do run { target i?86-*-* x86_64-*-* } } */ ++/* { dg-skip-if "PR81210 sp not aligned to 16 bytes" { *-*-darwin* } } */ + /* { dg-options "-mgeneral-regs-only" } */ + + extern void exit (int); +Index: gcc/testsuite/gcc.dg/torture/pr88223.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/torture/pr88223.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/torture/pr88223.c (.../branches/gcc-8-branch) +@@ -0,0 +1,16 @@ ++/* { dg-do run } */ ++ ++extern void *memmove(void *, const void *, __SIZE_TYPE__); ++extern void abort(void); ++ ++extern int ++main(void) ++{ ++ char s[] = "12345"; ++ memmove(s + 1, s, 4); ++ memmove(s + 1, s, 4); ++ memmove(s + 1, s, 4); ++ if (s[0] != '1' || s[1] != '1' || s[2] != '1' || s[3] != '1' || s[4] != '2') ++ abort (); ++ return (0); ++} +Index: gcc/testsuite/gcc.dg/torture/pr86505.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/torture/pr86505.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/torture/pr86505.c (.../branches/gcc-8-branch) +@@ -0,0 +1,32 @@ ++/* { dg-do run } */ ++ ++static inline __attribute__(( __always_inline__)) int ++funA(unsigned int param, ...) ++{ ++ return __builtin_va_arg_pack_len(); ++} ++ ++static inline __attribute__(( __always_inline__)) int ++funB(unsigned int param, ...) ++{ ++ return funA(param, 2, 4, __builtin_va_arg_pack()); ++} ++ ++int ++testBuiltin(void) ++{ ++ int rc = funB(0,1,2); ++ if (rc != 4) ++ return 1; ++ return 0; ++} ++ ++int ++main() ++{ ++ int rc = testBuiltin(); ++ if (rc == 1) ++ __builtin_abort (); ++ ++ return 0; ++} +Index: gcc/testsuite/gcc.dg/torture/pr79351.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/torture/pr79351.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/torture/pr79351.c (.../branches/gcc-8-branch) +@@ -0,0 +1,26 @@ ++/* { dg-do run } */ ++ ++static struct state { ++ int k; ++ int dummy; ++} states[256]; ++ ++__attribute((noipa)) ++static void ++ismatch(int n) ++{ ++ for (int j=0; j + #include + +-int lib_memcmp(const void *a, const void *b, size_t n) asm("memcmp"); +-int lib_strncmp(const char *a, const char *b, size_t n) asm("strncmp"); ++#define STR1(X) #X ++#define STR2(X) STR1(X) + ++int lib_memcmp(const void *a, const void *b, size_t n) ++ asm(STR2(__USER_LABEL_PREFIX__) "memcmp"); ++int lib_strncmp(const char *a, const char *b, size_t n) ++ asm(STR2(__USER_LABEL_PREFIX__) "strncmp"); ++ + #ifndef NRAND + #ifdef TEST_ALL + #define NRAND 10000 +Index: gcc/testsuite/gcc.dg/store_merging_22.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/store_merging_22.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/store_merging_22.c (.../branches/gcc-8-branch) +@@ -0,0 +1,16 @@ ++/* PR tree-optimization/86844 */ ++/* { dg-do compile } */ ++/* { dg-require-effective-target store_merge } */ ++/* { dg-options "-O2 -fdump-tree-store-merging" } */ ++ ++void ++foo (int *p) ++{ ++ *p = 0; ++ *((char *)p + 3) = 1; ++ *((char *)p + 1) = 2; ++ *((char *)p + 2) = *((char *)p + 38); ++} ++ ++/* { dg-final { scan-tree-dump-times "Merging successful" 1 "store-merging" } } */ ++/* { dg-final { scan-tree-dump-times "New sequence of 1 stmts to replace old one of 3 stmts" 1 "store-merging" } } */ +Index: gcc/testsuite/gcc.dg/tree-prof/section-attr-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/tree-prof/section-attr-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/tree-prof/section-attr-1.c (.../branches/gcc-8-branch) +@@ -13,7 +13,11 @@ + + void foo (int path); + ++#ifdef __APPLE__ ++__attribute__ ((section ("__TEXT,__text"))) ++#else + __attribute__((section(".text"))) ++#endif + int + main (int argc, char *argv[]) + { +@@ -43,3 +47,4 @@ + } + + /* { dg-final-use { scan-assembler "\.section\[\t \]*\.text\.unlikely\[\\n\\r\]+\[\t \]*\.size\[\t \]*foo\.cold\.0" { target *-*-linux* *-*-gnu* } } } */ ++/* { dg-final-use { scan-assembler "\.section\[\t \]*__TEXT,__text_cold\.\*\[\\n\\r\]+_foo\.cold\.0" { target *-*-darwin* } } } */ +Index: gcc/testsuite/gcc.dg/tree-prof/section-attr-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/tree-prof/section-attr-2.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/tree-prof/section-attr-2.c (.../branches/gcc-8-branch) +@@ -28,7 +28,11 @@ + void NOINLINE + foo (int path) + { ++#ifdef __APPLE__ ++ static int i __attribute__ ((section ("__DATA,__data"))); ++#else + static int i __attribute__((section(".data"))); ++#endif + if (path) + { + for (i = 0; i < SIZE; i++) +@@ -42,3 +46,4 @@ + } + + /* { dg-final-use { scan-assembler "\.section\[\t \]*\.text\.unlikely\[\\n\\r\]+\[\t \]*\.size\[\t \]*foo\.cold\.0" { target *-*-linux* *-*-gnu* } } } */ ++/* { dg-final-use { scan-assembler "\.section\[\t \]*__TEXT,__text_cold\.\*\[\\n\\r\]+_foo\.cold\.0:" { target *-*-darwin* } } } */ +Index: gcc/testsuite/gcc.dg/tree-prof/section-attr-3.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/tree-prof/section-attr-3.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/tree-prof/section-attr-3.c (.../branches/gcc-8-branch) +@@ -9,7 +9,11 @@ + #define NOINLINE __attribute__((noinline)) __attribute__ ((noclone)) + + const char *sarr[SIZE]; ++#ifdef __APPLE__ ++const char *buf_hot __attribute__ ((section ("__DATA,__data"))); ++#else + const char *buf_hot __attribute__ ((section (".data"))); ++#endif + const char *buf_cold; + + void foo (int path); +@@ -43,3 +47,4 @@ + } + + /* { dg-final-use { scan-assembler "\.section\[\t \]*\.text\.unlikely\[\\n\\r\]+\[\t \]*\.size\[\t \]*foo\.cold\.0" { target *-*-linux* *-*-gnu* } } } */ ++/* { dg-final-use { scan-assembler "\.section\[\t \]*__TEXT,__text_cold\.\*\[\\n\\r\]+_foo\.cold\.0:" { target *-*-darwin* } } } */ +Index: gcc/testsuite/gcc.dg/ipa/pr88214.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/ipa/pr88214.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/ipa/pr88214.c (.../branches/gcc-8-branch) +@@ -0,0 +1,10 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2" } */ ++ ++void i(); ++ short a; ++ void b(e) char * e; ++ { ++ i(); ++ b(a); ++ } +Index: gcc/testsuite/gcc.dg/pr88568.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pr88568.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/pr88568.c (.../branches/gcc-8-branch) +@@ -0,0 +1,4 @@ ++/* PR c/88568 */ ++/* { dg-do compile } */ ++/* { dg-require-dll "" } */ ++__attribute__((dllimport)) struct S var; /* { dg-bogus "storage size of .var. isn.t known" } */ +Index: gcc/testsuite/gcc.dg/vect/O3-pr85794.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/vect/O3-pr85794.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/vect/O3-pr85794.c (.../branches/gcc-8-branch) +@@ -0,0 +1,12 @@ ++/* { dg-do compile } */ ++ ++int a, b, *c, d; ++int *f[6]; ++ ++void ++foo (void) ++{ ++ for (b = 1; b >= 0; b--) ++ for (d = 0; d <= 3; d++) ++ a |= f[b * 5] != c; ++} +Index: gcc/testsuite/gcc.dg/vect/pr86927.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/vect/pr86927.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/vect/pr86927.c (.../branches/gcc-8-branch) +@@ -0,0 +1,15 @@ ++#include "tree-vect.h" ++ ++int a[28]; ++int main() ++{ ++ check_vect (); ++ a[4] = 1; ++ int c = 1; ++ for (int b = 0; b < 8; b++) ++ if (a[b]) ++ c = 0; ++ if (c) ++ abort(); ++ return 0; ++} +Index: gcc/testsuite/gcc.dg/vect/pr88903-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/vect/pr88903-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/vect/pr88903-1.c (.../branches/gcc-8-branch) +@@ -0,0 +1,26 @@ ++#include "tree-vect.h" ++ ++int x[1024]; ++ ++void __attribute__((noinline)) ++foo() ++{ ++ for (int i = 0; i < 512; ++i) ++ { ++ x[2*i] = x[2*i] << ((i+1) & 31); ++ x[2*i+1] = x[2*i+1] << ((i+1) & 31); ++ } ++} ++ ++int ++main() ++{ ++ check_vect (); ++ for (int i = 0; i < 1024; ++i) ++ x[i] = i; ++ foo (); ++ for (int i = 0; i < 1024; ++i) ++ if (x[i] != i << ((i/2+1) & 31)) ++ __builtin_abort (); ++ return 0; ++} +Index: gcc/testsuite/gcc.dg/vect/pr87288-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/vect/pr87288-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/vect/pr87288-1.c (.../branches/gcc-8-branch) +@@ -0,0 +1,49 @@ ++#include "tree-vect.h" ++ ++#define N (VECTOR_BITS / 32) ++#define MAX_COUNT 4 ++ ++void __attribute__ ((noipa)) ++run (int *restrict a, int *restrict b, int count) ++{ ++ for (int i = 0; i < count * N; ++i) ++ { ++ a[i * 2] = b[i * 2] + count; ++ a[i * 2 + 1] = count; ++ } ++} ++ ++void __attribute__ ((noipa)) ++check (int *restrict a, int count) ++{ ++ for (int i = 0; i < count * N; ++i) ++ if (a[i * 2] != i * 41 + count || a[i * 2 + 1] != count) ++ __builtin_abort (); ++ if (a[count * 2 * N] != 999) ++ __builtin_abort (); ++} ++ ++int a[N * MAX_COUNT * 2 + 1], b[N * MAX_COUNT * 2]; ++ ++int ++main (void) ++{ ++ check_vect (); ++ ++ for (int i = 0; i < N * MAX_COUNT; ++i) ++ { ++ b[i * 2] = i * 41; ++ asm volatile ("" ::: "memory"); ++ } ++ ++ for (int i = 0; i <= MAX_COUNT; ++i) ++ { ++ a[i * 2 * N] = 999; ++ run (a, b, i); ++ check (a, i); ++ } ++ ++ return 0; ++} ++ ++/* { dg-final { scan-tree-dump-times {LOOP VECTORIZED} 1 "vect" { target { { vect_int && vect_perm } && vect_element_align } } } } */ +Index: gcc/testsuite/gcc.dg/vect/pr87288-3.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/vect/pr87288-3.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/vect/pr87288-3.c (.../branches/gcc-8-branch) +@@ -0,0 +1,64 @@ ++#include "tree-vect.h" ++ ++#define N (VECTOR_BITS / 32) ++#define MAX_COUNT 4 ++ ++#define RUN_COUNT(COUNT) \ ++ void __attribute__ ((noipa)) \ ++ run_##COUNT (int *restrict a, int *restrict b) \ ++ { \ ++ for (int i = 0; i < N * COUNT + 1; ++i) \ ++ { \ ++ a[i * 2] = b[i * 2] + COUNT; \ ++ a[i * 2 + 1] = COUNT; \ ++ } \ ++ } ++ ++RUN_COUNT (1) ++RUN_COUNT (2) ++RUN_COUNT (3) ++RUN_COUNT (4) ++ ++void __attribute__ ((noipa)) ++check (int *restrict a, int count) ++{ ++ for (int i = 0; i < count * N + 1; ++i) ++ if (a[i * 2] != i * 41 + count || a[i * 2 + 1] != count) ++ __builtin_abort (); ++ if (a[count * 2 * N + 2] != 999) ++ __builtin_abort (); ++} ++ ++int a[N * MAX_COUNT * 2 + 3], b[N * MAX_COUNT * 2 + 2]; ++ ++int ++main (void) ++{ ++ check_vect (); ++ ++ for (int i = 0; i < N * MAX_COUNT + 1; ++i) ++ { ++ b[i * 2] = i * 41; ++ asm volatile ("" ::: "memory"); ++ } ++ ++ a[N * 2 + 2] = 999; ++ run_1 (a, b); ++ check (a, 1); ++ ++ a[N * 4 + 2] = 999; ++ run_2 (a, b); ++ check (a, 2); ++ ++ a[N * 6 + 2] = 999; ++ run_3 (a, b); ++ check (a, 3); ++ ++ a[N * 8 + 2] = 999; ++ run_4 (a, b); ++ check (a, 4); ++ ++ return 0; ++} ++ ++/* { dg-final { scan-tree-dump {LOOP VECTORIZED} "vect" { target { { vect_int && vect_perm } && vect_element_align } } } } */ +Index: gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/vect/no-section-anchors-vect-69.c (.../branches/gcc-8-branch) +@@ -119,5 +119,6 @@ + return main1 (); + } + +-/* { dg-final { scan-tree-dump-times "vectorized 4 loops" 1 "vect" } } */ +-/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning" 1 "vect" { target { {! vector_alignment_reachable} && {! vect_hw_misalign} } } } } */ ++/* { dg-final { scan-tree-dump-times "vectorized 4 loops" 1 "vect" { target vect_hw_misalign } } } */ ++/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { target { ! vect_hw_misalign } } } } */ ++/* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning" 1 "vect" { target { { ! vector_alignment_reachable } && { ! vect_hw_misalign } } } } } */ +Index: gcc/testsuite/gcc.dg/vect/pr86871.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/vect/pr86871.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/vect/pr86871.c (.../branches/gcc-8-branch) +@@ -0,0 +1,15 @@ ++/* { dg-do compile } */ ++ ++extern int b[]; ++extern int c[]; ++void g(int f) { ++ for (; f; f++) { ++ int d = 0; ++ for (int e = -1; e <= 1; e++) { ++ int a = f + e; ++ if (a) ++ d = *(c + a); ++ } ++ *(b + f) = d; ++ } ++ } +Index: gcc/testsuite/gcc.dg/vect/pr88903-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/vect/pr88903-2.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/vect/pr88903-2.c (.../branches/gcc-8-branch) +@@ -0,0 +1,28 @@ ++#include "tree-vect.h" ++ ++int x[1024]; ++int y[1024]; ++int z[1024]; ++ ++void __attribute__((noinline)) foo() ++{ ++ for (int i = 0; i < 512; ++i) ++ { ++ x[2*i] = x[2*i] << y[2*i]; ++ x[2*i+1] = x[2*i+1] << y[2*i]; ++ z[2*i] = y[2*i]; ++ z[2*i+1] = y[2*i+1]; ++ } ++} ++ ++int main() ++{ ++ check_vect (); ++ for (int i = 0; i < 1024; ++i) ++ x[i] = i, y[i] = i % 8; ++ foo (); ++ for (int i = 0; i < 1024; ++i) ++ if (x[i] != i << ((i & ~1) % 8)) ++ __builtin_abort (); ++ return 0; ++} +Index: gcc/testsuite/gcc.dg/vect/pr87288-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/vect/pr87288-2.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/vect/pr87288-2.c (.../branches/gcc-8-branch) +@@ -0,0 +1,64 @@ ++#include "tree-vect.h" ++ ++#define N (VECTOR_BITS / 32) ++#define MAX_COUNT 4 ++ ++#define RUN_COUNT(COUNT) \ ++ void __attribute__ ((noipa)) \ ++ run_##COUNT (int *restrict a, int *restrict b) \ ++ { \ ++ for (int i = 0; i < N * COUNT; ++i) \ ++ { \ ++ a[i * 2] = b[i * 2] + COUNT; \ ++ a[i * 2 + 1] = COUNT; \ ++ } \ ++ } ++ ++RUN_COUNT (1) ++RUN_COUNT (2) ++RUN_COUNT (3) ++RUN_COUNT (4) ++ ++void __attribute__ ((noipa)) ++check (int *restrict a, int count) ++{ ++ for (int i = 0; i < count * N; ++i) ++ if (a[i * 2] != i * 41 + count || a[i * 2 + 1] != count) ++ __builtin_abort (); ++ if (a[count * 2 * N] != 999) ++ __builtin_abort (); ++} ++ ++int a[N * MAX_COUNT * 2 + 1], b[N * MAX_COUNT * 2]; ++ ++int ++main (void) ++{ ++ check_vect (); ++ ++ for (int i = 0; i < N * MAX_COUNT; ++i) ++ { ++ b[i * 2] = i * 41; ++ asm volatile ("" ::: "memory"); ++ } ++ ++ a[N * 2] = 999; ++ run_1 (a, b); ++ check (a, 1); ++ ++ a[N * 4] = 999; ++ run_2 (a, b); ++ check (a, 2); ++ ++ a[N * 6] = 999; ++ run_3 (a, b); ++ check (a, 3); ++ ++ a[N * 8] = 999; ++ run_4 (a, b); ++ check (a, 4); ++ ++ return 0; ++} ++ ++/* { dg-final { scan-tree-dump {LOOP VECTORIZED} "vect" { target { { vect_int && vect_perm } && vect_element_align } } } } */ +Index: gcc/testsuite/gcc.dg/store_merging_23.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/store_merging_23.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/store_merging_23.c (.../branches/gcc-8-branch) +@@ -0,0 +1,16 @@ ++/* PR tree-optimization/86844 */ ++/* { dg-do compile } */ ++/* { dg-require-effective-target store_merge } */ ++/* { dg-options "-O2 -fdump-tree-store-merging" } */ ++ ++void ++foo (int *p) ++{ ++ *p = 0; ++ int one = 1; ++ __builtin_memcpy ((char *) p + 3, &one, sizeof (int)); ++ *((char *)p + 4) = *((char *)p + 36); ++ *((char *)p + 1) = 2; ++} ++ ++/* { dg-final { scan-tree-dump-not "Merging successful" "store-merging" } } */ +Index: gcc/testsuite/gcc.dg/asm-qual-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/asm-qual-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/asm-qual-1.c (.../branches/gcc-8-branch) +@@ -1,4 +1,4 @@ +-/* Test that qualifiers other than volatile are ignored on asm. */ ++/* Test that qualifiers other than volatile are disallowed on asm. */ + /* Origin: Joseph Myers */ + /* { dg-do compile } */ + /* { dg-options "-std=gnu99" } */ +@@ -7,6 +7,8 @@ + f (void) + { + asm volatile (""); +- asm const (""); /* { dg-warning "const qualifier ignored on asm" } */ +- asm restrict (""); /* { dg-warning "restrict qualifier ignored on asm" } */ ++ ++ asm const (""); /* { dg-warning {'const' is not an asm qualifier} } */ ++ ++ asm restrict (""); /* { dg-warning {'restrict' is not an asm qualifier} } */ + } +Index: gcc/testsuite/gcc.dg/pr86064.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pr86064.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/pr86064.c (.../branches/gcc-8-branch) +@@ -1,4 +1,5 @@ + /* { dg-do compile } */ ++/* { dg-skip-if "split DWARF unsupported" { *-*-darwin* } } */ + /* { dg-options "-g -O2 -fno-var-tracking-assignments -gsplit-dwarf" } */ + + /* This used to fail with location views (implicitly) enabled, because +Index: gcc/testsuite/gcc.dg/pr89211.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pr89211.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/pr89211.c (.../branches/gcc-8-branch) +@@ -0,0 +1,8 @@ ++/* PR c/89211 */ ++/* { dg-do compile } */ ++ ++void foo (); ++void foo () ++{ ++ void foo (struct S); /* { dg-warning "declared inside parameter list" } */ ++} +Index: gcc/testsuite/gcc.dg/tsan/pr88030.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/tsan/pr88030.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/tsan/pr88030.c (.../branches/gcc-8-branch) +@@ -0,0 +1,14 @@ ++/* { dg-do compile } */ ++/* { dg-options "-fsanitize=thread -fnon-call-exceptions -fexceptions" } */ ++ ++typedef __complex__ float Value; ++typedef struct { ++ Value a[16 / sizeof (Value)]; ++} A; ++ ++A sum(A a,A b) ++{ ++ a.a[0]+=b.a[0]; ++ a.a[1]+=b.a[1]; ++ return a; ++} +Index: gcc/testsuite/gcc.dg/pr86617.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pr86617.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/pr86617.c (.../branches/gcc-8-branch) +@@ -0,0 +1,11 @@ ++/* { dg-options "-Os -fdump-rtl-final" } */ ++ ++volatile unsigned char u8; ++ ++void test (void) ++{ ++ u8 = u8 + u8; ++ u8 = u8 - u8; ++} ++ ++/* { dg-final { scan-rtl-dump-times "mem/v" 6 "final" } } */ +Index: gcc/testsuite/gcc.dg/nested-func-11.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/nested-func-11.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/nested-func-11.c (.../branches/gcc-8-branch) +@@ -0,0 +1,34 @@ ++/* { dg-do run } */ ++/* { dg-options "-O2 -fno-omit-frame-pointer" } */ ++ ++int __attribute__((noipa)) foo (int i) ++{ ++ int a; ++ ++ void __attribute__((noipa)) nested2 (int i) ++ { ++ a = i; ++ } ++ ++ void __attribute__((noipa)) nested1 (int i) ++ { ++ int b[32]; ++ ++ for (int j = 0; j < 32; j++) ++ b[j] = i + j; ++ ++ nested2 (b[i]); ++ } ++ ++ nested1 (i); ++ ++ return a; ++} ++ ++int main (void) ++{ ++ if (foo (4) != 8) ++ __builtin_abort (); ++ ++ return 0; ++} +Index: gcc/testsuite/gcc.dg/pr87099.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pr87099.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/pr87099.c (.../branches/gcc-8-branch) +@@ -0,0 +1,21 @@ ++/* PR middle-end/87099 */ ++/* { dg-do compile } */ ++/* { dg-options "-Wstringop-overflow" } */ ++ ++void bar (char *); ++ ++int ++foo (int n) ++{ ++ char v[n]; ++ bar (v); ++ return __builtin_strncmp (&v[1], "aaa", 3); ++} ++ ++int ++baz (int n, char *s) ++{ ++ char v[n]; ++ bar (v); ++ return __builtin_strncmp (&v[1], s, 3); ++} +Index: gcc/testsuite/gcc.dg/pr86835.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pr86835.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/pr86835.c (.../branches/gcc-8-branch) +@@ -0,0 +1,29 @@ ++/* PR tree-optimization/86835 */ ++/* { dg-do run } */ ++/* { dg-options "-O2 -ffast-math -Wuninitialized" } */ ++ ++__attribute__((noipa)) void ++foo (int n, double *x, double *y) ++{ /* { dg-bogus "is used uninitialized in this function" "" { target *-*-* } 0 } */ ++ int i; ++ double b = y[4]; ++ for (i = 0; i < n; ++i) ++ y[3] += __builtin_sin (x[i] / b); ++ y[0] /= b; ++ y[1] /= b * b; ++ y[2] /= b; ++} ++ ++int ++main () ++{ ++ double y[] = { 16.0, 64.0, 128.0, 0.0, 2.0 }; ++ foo (0, y, y); ++ if (__builtin_fabs (y[0] - 8.0) > 0.0001 ++ || __builtin_fabs (y[1] - 16.0) > 0.0001 ++ || __builtin_fabs (y[2] - 64.0) > 0.0001 ++ || y[3] != 0.0 ++ || y[4] != 2.0) ++ __builtin_abort (); ++ return 0; ++} +Index: gcc/testsuite/gcc.dg/store_merging_24.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/store_merging_24.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/store_merging_24.c (.../branches/gcc-8-branch) +@@ -0,0 +1,75 @@ ++/* PR tree-optimization/87859 */ ++/* { dg-do run } */ ++/* { dg-options "-O2 -fdump-tree-store-merging-details" } */ ++/* { dg-final { scan-tree-dump "New sequence of \[23] stmts to replace old one of 19 stmts" "store-merging" { target i?86-*-* x86_64-*-* } } } */ ++/* { dg-final { scan-tree-dump "New sequence of 1 stmts to replace old one of 6 stmts" "store-merging" { target i?86-*-* x86_64-*-* } } } */ ++ ++struct S { ++ union F { ++ struct T { ++#define A(n) unsigned n:1; ++#define B(n) A(n##0) A(n##1) A(n##2) A(n##3) A(n##4) \ ++ A(n##5) A(n##6) A(n##7) A(n##8) A(n##9) ++ B(f) B(f1) B(f2) B(f3) B(f4) B(f5) ++ A(f60) A(f61) A(f62) A(f63) A(f64) A(f65) A(f66) ++ } q; ++ unsigned int i[3]; ++ } f; ++}; ++ ++struct S s = { ++ .f.q.f0 = 1, .f.q.f1 = 1, .f.q.f2 = 1, .f.q.f5 = 1, .f.q.f6 = 1, ++ .f.q.f7 = 1, .f.q.f8 = 1, .f.q.f9 = 1, .f.q.f13 = 1, .f.q.f14 = 1, ++ .f.q.f15 = 1, .f.q.f16 = 1, .f.q.f17 = 1, .f.q.f19 = 1, .f.q.f21 = 1, ++ .f.q.f66 = 1 ++}; ++ ++__attribute__((noipa)) void ++bar (unsigned *x) ++{ ++ if (x[0] != s.f.i[0] || x[1] != s.f.i[1] || x[2] != s.f.i[2]) ++ __builtin_abort (); ++} ++ ++__attribute__((noipa)) void ++foo (unsigned char *state) ++{ ++ struct S i; ++ i.f.i[0] = 0; ++ i.f.i[1] = 0; ++ i.f.i[2] = 0; ++ i.f.q.f7 = 1; ++ i.f.q.f2 = 1; ++ i.f.q.f21 = 1; ++ i.f.q.f19 = 1; ++ i.f.q.f14 = 1; ++ i.f.q.f5 = 1; ++ i.f.q.f0 = 1; ++ i.f.q.f15 = 1; ++ i.f.q.f16 = 1; ++ i.f.q.f6 = 1; ++ i.f.q.f9 = 1; ++ i.f.q.f17 = 1; ++ i.f.q.f1 = 1; ++ i.f.q.f8 = 1; ++ i.f.q.f13 = 1; ++ i.f.q.f66 = 1; ++ if (*state) ++ { ++ i.f.q.f37 = 1; ++ i.f.q.f38 = 1; ++ i.f.q.f39 = 1; ++ i.f.q.f40 = 1; ++ i.f.q.f41 = 1; ++ i.f.q.f36 = 1; ++ } ++ bar (i.f.i); ++} ++ ++int ++main () ++{ ++ unsigned char z = 0; ++ foo (&z); ++ return 0; ++} +Index: gcc/testsuite/gcc.dg/asm-qual-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/asm-qual-2.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/asm-qual-2.c (.../branches/gcc-8-branch) +@@ -0,0 +1,46 @@ ++/* Test that qualifiers on asm are allowed in any order. */ ++/* { dg-do compile } */ ++/* { dg-options "-std=gnu99" } */ ++ ++void ++f (void) ++{ ++ asm volatile goto ("" :::: lab); ++ asm volatile inline ("" :::); ++ asm inline volatile ("" :::); ++ asm inline goto ("" :::: lab); ++ asm goto volatile ("" :::: lab); ++ asm goto inline ("" :::: lab); ++ ++ asm volatile inline goto ("" :::: lab); ++ asm volatile goto inline ("" :::: lab); ++ asm inline volatile goto ("" :::: lab); ++ asm inline goto volatile ("" :::: lab); ++ asm goto volatile inline ("" :::: lab); ++ asm goto inline volatile ("" :::: lab); ++ ++ /* Duplicates are not allowed. */ ++ asm goto volatile volatile ("" :::: lab); /* { dg-error "" } */ ++ asm volatile goto volatile ("" :::: lab); /* { dg-error "" } */ ++ asm volatile volatile goto ("" :::: lab); /* { dg-error "" } */ ++ asm goto goto volatile ("" :::: lab); /* { dg-error "" } */ ++ asm goto volatile goto ("" :::: lab); /* { dg-error "" } */ ++ asm volatile goto goto ("" :::: lab); /* { dg-error "" } */ ++ ++ asm inline volatile volatile ("" :::); /* { dg-error "" } */ ++ asm volatile inline volatile ("" :::); /* { dg-error "" } */ ++ asm volatile volatile inline ("" :::); /* { dg-error "" } */ ++ asm inline inline volatile ("" :::); /* { dg-error "" } */ ++ asm inline volatile inline ("" :::); /* { dg-error "" } */ ++ asm volatile inline inline ("" :::); /* { dg-error "" } */ ++ ++ asm goto inline inline ("" :::: lab); /* { dg-error "" } */ ++ asm inline goto inline ("" :::: lab); /* { dg-error "" } */ ++ asm inline inline goto ("" :::: lab); /* { dg-error "" } */ ++ asm goto goto inline ("" :::: lab); /* { dg-error "" } */ ++ asm goto inline goto ("" :::: lab); /* { dg-error "" } */ ++ asm inline goto goto ("" :::: lab); /* { dg-error "" } */ ++ ++lab: ++ ; ++} +Index: gcc/testsuite/gcc.dg/pr85859.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pr85859.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/pr85859.c (.../branches/gcc-8-branch) +@@ -0,0 +1,19 @@ ++/* { dg-do run } */ ++/* { dg-options "-ftree-tail-merge -Wno-div-by-zero -O2 -fno-dce -fno-isolate-erroneous-paths-dereference -fno-tree-dce -fno-tree-vrp" } */ ++ ++int b, c, d, e; ++ ++__attribute__ ((noinline, noclone)) ++int foo (short f) ++{ ++ f %= 0; ++ return f; ++} ++ ++int ++main (void) ++{ ++ b = (unsigned char) __builtin_parity (d); ++ e ? foo (0) : (long) &c; ++ return 0; ++} +Index: gcc/testsuite/gcc.dg/nested-func-12.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/nested-func-12.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/nested-func-12.c (.../branches/gcc-8-branch) +@@ -0,0 +1,48 @@ ++/* PR target/88620 */ ++/* { dg-do run } */ ++/* { dg-options "-Ofast --param ipa-cp-eval-threshold=0 -fno-guess-branch-probability -fno-inline-small-functions" } */ ++/* { dg-require-effective-target alloca } */ ++ ++void ++foo (int n) ++{ ++ struct S { int a[n]; }; ++ ++ struct S ++ fn (void) ++ { ++ struct S s; ++ s.a[0] = 42; ++ return s; ++ } ++ ++ auto struct S ++ fn2 (void) ++ { ++ return fn (); ++ } ++ ++ struct S x; ++ fn (); ++ fn2 (); ++ x = fn (); ++ ++ if (x.a[0] != 42) ++ __builtin_abort (); ++ ++ if (fn ().a[0] != 42) ++ __builtin_abort (); ++ ++ __typeof__ (fn ()) *p = &x; ++ if (p->a[0] != 42) ++ __builtin_abort (); ++ ++ if (fn2 ().a[0] != 42) ++ __builtin_abort (); ++} ++ ++int ++main (void) ++{ ++ foo (1); ++} +Index: gcc/testsuite/gcc.dg/inline-40.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/inline-40.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/inline-40.c (.../branches/gcc-8-branch) +@@ -0,0 +1,49 @@ ++/* Test inline functions declared in inner scopes. Bugs 88720 and 88726. */ ++/* { dg-do compile } */ ++/* { dg-options "" } */ ++ ++void ++inline_1 (void) ++{ ++} ++ ++void ++inline_2 (void) ++{ ++} ++ ++static void ++inline_static_1 (void) ++{ ++} ++ ++static void ++inline_static_2 (void) ++{ ++} ++ ++static void inline_static_3 (void); ++static void inline_static_4 (void); ++ ++static void ++test (void) ++{ ++ inline void inline_1 (void); ++ extern inline void inline_2 (void); ++ inline void inline_3 (void); ++ extern inline void inline_4 (void); ++ inline void inline_static_1 (void); ++ extern inline void inline_static_2 (void); ++ inline void inline_static_3 (void); ++ extern inline void inline_static_4 (void); ++} ++ ++void ++inline_3 (void) ++{ ++} ++ ++void ++inline_4 (void) ++{ ++} +Index: gcc/testsuite/gcc.dg/pr88563.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pr88563.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/pr88563.c (.../branches/gcc-8-branch) +@@ -0,0 +1,15 @@ ++/* PR rtl-optimization/88563 */ ++/* { dg-do run { target int128 } } */ ++/* { dg-options "-O2 -fno-code-hoisting -fno-tree-ccp -fno-tree-dominator-opts -fno-tree-forwprop -fno-tree-fre -fno-tree-pre -fno-tree-vrp" } */ ++ ++int ++main () ++{ ++#if __SIZEOF_LONG_LONG__ == 8 && __SIZEOF_INT128__ == 16 && __CHAR_BIT__ == 8 ++ unsigned __int128 a = 5; ++ __builtin_mul_overflow (0xffffffffffffffffULL, (unsigned long long) a, &a); ++ if (a != ((unsigned __int128)4 << 64 | 0xfffffffffffffffb)) ++ __builtin_abort (); ++#endif ++ return 0; ++} +Index: gcc/testsuite/gcc.dg/pubtypes-2.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pubtypes-2.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/pubtypes-2.c (.../branches/gcc-8-branch) +@@ -2,7 +2,7 @@ + /* { dg-options "-O0 -gdwarf-2 -dA" } */ + /* { dg-skip-if "Unmatchable assembly" { mmix-*-* } } */ + /* { dg-final { scan-assembler "__debug_pubtypes" } } */ +-/* { dg-final { scan-assembler "long+\[ \t\]+0x13b+\[ \t\]+\[#;]+\[ \t\]+Pub Info Length" } } */ ++/* { dg-final { scan-assembler "long+\[ \t\]+0x12e+\[ \t\]+\[#;]+\[ \t\]+Pub Info Length" } } */ + /* { dg-final { scan-assembler "used_struct\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */ + /* { dg-final { scan-assembler-not "unused_struct\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */ + +Index: gcc/testsuite/gcc.dg/pr88905.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pr88905.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/pr88905.c (.../branches/gcc-8-branch) +@@ -0,0 +1,21 @@ ++/* PR target/88905 */ ++/* { dg-do compile } */ ++/* { dg-options "-Og -fno-tree-ccp" } */ ++/* { dg-additional-options "-mabm" { target { i?86-*-* x86_64-*-* } } } */ ++ ++int a, b, c; ++extern void baz (int); ++ ++static inline int ++bar (unsigned u) ++{ ++ int i = __builtin_popcountll (-(unsigned long long) u); ++ baz (i & c); ++ return a + b + c; ++} ++ ++void ++foo (void) ++{ ++ bar (2376498292ULL); ++} +Index: gcc/testsuite/gcc.dg/store_merging_25.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/store_merging_25.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/store_merging_25.c (.../branches/gcc-8-branch) +@@ -0,0 +1,75 @@ ++/* PR tree-optimization/87859 */ ++/* { dg-do run } */ ++/* { dg-options "-O2 -fdump-tree-store-merging-details" } */ ++/* { dg-final { scan-tree-dump "New sequence of \[23] stmts to replace old one of 14 stmts" "store-merging" { target i?86-*-* x86_64-*-* } } } */ ++/* { dg-final { scan-tree-dump "New sequence of 1 stmts to replace old one of 6 stmts" "store-merging" { target i?86-*-* x86_64-*-* } } } */ ++ ++struct S { ++ union F { ++ struct T { ++#define A(n) unsigned n:1; ++#define B(n) A(n##0) A(n##1) A(n##2) A(n##3) A(n##4) \ ++ A(n##5) A(n##6) A(n##7) A(n##8) A(n##9) ++ B(f) B(f1) B(f2) B(f3) B(f4) B(f5) ++ A(f60) A(f61) A(f62) A(f63) A(f64) A(f65) A(f66) ++ } q; ++ unsigned int i[3]; ++ } f; ++}; ++ ++struct S s = { ++ .f.q.f0 = 1, .f.q.f1 = 1, .f.q.f2 = 1, .f.q.f5 = 1, .f.q.f6 = 1, ++ .f.q.f7 = 1, .f.q.f8 = 1, .f.q.f9 = 1, .f.q.f13 = 1, .f.q.f14 = 1, ++ .f.q.f15 = 1, .f.q.f16 = 1, .f.q.f17 = 1, .f.q.f19 = 1, .f.q.f21 = 1, ++ .f.q.f66 = 1 ++}; ++ ++__attribute__((noipa)) void ++bar (unsigned *x) ++{ ++ if (x[0] != s.f.i[0] || x[1] != s.f.i[1] || x[2] != s.f.i[2]) ++ __builtin_abort (); ++} ++ ++__attribute__((noipa)) void ++foo (unsigned char *state, unsigned char c) ++{ ++ struct S i; ++ i.f.i[0] = 0; ++ i.f.i[1] = 0; ++ i.f.i[2] = 0; ++ i.f.q.f7 = 1; ++ i.f.q.f2 = 1; ++ i.f.q.f21 = 1; ++ i.f.q.f19 = 1; ++ i.f.q.f14 = 1; ++ i.f.q.f5 = 1; ++ i.f.q.f0 = 1; ++ i.f.q.f15 = 1; ++ i.f.q.f16 = 1; ++ i.f.q.f6 = 1; ++ i.f.q.f9 = 1; ++ i.f.q.f17 = c; ++ i.f.q.f1 = 1; ++ i.f.q.f8 = 1; ++ i.f.q.f13 = 1; ++ i.f.q.f66 = 1; ++ if (*state) ++ { ++ i.f.q.f37 = 1; ++ i.f.q.f38 = 1; ++ i.f.q.f39 = 1; ++ i.f.q.f40 = 1; ++ i.f.q.f41 = 1; ++ i.f.q.f36 = 1; ++ } ++ bar (i.f.i); ++} ++ ++int ++main () ++{ ++ unsigned char z = 0; ++ foo (&z, 1); ++ return 0; ++} +Index: gcc/testsuite/gcc.dg/asm-qual-3.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/asm-qual-3.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/asm-qual-3.c (.../branches/gcc-8-branch) +@@ -0,0 +1,9 @@ ++/* Test that asm-qualifiers are not allowed on toplevel asm. */ ++/* { dg-do compile } */ ++/* { dg-options "-std=gnu99" } */ ++ ++asm const (""); /* { dg-error {expected '\(' before 'const'} } */ ++asm volatile (""); /* { dg-error {expected '\(' before 'volatile'} } */ ++asm restrict (""); /* { dg-error {expected '\(' before 'restrict'} } */ ++asm inline (""); /* { dg-error {expected '\(' before 'inline'} } */ ++asm goto (""); /* { dg-error {expected '\(' before 'goto'} } */ +Index: gcc/testsuite/gcc.dg/pr87929.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pr87929.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/pr87929.c (.../branches/gcc-8-branch) +@@ -0,0 +1,16 @@ ++/* { dg-do compile } */ ++/* { dg-options "-fexceptions -fnon-call-exceptions -fsignaling-nans" } */ ++ ++#define complex __complex__ ++#define _Complex_I (1.0iF) ++ ++extern void f2c_4d__( complex float *, complex float *); ++extern void abort (void); ++ ++void f2c_4c__(void) ++{ ++ complex float x,ret_val; ++ x = 1234 + 5678 * _Complex_I; ++ f2c_4d__(&ret_val,&x); ++ if ( x != ret_val ) abort(); ++} +Index: gcc/testsuite/gcc.dg/lto/pr85248_0.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/lto/pr85248_0.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/lto/pr85248_0.c (.../branches/gcc-8-branch) +@@ -2,8 +2,13 @@ + /* { dg-lto-do run } */ + /* { dg-lto-options { { -flto -O2 } } } */ + +-extern void test_alias (int s, int e) __asm__ (__USER_LABEL_PREFIX__ "test"); +-extern void test_noreturn (int s, int e) __asm__ (__USER_LABEL_PREFIX__ "test") ++#define STR1(X) #X ++#define STR2(X) STR1(X) ++ ++extern void test_alias (int s, int e) ++ __asm__ (STR2(__USER_LABEL_PREFIX__) "test"); ++extern void test_noreturn (int s, int e) ++ __asm__ (STR2(__USER_LABEL_PREFIX__) "test") + __attribute__ ((__noreturn__)); + + extern inline __attribute__ ((__always_inline__, __gnu_inline__)) void +Index: gcc/testsuite/gcc.dg/lto/pr88077_0.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/lto/pr88077_0.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/lto/pr88077_0.c (.../branches/gcc-8-branch) +@@ -0,0 +1,3 @@ ++/* { dg-lto-do link } */ ++ ++int HeaderStr; +Index: gcc/testsuite/gcc.dg/lto/pr83719_0.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/lto/pr83719_0.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/lto/pr83719_0.c (.../branches/gcc-8-branch) +@@ -1,4 +1,5 @@ + /* { dg-lto-do assemble } */ ++/* { dg-skip-if "split DWARF unsupported" { *-*-darwin* } } */ + /* { dg-lto-options { { -flto -g -gsplit-dwarf } } } */ + + /* Empty. */ +Index: gcc/testsuite/gcc.dg/lto/pr88077_1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/lto/pr88077_1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/lto/pr88077_1.c (.../branches/gcc-8-branch) +@@ -0,0 +1,6 @@ ++char HeaderStr[1]; ++ ++int main() ++{ ++ return 0; ++} +Index: gcc/testsuite/gcc.dg/tree-ssa/cunroll-15.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/tree-ssa/cunroll-15.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/tree-ssa/cunroll-15.c (.../branches/gcc-8-branch) +@@ -0,0 +1,23 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -funroll-loops -fdump-tree-cunroll-optimized -fdump-tree-optimized" } */ ++ ++int Test(void) ++{ ++ int c = 0; ++ const int in[4] = {4,3,4,4}; ++ for (unsigned i = 0; i < 4; i++) { ++ for (unsigned j = 0; j < i; j++) { ++ if (in[i] == in[j]) ++ break; ++ else ++ ++c; ++ } ++ } ++ return c; ++} ++ ++/* { dg-final { scan-tree-dump-times "note:\[^\n\r\]*completely unrolled" 2 "cunroll" } } */ ++/* When SLP vectorization is enabled the following will fail because DOM ++ doesn't know how to deal with the vectorized initializer of in. */ ++/* DOM also doesn't know to CSE in[1] with in = *.LC0 thus the list of targets this fails. */ ++/* { dg-final { scan-tree-dump "return 1;" "optimized" { xfail { arm*-*-* powerpc-*-* } } } } */ +Index: gcc/testsuite/gcc.dg/tree-ssa/pr87022.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/tree-ssa/pr87022.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/tree-ssa/pr87022.c (.../branches/gcc-8-branch) +@@ -0,0 +1,36 @@ ++/* { dg-do run } */ ++/* { dg-options "-O3" } */ ++ ++void abort(); ++char a[7]; ++char b[10][7]; ++char r[10][7] = { {0,0,0,0,0,0,0}, ++ {0,0,0,0,0,0,0}, ++ {0,0,0,0,0,0,0}, ++ {0,0,0,0,0,0,0}, ++ {0,0,0,0,0,0,0}, ++ {0,0,0,0,0,0,0}, ++ {0,0,0,0,0,0,0}, ++ {0,0,1,1,1,1,1}, ++ {0,0,1,1,1,1,1}, ++ {0,0,1,1,1,1,1}}; ++short c; ++int d, e, f, g; ++int main() { ++ for (; d <= 4; d++) { ++ e = 0; ++ for (; e <= 6; e++) { ++ if (a[c]) ++ b[e + 3][d + 2] = 1; ++ a[0] = 5; ++ b[e][d + 2] = 0; ++ } ++ } ++ for (; f < 10; f++) { ++ g = 0; ++ for (; g < 7; g++) ++ if (b[f][g] != r[f][g]) ++ abort (); ++ } ++ return 0; ++} +Index: gcc/testsuite/gcc.dg/inline-41.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/inline-41.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/inline-41.c (.../branches/gcc-8-branch) +@@ -0,0 +1,49 @@ ++/* Test inline functions declared in inner scopes. Bugs 88720 and 88726. */ ++/* { dg-do compile } */ ++/* { dg-options "-fgnu89-inline" } */ ++ ++void ++inline_1 (void) ++{ ++} ++ ++void ++inline_2 (void) ++{ ++} ++ ++static void ++inline_static_1 (void) ++{ ++} ++ ++static void ++inline_static_2 (void) ++{ ++} ++ ++static void inline_static_3 (void); ++static void inline_static_4 (void); ++ ++static void ++test (void) ++{ ++ inline void inline_1 (void); ++ extern inline void inline_2 (void); ++ inline void inline_3 (void); ++ extern inline void inline_4 (void); ++ inline void inline_static_1 (void); ++ extern inline void inline_static_2 (void); ++ inline void inline_static_3 (void); ++ extern inline void inline_static_4 (void); ++} ++ ++void ++inline_3 (void) ++{ ++} ++ ++void ++inline_4 (void) ++{ ++} +Index: gcc/testsuite/gcc.dg/pubtypes-3.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pubtypes-3.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/pubtypes-3.c (.../branches/gcc-8-branch) +@@ -2,7 +2,7 @@ + /* { dg-options "-O0 -gdwarf-2 -dA" } */ + /* { dg-skip-if "Unmatchable assembly" { mmix-*-* } } */ + /* { dg-final { scan-assembler "__debug_pubtypes" } } */ +-/* { dg-final { scan-assembler "long+\[ \t\]+0x13b+\[ \t\]+\[#;]+\[ \t\]+Pub Info Length" } } */ ++/* { dg-final { scan-assembler "long+\[ \t\]+0x12e+\[ \t\]+\[#;]+\[ \t\]+Pub Info Length" } } */ + /* { dg-final { scan-assembler "used_struct\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */ + /* { dg-final { scan-assembler-not "unused_struct\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */ + /* { dg-final { scan-assembler-not "\"list_name_type\\\\0\"+\[ \t\]+\[#;]+\[ \t\]+external name" } } */ +Index: gcc/testsuite/gcc.dg/pr88427.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pr88427.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/gcc.dg/pr88427.c (.../branches/gcc-8-branch) +@@ -0,0 +1,20 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O2 -fno-tree-dce -fno-tree-fre -Wno-div-by-zero" } */ ++ ++void ++uj (int eq, int s4) ++{ ++ short int tm = 0; ++ ++ for (;;) ++ if (eq == s4) ++ { ++ tm += !!s4; ++ if (tm == s4) ++ { ++ eq += tm; ++ for (;;) ++ eq /= 0; ++ } ++ } ++} +Index: gcc/testsuite/ChangeLog +=================================================================== +--- a/src/gcc/testsuite/ChangeLog (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/ChangeLog (.../branches/gcc-8-branch) +@@ -1,3 +1,1696 @@ ++2019-02-09 Jakub Jelinek ++ ++ PR middle-end/89243 ++ * g++.dg/opt/pr89188.C: Include ../torture/pr88861.C. ++ ++ Backported from mainline ++ 2019-01-16 David Malcolm ++ ++ PR target/88861 ++ * g++.dg/torture/pr88861.C: New test. ++ ++ 2019-02-08 Jakub Jelinek ++ ++ PR rtl-optimization/89234 ++ * g++.dg/ubsan/pr89234.C: New test. ++ ++2019-02-08 Richard Biener ++ ++ Backport from mainline ++ 2018-11-13 Richard Biener ++ ++ PR tree-optimization/86991 ++ * gcc.dg/pr86991.c: New testcase. ++ ++2019-02-08 Richard Biener ++ ++ Backport from mainline ++ 2019-02-03 Richard Biener ++ ++ PR debug/87295 ++ * g++.dg/debug/dwarf2/pr87295.C: New testcase. ++ ++ 2019-01-29 Richard Biener ++ ++ PR debug/87295 ++ * g++.dg/lto/pr87295_0.C: New testcase. ++ ++ 2019-01-15 Richard Biener ++ ++ PR debug/88046 ++ * g++.dg/lto/pr88046_0.C: New testcase. ++ ++2019-02-08 Richard Biener ++ ++ Backport from mainline ++ 2018-12-10 Richard Biener ++ ++ PR tree-optimization/88427 ++ * gcc.dg/pr88427.c: New testcase. ++ ++ 2018-11-28 Richard Biener ++ ++ PR tree-optimization/88217 ++ * g++.dg/pr88217.C: New testcase. ++ ++ 2018-11-23 Richard Biener ++ ++ PR tree-optimization/88149 ++ * g++.dg/torture/pr88149.C: New testcase. ++ ++2019-02-07 Jakub Jelinek ++ ++ Backported from mainline ++ 2019-02-06 Jakub Jelinek ++ ++ PR c/89211 ++ * gcc.dg/pr89211.c: New test. ++ ++ 2019-02-05 Jakub Jelinek ++ ++ PR c++/89187 ++ * g++.dg/opt/pr89187.C: New test. ++ ++ PR rtl-optimization/11304 ++ * gcc.target/i386/call-1.c (set_eax): Add "eax" clobber. ++ * gcc.target/i386/call-2.c: New test. ++ ++ PR target/89188 ++ * g++.dg/opt/pr89188.C: New test. ++ ++ PR rtl-optimization/89195 ++ * gcc.c-torture/execute/pr89195.c: New test. ++ ++ PR target/89186 ++ * g++.dg/ext/vector36.C: New test. ++ ++ 2019-02-02 Jakub Jelinek ++ ++ PR middle-end/87887 ++ * gcc.dg/gomp/pr87887-1.c: New test. ++ * gcc.dg/gomp/pr87887-2.c: New test. ++ ++ 2019-02-01 Jakub Jelinek ++ ++ PR fortran/83246 ++ PR fortran/89084 ++ * gfortran.dg/pr89084.f90: New test. ++ * gfortran.dg/lto/pr89084_0.f90: New test. ++ * gfortran.dg/pr83246.f90: New test. ++ ++ PR tree-optimization/88107 ++ * gcc.dg/gomp/pr88107.c: New test. ++ ++ 2019-01-31 Jakub Jelinek ++ ++ PR sanitizer/89124 ++ * c-c++-common/asan/pr89124.c: New test. ++ ++ 2019-01-30 Jakub Jelinek ++ ++ PR c++/89105 ++ * g++.dg/abi/pr89105.C: New test. ++ ++ 2019-01-29 Jakub Jelinek ++ ++ PR c++/66676 ++ PR ipa/89104 ++ * gcc.dg/gomp/pr89104.c: New test. ++ ++ 2019-01-27 Jakub Jelinek ++ ++ PR target/87214 ++ * gcc.target/i386/avx512vl-pr87214-1.c: New test. ++ * gcc.target/i386/avx512vl-pr87214-2.c: New test. ++ ++ 2019-01-24 Jakub Jelinek ++ ++ PR c++/88976 ++ * c-c++-common/gomp/cancel-2.c: New test. ++ * gcc.dg/gomp/cancel-1.c: New test. ++ * g++.dg/gomp/cancel-1.C: New test. ++ * g++.dg/gomp/cancel-2.C: New test. ++ * g++.dg/gomp/cancel-3.C: New test. ++ ++ 2019-01-23 Jakub Jelinek ++ ++ PR tree-optimization/88964 ++ * gfortran.dg/pr88964.f90: New test. ++ ++ 2019-01-22 Jakub Jelinek ++ ++ PR target/88965 ++ * gcc.target/powerpc/pr88965.c: New test. ++ ++ PR middle-end/88968 ++ * c-c++-common/gomp/atomic-23.c: New test. ++ ++ PR target/88905 ++ * gcc.dg/pr88905.c: New test. ++ ++ PR rtl-optimization/49429 ++ PR target/49454 ++ PR rtl-optimization/86334 ++ PR target/88906 ++ * gcc.target/i386/pr86334.c: New test. ++ * gcc.target/i386/pr88906.c: New test. ++ ++ 2019-01-21 Jakub Jelinek ++ ++ PR c++/88949 ++ * g++.dg/gomp/pr88949.C: New test. ++ ++ PR sanitizer/88901 ++ * g++.dg/asan/pr88901.C: New test. ++ ++ 2019-01-19 Jakub Jelinek ++ ++ PR fortran/88902 ++ * gfortran.dg/pr88902.f90: New test. ++ ++ 2019-01-17 Jakub Jelinek ++ ++ PR rtl-optimization/88870 ++ * gcc.dg/pr88870.c: New test. ++ ++ 2019-01-14 Jakub Jelinek ++ ++ * g++.dg/cpp1z/feat-cxx1z.C: Add tests for ++ __cpp_guaranteed_copy_elision and __cpp_nontype_template_parameter_auto ++ feature test macros. ++ ++ 2019-01-10 Jakub Jelinek ++ ++ PR c/88568 ++ * gcc.dg/pr88568.c: New test. ++ ++ 2019-01-05 Jakub Jelinek ++ ++ PR debug/88635 ++ * gcc.dg/debug/dwarf2/pr88635.c: New test. ++ ++2019-02-07 Christophe Lyon ++ ++ Backport from mainline ++ 2019-01-28 Marek Polacek ++ ++ PR c++/89024 - ICE with incomplete enum type. ++ * g++.dg/cpp0x/enum37.C: Add dg-error. ++ ++2019-02-07 Richard Biener ++ ++ Backport from mainline ++ 2018-11-20 Richard Biener ++ ++ PR tree-optimization/88105 ++ * gcc.dg/gomp/pr88105.c: New testcase. ++ ++ 2018-11-28 Richard Biener ++ ++ PR tree-optimization/88223 ++ * gcc.dg/torture/pr88223.c: New testcase. ++ ++2019-02-07 Richard Biener ++ ++ Backport from mainline ++ 2018-12-11 Richard Biener ++ ++ PR middle-end/88448 ++ PR middle-end/88415 ++ * gcc.dg/gomp/pr88415.c: New testcase. ++ ++ 2018-11-15 Richard Biener ++ ++ PR tree-optimization/88030 ++ * gcc.dg/tsan/pr88030.c: New testcase. ++ ++ 2018-11-08 Richard Biener ++ ++ PR tree-optimization/87929 ++ * gcc.dg/pr87929.c: New testcase. ++ ++2019-02-07 Richard Biener ++ ++ Backport from mainline ++ 2019-01-22 Tamar Christina ++ ++ PR/tree-optimization 88903 ++ * gcc.dg/vect/pr88903-1.c: Add explicit &. ++ ++2019-02-06 Eric Botcazou ++ ++ * gnat.dg/opt76.adb: New test. ++ ++2019-02-06 Richard Biener ++ ++ Backport from mainline ++ 2019-01-31 Richard Biener ++ ++ PR tree-optimization/89135 ++ * gcc.dg/torture/pr89135.c: New testcase. ++ ++ 2019-01-18 Richard Biener ++ ++ PR tree-optimization/88903 ++ * gcc.dg/vect/pr88903-1.c: New testcase. ++ * gcc.dg/vect/pr88903-2.c: Likewise. ++ ++2019-02-05 Thomas Koenig ++ ++ PR fortran/67679 ++ Backport from trunk ++ * gfortran.dg/warn_undefined_1.f90: New test. ++ * gfortran.dg/coarray_lock_7.f90: Fix patterns in test. ++ ++2019-02-05 Kelvin Nilsen ++ ++ 2019-02-05 Kelvin Nilsen ++ * gcc.target/powerpc/vec-extract-slong-1.c: Require p8 execution ++ hardware. ++ * gcc.target/powerpc/vec-extract-schar-1.c: Likewise. ++ * gcc.target/powerpc/vec-extract-sint128-1.c: Likewise. ++ * gcc.target/powerpc/vec-extract-sshort-1.c: Likewise. ++ * gcc.target/powerpc/vec-extract-ulong-1.c: Likewise. ++ * gcc.target/powerpc/vec-extract-uchar-1.c: Likewise. ++ * gcc.target/powerpc/vec-extract-sint-1.c: Likewise. ++ * gcc.target/powerpc/vec-extract-uint128-1.c: Likewise. ++ * gcc.target/powerpc/vec-extract-ushort-1.c: Likewise. ++ * gcc.target/powerpc/vec-extract-uint-1.c: Likewise. ++ ++ Backport from mainline. ++ 2019-01-30 Kelvin Nilsen ++ * gcc.target/powerpc/vec-extract-schar-1.c: New test. ++ * gcc.target/powerpc/vec-extract-sint-1.c: New test. ++ * gcc.target/powerpc/vec-extract-sint128-1.c: New test. ++ * gcc.target/powerpc/vec-extract-slong-1.c: New test. ++ * gcc.target/powerpc/vec-extract-sshort-1.c: New test. ++ * gcc.target/powerpc/vec-extract-uchar-1.c: New test. ++ * gcc.target/powerpc/vec-extract-uint-1.c: New test. ++ * gcc.target/powerpc/vec-extract-uint128-1.c: New test. ++ * gcc.target/powerpc/vec-extract-ulong-1.c: New test. ++ * gcc.target/powerpc/vec-extract-ushort-1.c: New test. ++ ++2019-02-03 Paul Thomas ++ ++ Backport from trunk ++ PR fortran/88393 ++ * gfortran.dg/alloc_comp_assign_16.f03 : New test. ++ ++2019-02-03 Paul Thomas ++ ++ Backport from trunk ++ PR fortran/88980 ++ * gfortran.dg/realloc_on_assign_32.f90 : New test. ++ ++2019-02-03 Paul Thomas ++ ++ Backport from trunk ++ PR fortran/88685 ++ * gfortran.dg/pointer_array_component_3.f90 : New test. ++ ++2019-02-02 Thomas Koenig ++ ++ PR fortran/57048 ++ Backport from trunk ++ * gfortran.dg/c_funptr_1.f90: New file. ++ * gfortran.dg/c_funptr_1_mod.f90: New file. ++ ++2019-02-01 Bin Cheng ++ ++ Backport from mainline ++ 2018-10-15 Bin Cheng ++ ++ PR tree-optimization/87022 ++ * gcc.dg/tree-ssa/pr87022.c: New test. ++ ++2019-02-01 Bin Cheng ++ ++ Backport from mainline ++ 2019-02-01 Bin Cheng ++ ++ PR tree-optimization/88932 ++ * gfortran.dg/pr88932.f90: New test. ++ ++2019-01-30 Manfred Schwarb ++ ++ * gfortran.dg/newunit_5.f90.f90: Moved to ++ * gfortran.dg/newunit_5.f90: here and fix a dg directive. ++ ++2019-01-30 Kewen Lin ++ ++ Backport from mainline ++ 2019-01-20 Kewen Lin ++ ++ * gcc.target/powerpc/altivec_vld_vst_addr.c: Remove, split into ++ altivec_vld_vst_addr-1.c and altivec_vld_vst_addr-2.c. ++ * gcc.target/powerpc/altivec_vld_vst_addr-1.c: New test. ++ * gcc.target/powerpc/altivec_vld_vst_addr-2.c: Ditto. ++ ++ 2019-01-17 Kewen Lin ++ ++ * gcc.target/powerpc/altivec_vld_vst_addr.c: New test. ++ ++2019-01-27 Uroš Bizjak ++ ++ PR fortran/70696 ++ * gfortran.dg/coarray/event_3.f0: Add save attribue to x. ++ ++2019-01-27 Eric Botcazou ++ ++ * gnat.dg/opt75.adb: New test. ++ * gnat.dg/opt75_pkg.ad[sb]: New helper. ++ ++2019-01-27 Paul Thomas ++ ++ Backport from trunk ++ PR fortran/56386 ++ PR fortran/58906 ++ PR fortran/77385 ++ * gfortran.dg/associate_44.f90 : New test. ++ ++ PR fortran/80260 ++ * gfortran.dg/select_type_45.f90 : New test. ++ ++ PR fortran/82077 ++ * gfortran.dg/select_type_46.f90 : New test. ++ ++2019-01-27 Uroš Bizjak ++ ++ PR target/88948 ++ * gcc.target/i386/pr88948.c: New test. ++ ++2019-01-26 Eric Botcazou ++ ++ * gnat.dg/array34.adb: New test. ++ ++2019-01-25 Paul Thomas ++ ++ PR fortran/87336 ++ * gfortran.dg/pointer_array_10.f90 : New test. ++ * gfortran.dg/assign_10.f90 : Increase 'parm' count to 20. ++ * gfortran.dg/transpose_optimization_2.f90 : Increase 'parm' ++ count to 72. ++ ++2019-01-25 Richard Biener ++ ++ PR tree-optimization/86865 ++ * gcc.dg/graphite/pr86865.c: New testcase. ++ * gcc.dg/graphite/pr69728.c: XFAIL. ++ * gcc.dg/graphite/scop-21.c: Likewise. ++ ++2019-01-24 Uroš Bizjak ++ ++ PR target/88998 ++ * g++.dg/pr88998.c: New test. ++ ++2019-01-24 Richard Biener ++ ++ Backport from mainline ++ 2019-01-23 Richard Biener ++ ++ PR tree-optimization/89008 ++ * gcc.dg/torture/pr89008.c: New testcase. ++ ++2019-01-22 Manfred Schwarb ++ ++ * gfortran.dg/array_function_5.f90: : Fix a dg directive. ++ * gfortran.dg/class_66.f90: Likewise. ++ * gfortran.dg/dec_structure_12.f90: Likewise. ++ * gfortran.dg/dec_structure_14.f90: Likewise. ++ * gfortran.dg/dec_structure_15.f90: Likewise. ++ * gfortran.dg/dtio_31.f03: Likewise. ++ * gfortran.dg/dtio_32.f03: Likewise. ++ * gfortran.dg/extends_11.f03: Likewise. ++ * gfortran.dg/integer_plus.f90: Likewise. ++ * gfortran.dg/matmul_const.f90: Likewise. ++ * gfortran.dg/namelist_96.f90: Likewise. ++ * gfortran.dg/pdt_25.f03: Likewise. ++ * gfortran.dg/pdt_28.f03: Likewise. ++ * gfortran.dg/pr58968.f: Likewise. ++ * gfortran.dg/pr78259.f90: Likewise. ++ * gfortran.dg/debug/pr35154-stabs.f: Likewise. ++ * gfortran.dg/vect/vect-2.f90: Likewise. ++ ++2019-01-22 Uroš Bizjak ++ ++ PR target/88938 ++ * gcc.target/i386/pr88938.c: New test. ++ ++2019-01-18 Richard Earnshaw ++ ++ PR target/88799 ++ * gcc.target/arm/multilib.exp (config "aprofile"): Add tests for ++ mp and sec extensions to armv7-a. ++ ++2019-01-17 Nathan Sidwell ++ ++ PR c++/86610 ++ * g++.dg/cpp0x/pr86610.C: New. ++ ++2019-01-16 Martin Jambor ++ ++ Backported from mainline ++ 2018-12-10 Martin Jambor ++ ++ PR ipa/88214 ++ * gcc.dg/ipa/pr88214.c: New test. ++ ++2019-01-15 Steven G. Kargl ++ ++ PR fortran/81849 ++ * gfortran.dg/pr81849.f90: New test. ++ ++2019-01-15 Joseph Myers ++ ++ Backport from mainline ++ 2019-01-07 Joseph Myers ++ ++ PR c/88720 ++ PR c/88726 ++ * gcc.dg/inline-40.c, gcc.dg/inline-41.c: New tests. ++ ++2019-01-13 Jerry DeLisle ++ ++ Backport from trunk ++ PR libfortran/88776 ++ * gfortran.dg/namelist_96.f90: New test. ++ ++2019-01-12 Dominique d'Humieres ++ ++ * gcc.dg/plugin/plugindir1.c: Adjust dg-prune-output for Darwin. ++ * gcc.dg/plugin/plugindir2.c: Likewise. ++ * gcc.dg/plugin/plugindir3.c: Likewise. ++ * gcc.dg/plugin/plugindir4.c: Likewise. ++ ++2019-01-11 Steven G. Kargl ++ ++ PR fortran/35031 ++ * gfortran.dg/pr35031.f90: new test. ++ ++2019-01-09 Wilco Dijkstra ++ ++ * gcc.target/aarch64/pr62178.c: Relax scan-assembler checks. ++ ++2019-01-09 Eric Botcazou ++ ++ * gcc.target/sparc/tls-ld-int8.c: New test. ++ * gcc.target/sparc/tls-ld-int16.c: Likewise. ++ * gcc.target/sparc/tls-ld-int32.c: Likewise. ++ * gcc.target/sparc/tls-ld-uint8.c: Likewise. ++ * gcc.target/sparc/tls-ld-uint16.c: Likewise. ++ * gcc.target/sparc/tls-ld-uint32.c: Likewise. ++ ++2019-01-08 Jakub Jelinek ++ ++ Backported from mainline ++ 2019-01-05 Jakub Jelinek ++ ++ PR middle-end/82564 ++ PR target/88620 ++ * gcc.dg/nested-func-12.c: New test. ++ * gcc.c-torture/compile/pr82564.c: New test. ++ ++ 2019-01-04 Jakub Jelinek ++ ++ PR target/88594 ++ * gcc.dg/pr88594.c: New test. ++ ++ 2019-01-03 Jakub Jelinek ++ ++ PR debug/88644 ++ * gcc.dg/debug/dwarf2/pr88644.c: New test. ++ ++ 2019-01-03 Iain Sandoe ++ ++ * gcc.dg/pubtypes-2.c: Adjust expected pubtypes length. ++ * gcc.dg/pubtypes-3.c: Likewise. ++ * gcc.dg/pubtypes-4.c: Likewise. ++ ++ 2018-12-21 Jakub Jelinek ++ ++ PR middle-end/85594 ++ PR middle-end/88553 ++ * gcc.dg/gomp/pr85594.c: New test. ++ * gcc.dg/gomp/pr88553.c: New test. ++ ++ PR rtl-optimization/88563 ++ * gcc.dg/pr88563.c: New test. ++ ++ 2018-12-20 Jakub Jelinek ++ ++ PR c++/88180 ++ * g++.dg/parse/pr88180.C: New test. ++ * g++.dg/pr85039-1.C: Don't expect diagnostics inside of the type ++ definition's NSDMIs. ++ ++ 2018-12-19 Jakub Jelinek ++ ++ PR target/88541 ++ * gcc.target/i386/avx-vpclmulqdq-1.c: New test. ++ ++ PR c++/87934 ++ * g++.dg/cpp0x/constexpr-87934.C: New test. ++ ++ 2018-12-17 Jakub Jelinek ++ ++ PR c++/88410 ++ * g++.dg/cpp0x/pr88410.C: New test. ++ ++ 2018-12-14 Jakub Jelinek ++ ++ PR c++/82294 ++ PR c++/87436 ++ * g++.dg/tree-ssa/pr82294.C: New test. ++ * g++.dg/tree-ssa/pr87436.C: New test. ++ ++ 2018-12-13 Jakub Jelinek ++ ++ PR rtl-optimization/88470 ++ * gcc.target/i386/pr88470.c: New test. ++ ++ PR rtl-optimization/88416 ++ * gcc.target/i386/pr88416.c: New test. ++ ++ 2018-12-11 Jakub Jelinek ++ ++ PR sanitizer/88426 ++ * c-c++-common/ubsan/float-cast-overflow-11.c: New test. ++ ++ 2018-12-07 Jakub Jelinek ++ ++ PR c++/86669 ++ * g++.dg/cpp0x/initlist105.C: New test. ++ * g++.dg/cpp0x/initlist106.C: New test. ++ * g++.dg/other/pr86669.C: New test. ++ ++ PR target/85593 ++ * gcc.target/i386/pr85593.c: New test. ++ ++ PR fortran/88377 ++ * gfortran.dg/gomp/pr88377.f90: New test. ++ ++ PR c++/87506 ++ * g++.dg/cpp0x/constexpr-87506.C: New test. ++ ++ 2018-12-06 Jakub Jelinek ++ ++ PR target/87598 ++ * gcc.target/aarch64/asm-5.c: New test. ++ ++ 2018-12-05 Jakub Jelinek ++ ++ PR tree-optimization/87360 ++ * g++.dg/opt/pr87360.C: New test. ++ * gfortran.dg/pr87360.f90: New test. ++ ++ 2018-12-04 Jakub Jelinek ++ ++ PR tree-optimization/87320 ++ * gcc.dg/pr87320.c: New test. ++ ++ PR c++/88103 ++ * g++.dg/cpp0x/rv-cond3.C: New test. ++ ++ 2018-12-03 Jakub Jelinek ++ ++ PR tree-optimization/71109 ++ * gcc.c-torture/compile/pr71109.c: New test. ++ ++ 2018-11-30 Jakub Jelinek ++ ++ PR debug/85550 ++ * g++.dg/debug/dwarf2/pr85550.C: New test. ++ ++ 2018-11-29 Jakub Jelinek ++ ++ PR target/88234 ++ * gcc.dg/ubsan/pr88234.c: New test. ++ ++ PR c++/87539 ++ * g++.dg/cpp0x/pr87539.C: New test. ++ ++ 2018-11-28 Jakub Jelinek ++ ++ PR c++/88215 ++ * c-c++-common/ubsan/pr88215.c: New test. ++ ++ 2018-11-27 Jakub Jelinek ++ ++ PR c++/88181 ++ * g++.dg/debug/pr88181.C: New test. ++ ++ 2018-11-26 Jakub Jelinek ++ ++ PR c++/86900 ++ * g++.dg/debug/dwarf2/pr86900.C: New test. ++ ++ 2018-11-22 Jakub Jelinek ++ ++ PR tree-optimization/85794 ++ * gcc.dg/vect/O3-pr85794.c: New test. ++ ++ 2018-11-21 Jakub Jelinek ++ ++ PR c++/88122 ++ * g++.dg/cpp0x/implicit15.C: New test. ++ ++ 2018-11-20 Jakub Jelinek ++ ++ PR tree-optimization/87895 ++ * gcc.dg/gomp/pr87895-1.c: New test. ++ * gcc.dg/gomp/pr87895-2.c: New test. ++ * gcc.dg/gomp/pr87895-3.c: New test. ++ ++ 2018-11-19 Jakub Jelinek ++ ++ PR tree-optimization/88071 ++ * gcc.dg/pr88071.c: New test. ++ ++ PR c++/60994 ++ * g++.dg/lookup/pr60994.C: New test. ++ ++ PR debug/87039 ++ * g++.dg/gomp/pr78363-4.C: New test. ++ * g++.dg/gomp/pr78363-5.C: New test. ++ * g++.dg/gomp/pr78363-6.C: New test. ++ * g++.dg/gomp/pr78363-7.C: New test. ++ ++ 2018-11-16 Jakub Jelinek ++ ++ PR rtl-optimization/87475 ++ * g++.dg/opt/pr87475.C: New test. ++ ++ 2018-11-15 Jakub Jelinek ++ ++ PR rtl-optimization/88018 ++ * g++.dg/tsan/pr88018.C: New test. ++ ++ 2018-11-13 Jakub Jelinek ++ ++ PR tree-optimization/87898 ++ * gcc.dg/gomp/pr87898.c: New test. ++ ++2019-01-03 Jan Hubicka ++ ++ Backport from mainline ++ 2019-01-02 Jan Hubicka ++ ++ PR lto/88130 ++ * g++.dg/torture/pr88130.C: New testcase. ++ ++2019-01-05 Dominique d'Humieres ++ ++ PR target/60563 ++ * g++.dg/ext/sync-4.C: Add dg-xfail-run-if for darwin. ++ ++2019-01-03 Martin Liska ++ ++ Backport from mainline ++ 2019-01-02 Jakub Jelinek ++ ++ PR ipa/88561 ++ * g++.dg/tree-prof/devirt.C: Expect _ZThn16 only for lp64 and llp64 ++ targets and expect _ZThn8 for ilp32 targets. ++ ++2019-01-03 Martin Liska ++ ++ Backport from mainline ++ 2019-01-01 Jan Hubicka ++ ++ * g++.dg/tree-prof/devirt.C: Update testcase. ++ ++2019-01-03 Martin Liska ++ ++ Backport from mainline ++ 2018-12-31 Martin Liska ++ ++ * g++.dg/tree-prof/devirt.C: Fix scan pattern and test options. ++ ++2018-01-02 Segher Boessenkool ++ ++ Backport from trunk ++ 2018-12-06 Segher Boessenkool ++ ++ PR inline-asm/55681 ++ * gcc.dg/asm-qual-1.c: Test that "const" and "restrict" are refused. ++ * gcc.dg/asm-qual-2.c: New test, test that asm-qualifiers are allowed ++ in any order, but that duplicates are not allowed. ++ ++ Backport from trunk ++ 2018-12-06 Segher Boessenkool ++ ++ * c-c++-common/torture/asm-inline.c: New testcase. ++ * gcc.dg/asm-qual-2.c: Test asm inline, too. ++ ++ Backport from trunk ++ 2018-12-19 Segher Boessenkool ++ ++ * g++.dg/asm-qual-1.C: New testcase. ++ * g++.dg/asm-qual-2.C: New testcase. ++ * gcc.dg/asm-qual-1.c: Update. ++ ++ Backport from trunk ++ 2018-12-19 Segher Boessenkool ++ ++ * g++.dg/asm-qual-3.C: New testcase. ++ * gcc.dg/asm-qual-3.c: New testcase. ++ ++ And extra for the backport ++ 2019-01-02 Segher Boessenkool ++ ++ * gcc.dg/asm-qual-1.c: Adjust. ++ ++2018-12-30 Dominique d'Humieres ++ ++ * g++.dg/abi/key2.C: Silence the [-Wreturn-type] warning. ++ ++2018-12-30 Dominique d'Humieres ++ ++ PR tree-optimization/68356 ++ PR target/81210 ++ PR target/81693 ++ * gcc.dg/torture/pr68264.c: Skip on darwin. ++ * gcc.dg/torture/pr68037-1.c: Likewise. ++ * gcc.dg/torture/pr68037-2.c: Likewise. ++ * gcc.dg/torture/pr68037-3.c: Likewise. ++ * gcc.dg/torture/pr25967-1.c: Likewise. ++ * gcc.dg/torture/pr25967-2.c: Likewise. ++ ++2018-12-27 Martin Liska ++ ++ Backport from mainline ++ 2018-12-15 Jan Hubicka ++ ++ PR ipa/88561 ++ * g++.dg/tree-prof/devirt.C: New testcase. ++ ++2018-12-24 Iain Sandoe ++ ++ PR testsuite/67974 ++ * gcc.target/x86_64/abi/avx/asm-support-darwin.s: New. ++ ++2018-12-23 Paul Thomas ++ ++ Backport from trunk ++ PR fortran/77703 ++ * gfortran.dg/ptr_func_assign_5.f08 : New test. ++ ++2018-12-23 Paul Thomas ++ ++ Backport from trunk ++ PR fortran/77325 ++ * gfortran.dg/deferred_character_22.f90 : New test. ++ ++2018-12-22 Steven G . Kargl ++ ++ PR fortran/85798 ++ * gfortran.dg/pr85798.f90: New test. ++ ++2018-12-22 Thomas Koenig ++ ++ Backport from trunk ++ PR fortran/85544 ++ * gfortran.dg/power_7.f90: New test. ++ ++2018-12-22 Steven G. Kargl ++ ++ PR fortran/88169 ++ * gfortran.dg/pr88169_1.f90: new test. ++ * gfortran.dg/pr88169_2.f90: Ditto. ++ * gfortran.dg/pr88169_3.f90: Ditto. ++ ++2018-12-22 Iain Sandoe ++ ++ Backport from mainline ++ 2018-08-16 Iain Sandoe ++ ++ * c-c++-common/asan/pointer-subtract-3.c: Skip for Darwin. ++ * c-c++-common/asan/pointer-subtract-4.c: Likewise. ++ * g++.dg/torture/pr44295.C : Likewise. ++ ++2018-12-22 Iain Sandoe ++ ++ Backport from mainline ++ 2018-08-22 Iain Sandoe ++ ++ * gcc.dg/lto/pr85248_0.c (test_alias): ++ Stringify __USER_LABEL_PREFIX__. ++ (test_noreturn): Likewise. ++ ++ 2018-08-16 Iain Sandoe ++ ++ * gcc.dg/memcmp-1.c (lib_memcmp): Apply __USER_LABEL_PREFIX__. ++ (lib_strncmp): Likewise. ++ ++ 2018-08-16 Iain Sandoe ++ ++ * gcc.dg/asan/pr81923.c: Stringify __USER_LABEL_PREFIX__. ++ ++2018-12-21 Paul Thomas ++ ++ PR fortran/87359 ++ * gfortran.dg/associate_40.f90 : New test. ++ ++2018-12-21 Uros Bizjak ++ ++ Backport from mainline ++ 2018-12-10 Uros Bizjak ++ ++ PR target/88418 ++ * gcc.target/i386/pr88418.c: New test. ++ ++2018-12-17 Senthil Kumar Selvaraj ++ ++ Backport from trunk ++ 2018-12-17 Senthil Kumar Selvaraj ++ ++ PR rtl-optimization/88253 ++ * gcc.target/avr/pr88253.c: New test. ++ ++2018-12-18 Steven G. Kargl ++ ++ PR fortran/88116 ++ * gfortran.dg/pr88116_1.f90: New test. ++ * gfortran.dg/pr88116_2.f90: Ditto. ++ ++ PR fortran/88467 ++ * gfortran.dg/pr88467.f90: New test. ++ ++2018-12-15 Steven G. Kargl ++ ++ PR fortran/88138 ++ * gfortran.dg/pr88138.f90: new test. ++ ++2018-12-13 Nathan Sidwell ++ ++ PR c++/87531 ++ * g++.dg/lookup/pr87531-2.C: New. ++ ++2018-12-13 Andreas Krebbel ++ ++ Backport from mainline ++ 2018-12-13 Andreas Krebbel ++ ++ * gcc.target/s390/zvector/vec-double-1.c: New test. ++ * gcc.target/s390/zvector/vec-double-2.c: New test. ++ ++2018-12-12 Peter Bergner ++ ++ Backport from mainline ++ 2018-12-07 Peter Bergner ++ ++ PR target/87496 ++ * gcc.target/powerpc/pr87496.c: Rename from this... ++ * gcc.target/powerpc/pr87496-1.c: ...to this. Update comment. ++ * gcc.target/powerpc/pr87496-2.c: New test. ++ * gcc.target/powerpc/pr87496-3.c: New test. ++ ++2018-12-11 Steven G. Kargl ++ ++ PR fortran/88155 ++ * gfortran.dg/pr70870_1.f90: Update testcase to use -std=gnu. ++ * gfortran.dg/pr88155.f90: New test. ++ ++2018-12-11 Steven G. Kargl ++ ++ PR fortran/88249 ++ * gfortran.dg/pr88249.f90: New test. ++ ++2018-12-10 Steven G. Kargl ++ ++ PR fortran/97922 ++ * gfortran.dg/io_constraints_8.f90: Update error message. ++ * gfortran.dg/pr87922.f90: New test. ++ ++2018-12-10 Steven G. Kargl ++ ++ PR fortran/88269 ++ * gfortran.dg/pr88269.f90: New test. ++ ++2018-12-10 Eric Botcazou ++ ++ * c-c++-common/patchable_function_entry-decl.c: Pass -mcpu=gr6 for ++ Visium and remove other specific handling. ++ * c-c++-common/patchable_function_entry-default.c: Likewise. ++ * c-c++-common/patchable_function_entry-definition.c: Likewise. ++ ++2018-12-09 Steven G. Kargl ++ ++ PR fortran/88205 ++ * gfortran.dg/pr88205.f90: New unit. ++ ++2018-12-09 Steven G. Kargl ++ ++ PR fortran/88206 ++ * gfortran.dg/pr88206.f90: New test. ++ ++2018-12-09 Steven G. Kargl ++ ++ PR fortran/88228 ++ * gfortran.dg/pr88228.f90: New test. ++ ++2018-12-08 Steven G. Kargl ++ ++ PR fortran/88048 ++ * gfortran.dg/pr88048.f90: New test. ++ ++2018-12-08 Steven G. Kargl ++ ++ PR fortran/88025 ++ * gfortran.dg/pr88025.f90: New test. ++ ++2018-12-06 Iain Sandoe ++ ++ Backport from mainline ++ 2018-08-16 Iain Sandoe ++ ++ PR testsuite/78544 ++ * gcc.dg/tree-prof/section-attr-1.c: Add Darwin-specific section ++ attributes and matching. ++ * gcc.dg/tree-prof/section-attr-2.c: Likewise. ++ * gcc.dg/tree-prof/section-attr-3.c: Likewise. ++ ++2018-12-05 Richard Biener ++ ++ Backport from mainline ++ 2018-09-20 Richard Sandiford ++ ++ PR tree-optimization/87288 ++ * gcc.dg/vect/pr87288-1.c: New test. ++ * gcc.dg/vect/pr87288-2.c: Likewise, ++ * gcc.dg/vect/pr87288-3.c: Likewise. ++ ++2018-12-05 Iain Sandoe ++ ++ Backport from mainline ++ 2018-08-18 Iain Sandoe ++ ++ * g++.dg/debug/dwarf2/pr85302.C: Skip unsupported split DWARF ++ test on Darwin. ++ * g++.dg/debug/dwarf2/pr85302.C: Likewise. ++ * gcc.dg/lto/pr83719_0.c: Likewise. ++ ++2018-11-29 Peter Bergner ++ ++ Backport from mainline ++ 2018-11-29 Peter Bergner ++ ++ PR target/87496 ++ * gcc.target/powerpc/pr87496.c: New test. ++ ++2018-11-29 Nathan Sidwell ++ ++ PR c++/87531 ++ * g++.dg/lookup/pr87531.C: New. ++ ++2018-11-28 Richard Biener ++ ++ PR tree-optimization/79351 ++ * gcc.dg/torture/pr79351.c: New testcase. ++ ++2018-11-26 Andreas Krebbel ++ ++ Backport from mainline ++ 2018-11-20 Andreas Krebbel ++ ++ * gcc.target/s390/flogr-1.c: New test. ++ ++2018-11-26 Matthias Klose ++ ++ * jit.dg/test-long-names.c: Fix build with -Wformat-security. ++ ++2018-11-25 Thomas Koenig ++ ++ Backport from trunk ++ PR fortran/88073 ++ * gfortran.dg/where_7.f90: New test. ++ ++2018-11-24 Paul Thomas ++ ++ Backport from trunk ++ PR fortran/88143 ++ * gfortran.dg/associate_46.f90: New test. ++ ++2018-11-22 Eric Botcazou ++ ++ Backport from mainline ++ 2018-11-21 Jakub Jelinek ++ ++ PR rtl-optimization/85925 ++ * gcc.c-torture/execute/20181120-1.c: Require effective target ++ int32plus. ++ (u): New variable. ++ (main): Compare d against u.f1 rather than 0x101. Use 0x4030201 ++ instead of 0x10101. ++ ++2018-11-20 Martin Liska ++ ++ Backport from mainline ++ 2018-11-19 Martin Liska ++ ++ PR lto/88077 ++ * gcc.dg/lto/pr88077_0.c: New test. ++ * gcc.dg/lto/pr88077_1.c: New test. ++ ++2018-11-20 Eric Botcazou ++ ++ * gcc.c-torture/execute/20181120-1.c: New test. ++ ++2018-11-19 Martin Liska ++ ++ PR gcov-profile/88045 ++ * g++.dg/gcov/pr88045.C: New test. ++ ++2018-11-18 Uros Bizjak ++ ++ Backport from mainline ++ 2018-11-11 Uros Bizjak ++ ++ PR target/87928 ++ * gcc.target/i386/pr87928.c: New test. ++ ++2018-11-16 Nathan Sidwell ++ ++ PR c++/86246 ++ PR c++/87989 ++ * g++.dg/template/pr86246.C: New. ++ * g++.dg/template/pr87989.C: New. ++ ++2018-11-15 Nathan Sidwell ++ ++ PR debug/88006 ++ PR debug/87462 ++ * g++.dg/debug/dwarf2/pr87462.C: New. ++ * g++.dg/debug/dwarf2/pr88006.C: New. ++ ++2018-11-14 Claudiu Zissulescu ++ ++ Backport from mainline. ++ * gcc.target/arc/builtin_eh.c: New test. ++ ++2018-11-11 Uros Bizjak ++ ++ Backport from mainline ++ 2018-11-04 Uros Bizjak ++ ++ PR middle-end/58372 ++ * g++.dg/pr58372.C: New test. ++ ++2018-11-09 Jerry DeLisle ++ ++ Backported from mainline ++ PR libfortran/78351 ++ * gfortran.dg/read_legacy_comma.f90: New test. ++ ++2018-11-09 Mihail Ionescu ++ ++ PR target/87867 ++ Backport from mainiline ++ 2018-09-17 Eric Botcazou ++ ++ * g++.dg/other/thunk2a.C: New test. ++ * g++.dg/other/thunk2b.C: Likewise. ++ * g++.dg/other/vthunk1.C: Rename as thunk1.C ++ ++2018-11-08 Eric Botcazou ++ ++ * gnat.dg/null_pointer_deref1.adb: Remove -gnatp and add pragma. ++ * gnat.dg/null_pointer_deref2.adb: Likewise. ++ * gnat.dg/null_pointer_deref3.adb: Likewise. ++ * gnat.dg/opt74.adb: New test. ++ * gnat.dg/opt74_pkg.ad[sb]: New helper. ++ * gnat.dg/warn12.adb: Delete. ++ * gnat.dg/warn12_pkg.ads: Likewise. ++ ++2018-11-05 Jakub Jelinek ++ ++ PR tree-optimization/87859 ++ * gcc.dg/store_merging_24.c: New test. ++ * gcc.dg/store_merging_25.c: New test. ++ ++ PR sanitizer/87837 ++ * c-c++-common/ubsan/pr87837.c: New test. ++ ++ Backported from mainline ++ 2018-10-25 Jakub Jelinek ++ ++ PR fortran/87725 ++ * c-c++-common/gomp/schedule-modifiers-1.c (bar): Separate modifier ++ from kind with a colon rather than comma. ++ * gfortran.dg/gomp/schedule-modifiers-1.f90: New test. ++ * gfortran.dg/gomp/schedule-modifiers-2.f90: New test. ++ ++ 2018-10-24 Jakub Jelinek ++ ++ PR c++/86288 ++ * g++.dg/cpp0x/gen-attrs-66.C: New test. ++ ++ 2018-10-20 Jakub Jelinek ++ ++ PR middle-end/87647 ++ * gcc.c-torture/compile/pr87647.c: New test. ++ ++ 2018-10-19 Jakub Jelinek ++ ++ PR middle-end/85488 ++ PR middle-end/87649 ++ * c-c++-common/gomp/doacross-2.c: New test. ++ * c-c++-common/gomp/sink-3.c: Expect another error during error ++ recovery. ++ ++2018-11-03 Tobias Burnus ++ Thomas Koenig ++ ++ Backport from trunk ++ PR fortran/87597 ++ * gfortran.dg/inline_matmul_24.f90: New. ++ ++2018-10-26 Bill Schmidt ++ ++ Backport from mainline ++ 2018-10-19 Bill Schmidt ++ ++ PR tree-optimization/87473 ++ * gcc.c-torture/compile/pr87473.c: New file. ++ ++2018-10-25 Richard Biener ++ ++ PR tree-optimization/87665 ++ PR tree-optimization/87745 ++ * gfortran.dg/20181025-1.f: New testcase. ++ ++2018-10-24 Richard Biener ++ ++ PR tree-optimization/87665 ++ * gcc.dg/torture/pr87665.c: New testcase. ++ ++2018-10-23 Tom de Vries ++ ++ backport from trunk: ++ 2018-07-31 Tom de Vries ++ ++ PR debug/86687 ++ * g++.dg/guality/pr86687.C: New test. ++ ++2018-10-23 Richard Biener ++ ++ PR tree-optimization/87700 ++ * gcc.dg/torture/pr87700.c: New testcase. ++ ++2018-10-22 Eric Botcazou ++ ++ * gnat.dg/sso14.adb: New test. ++ * gnat.dg/sso15.adb: Likewise. ++ ++2018-10-19 Richard Biener ++ ++ PR middle-end/87645 ++ * gcc.dg/torture/pr87645.c: New testcase. ++ ++2018-10-19 Andreas Krebbel ++ ++ Backport from mainline ++ 2018-10-15 Andreas Krebbel ++ ++ * g++.dg/vec-init-1.C: New test. ++ ++2018-10-18 Richard Biener ++ ++ PR middle-end/87087 ++ * gcc.dg/torture/pr87087.c: New testcase. ++ * gcc.dg/graphite/pr84204.c: XFAIL. ++ * gcc.dg/graphite/pr85935.c: Likewise. ++ ++2018-10-17 Eric Botcazou ++ ++ * gcc.c-torture/execute/pr87623.c: New test. ++ ++2018-10-16 Richard Biener ++ ++ PR tree-optimization/87465 ++ * gcc.dg/tree-ssa/cunroll-15.c: Fix pattern. ++ ++2018-10-16 Wilco Dijkstra ++ ++ Backported from mainline ++ PR target/87511 ++ * gcc.target/aarch64/pr87511.c: Add new test. ++ ++2018-10-16 Richard Biener ++ ++ Backport from mainline ++ 2018-10-15 Richard Biener ++ ++ PR middle-end/87610 ++ * gcc.dg/torture/restrict-6.c: New testcase. ++ ++ 2018-10-01 Richard Biener ++ ++ PR tree-optimization/87465 ++ * gcc.dg/tree-ssa/cunroll-15.c: New testcase. ++ ++2018-10-11 Jakub Jelinek ++ ++ PR c++/85070 ++ * g++.dg/cpp0x/pr85070.C: Change effective target for diagnostics from ++ c++14_only to c++14. ++ ++ PR c++/87582 ++ * g++.dg/cpp1z/decomp48.C: New test. ++ ++ Backported from mainline ++ 2018-10-10 Jakub Jelinek ++ ++ PR target/87550 ++ * gcc.target/i386/pr87550.c: New test. ++ ++ 2018-09-12 Jakub Jelinek ++ Andreas Krebbel ++ ++ PR tree-optimization/86844 ++ * gcc.c-torture/execute/pr86844.c: New test. ++ * gcc.dg/store_merging_22.c: New test. ++ * gcc.dg/store_merging_23.c: New test. ++ ++2018-10-10 Paolo Carlini ++ ++ PR c++/84940 ++ * g++.dg/expr/unary4.C: New. ++ ++2018-10-09 Will Schmidt ++ ++ Backport from trunk ++ 2018-09-06 Will Schmidt ++ ++ PR target/86731 ++ * gcc.target/powerpc/pr86731.c: New test. ++ * gcc.target/powerpc/pr86731-longlong.c: New test. ++ * gcc.target/powerpc/pr86731-fwrapv.c: New test. ++ * gcc.target/powerpc/pr86731-fwrapv-longlong.c: New test. ++ * gcc.target/powerpc/pr86731-nogimplefold.c: New test. ++ * gcc.target/powerpc/pr86731-nogimplefold-longlong.c: New test. ++ ++2018-10-09 H.J. Lu ++ ++ Backport from mainline ++ 2018-09-29 H.J. Lu ++ ++ PR target/87370 ++ * gcc.target/i386/pr87370.c: New test. ++ ++2018-10-08 Paul Thomas ++ ++ PR fortran/83999 ++ Backport from trunk ++ * gfortran.dg/elemental_function_4.f90 : New test. ++ ++2018-10-08 Paul Thomas ++ ++ Backport from trunk ++ PR fortran/86372 ++ * gfortran.dg/associate_41.f90: New test. ++ ++2018-10-06 Thomas Koenig ++ ++ PR fortran/86111 ++ Backport from trunk ++ * gfortran.dg/array_constructor_type_23.f90: New test. ++ ++2018-10-03 Martin Liska ++ ++ Backport from mainline ++ 2018-10-03 Martin Liska ++ ++ PR gcov-profile/86109 ++ * g++.dg/gcov/pr86109.C: New test. ++ ++2018-10-02 H.J. Lu ++ ++ Backport from mainline ++ 2018-09-25 H.J. Lu ++ ++ PR target/82699 ++ * gcc.target/i386/pr82699-5.c: Add -fno-pic for ia32. ++ * gcc.target/i386/pr82699-6.c: Add -fno-pic. ++ ++ 2018-09-24 H.J. Lu ++ ++ PR target/82699 ++ * gcc.target/i386/pr82699-1.c: New file. ++ * gcc.target/i386/pr82699-2.c: Likewise. ++ * gcc.target/i386/pr82699-3.c: Likewise. ++ * gcc.target/i386/pr82699-4.c: Likewise. ++ * gcc.target/i386/pr82699-5.c: Likewise. ++ * gcc.target/i386/pr82699-6.c: Likewise. ++ ++2018-10-01 Kyrylo Tkachov ++ ++ Backport from mainline ++ 2018-07-02 Christophe Lyon ++ ++ * gcc.target/arm/arm-soft-strd-even.c: Skip if -mfloat-abi is ++ overriden. ++ 2018-06-29 Kyrylo Tkachov ++ ++ * gcc.target/arm/arm-soft-strd-even.c: New test. ++ ++2018-09-29 Jakub Jelinek ++ ++ PR target/87467 ++ * gcc.target/i386/avx512f-abspd-1.c (SIZE): Divide by two. ++ (CALC): Use double instead of float. ++ (TEST): Adjust to test _mm512_abs_pd and _mm512_mask_abs_pd rather than ++ _mm512_abs_ps and _mm512_mask_abs_ps. ++ ++2018-09-27 Michael Meissner ++ ++ Backport from mainline ++ 2018-08-20 Michael Meissner ++ ++ PR target/87033 ++ * gcc.target/powerpc/pr87033.c: New test. ++ ++2018-09-25 Martin Liska ++ ++ Backport from mainline ++ 2018-09-24 Martin Liska ++ ++ PR sanitizer/85774 ++ * g++.dg/asan/pr85774.C: New test. ++ ++2018-09-24 Paolo Carlini ++ ++ PR c++/85070 ++ * g++.dg/cpp0x/pr85070.C: New. ++ ++2018-09-21 Eric Botcazou ++ ++ * gcc.dg/nested-func-11.c: New test. ++ ++2018-09-18 Janus Weil ++ ++ Backport from trunk ++ PR fortran/85395 ++ * gfortran.dg/proc_ptr_comp_52.f90: New test case. ++ ++2018-09-18 Janus Weil ++ ++ Backport from trunk ++ PR fortran/86830 ++ * gfortran.dg/typebound_call_30.f90: New test case. ++ ++2018-09-18 Paul Thomas ++ ++ Backported from trunk ++ PR fortran/85954 ++ * gfortran.dg/deferred_character_21.f90 : New test. ++ ++2018-09-18 Nathan Sidwell ++ ++ PR c++/86881 ++ * g++.dg/warn/pr86881.C: New. ++ ++2018-09-12 Paul Thomas ++ ++ Backported from trunk ++ PR fortran/87284 ++ * gfortran.dg/allocate_with_mold_2.f90: New test. ++ ++2018-09-12 Andreas Krebbel ++ ++ Backport from mainline ++ 2018-09-12 Andreas Krebbel ++ ++ * gcc.target/s390/dfp_to_bfp_rounding.c: New test. ++ ++2018-09-12 Jakub Jelinek ++ ++ PR middle-end/87248 ++ * c-c++-common/torture/pr87248.c: New test. ++ ++2018-09-11 Paul Thomas ++ ++ Backported from trunk ++ PR fortran/87277 ++ * gfortran.dg/select_type_43.f90: New test. ++ ++2018-09-05 Janus Weil ++ ++ Backported from trunk ++ PR fortran/86116 ++ * gfortran.dg/generic_34.f90: New test case. ++ ++2018-09-05 Pádraig Brady ++ ++ PR c++/87185 ++ * g++.dg/pr87185.C: New. ++ ++2018-09-05 Nathan Sidwell ++ ++ PR c++/87137 ++ * g++.dg/abi/pr87137.C: New. ++ ++2018-09-05 Jakub Jelinek ++ ++ Backported from mainline ++ 2018-09-04 Jakub Jelinek ++ ++ PR target/87198 ++ * gcc.target/i386/pr87198.c: New test. ++ ++ 2018-08-31 Jakub Jelinek ++ ++ PR middle-end/87138 ++ * gcc.target/i386/avx512bw-pr87138.c: New test. ++ ++ 2018-08-29 Jakub Jelinek ++ ++ PR c++/87095 ++ * g++.dg/ubsan/vptr-13.C: New test. ++ ++ 2018-08-11 Jakub Jelinek ++ ++ PR tree-optimization/86835 ++ * gcc.dg/pr86835.c: New test. ++ ++ 2018-08-08 Jakub Jelinek ++ ++ PR c++/86836 ++ * g++.dg/cpp1z/decomp46.C: New test. ++ ++ PR c++/86738 ++ * g++.dg/opt/pr86738.C: New test. ++ ++ 2018-08-03 Jason Merrill ++ ++ PR c++/86706 ++ * g++.dg/template/pr86706.C: New test. ++ ++2018-09-04 Jerry DeLisle ++ ++ Backport from mainline ++ * gfortran.dg/modulo_check: New test. ++ ++2018-09-03 Tom de Vries ++ ++ backport from trunk: ++ 2018-06-21 Tom de Vries ++ ++ PR tree-optimization/85859 ++ * gcc.dg/pr85859.c: New test. ++ ++2018-09-01 Michael Matz ++ ++ Backport from mainline ++ PR tree-optimization/87074 ++ * gcc.dg/pr87074.c: New test. ++ ++2018-09-01 Paul Thomas ++ ++ PR fortran/86328 ++ PR fortran/86760 ++ * gfortran.dg/pr86328.f90 : New test. ++ * gfortran.dg/pr86760.f90 : New test. ++ ++2018-08-31 Nathan Sidwell ++ ++ PR c++/87155 ++ PR c++/84707 ++ * g++.dg/cpp0x/pr87155.C: New. ++ * g++.dg/cpp0x/inline-ns10.C: Adjust. ++ ++2018-08-31 Richard Biener ++ ++ Backport from mainline ++ 2018-08-27 Richard Biener ++ ++ PR tree-optimization/86927 ++ * gcc.dg/vect/pr86927.c: New testcase. ++ ++ 2018-08-23 Richard Biener ++ ++ PR middle-end/87024 ++ * gcc.dg/pr87024.c: New testcase. ++ ++ 2018-08-22 Richard Biener ++ ++ PR tree-optimization/86945 ++ * gcc.dg/torture/pr86945.c: New testcase. ++ ++ 2018-08-17 Richard Biener ++ ++ PR middle-end/86505 ++ * gcc.dg/torture/pr86505.c: New testcase. ++ ++ 2018-08-02 Richard Biener ++ ++ PR tree-optimization/86816 ++ * g++.dg/torture/pr86816.C: New testcase. ++ ++ 2018-07-17 Richard Biener ++ ++ PR lto/86456 ++ * g++.dg/debug/dwarf2/pr86456.C: New testcase. ++ ++2018-08-29 Jakub Jelinek ++ ++ PR c++/87122 ++ * g++.dg/cpp1z/decomp47.C: New test. ++ ++2018-08-27 Martin Sebor ++ ++ PR tree-optimization/86914 ++ * gcc.dg/strlenopt-57.c: New test. ++ ++2018-08-28 Jakub Jelinek ++ ++ PR middle-end/87099 ++ * gcc.dg/pr87099.c: New test. ++ ++2018-08-27 Jakub Jelinek ++ ++ PR rtl-optimization/87065 ++ * gcc.target/i386/pr87065.c: New test. ++ ++2018-08-26 Thomas Koenig ++ ++ Backport from trunk ++ PR libfortran/86704 ++ * gfortran.dg/matmul_19.f90: New test. ++ ++2018-08-24 Thomas Koenig ++ ++ Backport from trunk ++ PR fortran/86837 ++ * gfortran.dg/implied_do_io_6.f90: New test. ++ ++2018-08-21 H.J. Lu ++ ++ Backport from mainline ++ 2018-08-20 H.J. Lu ++ ++ PR target/87014 ++ * g++.dg/torture/pr87014.C: New file. ++ ++2018-08-21 Szabolcs Nagy ++ ++ Backport from mainline ++ 2018-08-21 Szabolcs Nagy ++ ++ * g++.dg/torture/pr86763.C: Restrict to *-*-linux*. ++ ++2018-08-17 Richard Biener ++ ++ Backport from mainline ++ 2018-08-02 Richard Biener ++ ++ PR c++/86763 ++ * g++.dg/torture/pr86763.C: New testcase. ++ ++2018-08-16 Tamar Christina ++ ++ Backport from mainline ++ 2018-07-31 Segher Boessenkool ++ ++ PR target/86640 ++ * gcc.target/arm/pr86640.c: New testcase. ++ ++2018-08-14 Richard Sandiford ++ ++ Backport from mainline ++ 2018-08-09 Richard Sandiford ++ ++ PR tree-optimization/86871 ++ * gcc.dg/vect/pr86871.c: New test. ++ ++2018-08-12 Paul Thomas ++ ++ Backported from trunk ++ PR fortran/86906 ++ * gfortran.dg/use_rename_9.f90: New test. ++ ++2018-08-07 H.J. Lu ++ ++ Backport from mainline ++ 2018-08-05 H.J. Lu ++ ++ PR target/86386 ++ * gcc.target/i386/pr86386.c: New file. ++ ++2018-08-07 Steve Ellcey ++ Rainer Orth ++ ++ PR tree-optimization/80925 ++ * gcc.dg/vect/no-section-anchors-vect-69.c: Expect 3 loops ++ vectorized on !vect_hw_misalign targets. ++ ++2018-08-04 Uros Bizjak ++ ++ PR testsuite/86153 ++ * g++.dg/pr83239.C (dg-options): Add -finline-limit=500. ++ ++2018-08-02 Andreas Schwab ++ ++ Backport from mainline ++ 2018-07-17 Andreas Schwab ++ ++ PR target/86820 ++ * gcc.target/m68k/mulsi_highpart.c: New test. ++ ++2018-08-01 Jakub Jelinek ++ ++ PR c/85704 ++ * gcc.c-torture/compile/pr85704.c: New test. ++ ++2018-07-29 Bernd Edlinger ++ ++ Backport from mainline ++ 2018-07-23 Bernd Edlinger ++ ++ PR c/86617 ++ * gcc.dg/pr86617.c: New test. ++ ++2018-07-26 Pat Haugen ++ ++ Backport from mainline ++ 2018-07-26 Pat Haugen ++ ++ PR target/86612 ++ * gcc.target/powerpc/pr58673-2.c: Call strdup. ++ ++2018-07-26 Jakub Jelinek ++ ++ Backported from mainline ++ 2018-07-24 Jakub Jelinek ++ ++ PR middle-end/86627 ++ * gcc.target/i386/pr86627.c: New test. ++ ++ 2018-07-10 Jakub Jelinek ++ ++ PR fortran/86421 ++ * gfortran.dg/vect/pr86421.f90: New test. ++ + 2018-07-26 Release Manager + + * GCC 8.2.0 released. +@@ -8,10 +1701,10 @@ + 2018-07-16 Carl Love + + PR target/86414 +- * gcc.target/powerpc/divkc3-2.c: Add dg-require-effective-target ++ * gcc.target/powerpc/divkc3-2.c: Add dg-require-effective-target + longdouble128. + * gcc.target/powerpc/divkc3-3.c: Ditto. +- * gcc.target/powerpc/mulkc3-2.c: Ditto. ++ * gcc.target/powerpc/mulkc3-2.c: Ditto. + * gcc.target/powerpc/mulkc3-3.c: Ditto. + * gcc.target/powerpc/fold-vec-mergehl-double.c: Update counts. + * gcc.target/powerpc/pr85456.c: Make check Linux and AIX specific. +@@ -743,7 +2436,7 @@ + Backport from mainline + 2018-05-11 Martin Liska + +- PR sanitizer/85556 ++ PR sanitizer/85556 + * c-c++-common/ubsan/attrib-6.c: New test. + + 2018-05-22 Martin Sebor +@@ -1443,11 +3136,11 @@ + + 2018-04-13 Andreas Krebbel + +- PR testsuite/85326 +- * gcc.target/s390/pr77822-1.C: Rename to ... +- * gcc.target/s390/pr77822-1.c: ... this. Add asm scan check. +- * gcc.target/s390/pr77822-2.c: Add asm scan check. +- * gcc.target/s390/s390.exp: Remove C from testcase regexps. ++ PR testsuite/85326 ++ * gcc.target/s390/pr77822-1.C: Rename to ... ++ * gcc.target/s390/pr77822-1.c: ... this. Add asm scan check. ++ * gcc.target/s390/pr77822-2.c: Add asm scan check. ++ * gcc.target/s390/s390.exp: Remove C from testcase regexps. + + 2018-04-13 Jan Hubicka + +@@ -2780,7 +4473,7 @@ + * g++.dg/cpp2a/desig7.C: New test. + + 2018-03-16 Mark Doffman +- Jim MacArthur ++ Jim MacArthur + + * gfortran.dg/automatic_1.f90: New test. + * gfortran.dg/automatic_repeat.f90: New test +@@ -4015,9 +5708,9 @@ + + 2018-02-20 Jeff Law + +- PR middle-end/82123 +- PR tree-optimization/81592 +- PR middle-end/79257 ++ PR middle-end/82123 ++ PR tree-optimization/81592 ++ PR middle-end/79257 + * gcc.dg/pr81592.c: New test. + * gcc.dg/pr82123.c: New test. + * gcc.dg/builtin-unreachable-6.c: Turn off VRP. +@@ -6741,7 +8434,7 @@ + + 2018-02-14 Carl Love + +- * gcc.target/powerpc/builtins-4-int128-runnable.c ++ * gcc.target/powerpc/builtins-4-int128-runnable.c + (dg-require-effective-target): Change vsx_hw to p8vector_hw. + (dg-options): Change -maltivec -mvsx to -mpower8-vector. + +Index: gcc/testsuite/g++.dg/tsan/pr88018.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/tsan/pr88018.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/tsan/pr88018.C (.../branches/gcc-8-branch) +@@ -0,0 +1,6 @@ ++// PR rtl-optimization/88018 ++// { dg-do compile } ++// { dg-skip-if "" { *-*-* } { "*" } { "-O0" } } ++// { dg-options "-fsanitize=thread -fno-ipa-pure-const -O1 -fno-inline-functions-called-once -w" } ++ ++#include "../pr69667.C" +Index: gcc/testsuite/g++.dg/pr83239.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/pr83239.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/pr83239.C (.../branches/gcc-8-branch) +@@ -1,7 +1,7 @@ + // PR tree-optimization/83239 - False positive from -Wstringop-overflow + // on simple std::vector code + // { dg-do compile } +-// { dg-options "-O3 -Wall -fdump-tree-optimized" } ++// { dg-options "-O3 -finline-limit=500 -Wall -fdump-tree-optimized" } + + #include + +Index: gcc/testsuite/g++.dg/ubsan/pr89234.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/ubsan/pr89234.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/ubsan/pr89234.C (.../branches/gcc-8-branch) +@@ -0,0 +1,11 @@ ++// PR rtl-optimization/89234 ++// { dg-do compile { target dfp } } ++// { dg-options "-O2 -fnon-call-exceptions -fsanitize=null" } ++ ++typedef float __attribute__((mode (SD))) _Decimal32; ++ ++void ++foo (_Decimal32 *b, _Decimal32 c) ++{ ++ *b = c + 1.5; ++} +Index: gcc/testsuite/g++.dg/ubsan/vptr-13.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/ubsan/vptr-13.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/ubsan/vptr-13.C (.../branches/gcc-8-branch) +@@ -0,0 +1,19 @@ ++// PR c++/87095 ++// { dg-do run } ++// { dg-options "-fsanitize=vptr -fno-sanitize-recover=vptr" } ++ ++struct A ++{ ++ virtual ~A () {} ++}; ++ ++struct B : virtual A {}; ++ ++struct C : B {}; ++ ++int ++main () ++{ ++ C c; ++ return 0; ++} +Index: gcc/testsuite/g++.dg/pr85039-1.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/pr85039-1.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/pr85039-1.C (.../branches/gcc-8-branch) +@@ -5,9 +5,9 @@ + __builtin_offsetof(struct { // { dg-error "types may not be defined" } + int i; + short b { +- __builtin_offsetof(struct { // { dg-error "types may not be defined" } ++ __builtin_offsetof(struct { + int j; +- struct c { // { dg-error "types may not be defined" } ++ struct c { + void d() { + } + }; +Index: gcc/testsuite/g++.dg/lookup/pr87531.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/lookup/pr87531.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/lookup/pr87531.C (.../branches/gcc-8-branch) +@@ -0,0 +1,73 @@ ++// PR c+/87531 lookup of operator= in templates ++// { dg-do run } ++ ++struct Base { ++ void operator= (Base const&); ++}; ++ ++void Base::operator= (Base const &) ++{ ++} ++ ++template ++struct Derived : Base ++{ ++ T v; ++ ++ Derived() : v (0) {} ++ Derived(T v_) : v (v_) {} ++ ++ T &assign1 (Derived const& rhs) ++ { ++ operator=(rhs); // erroneously bound to Base::operator= ++ return v; ++ } ++ ++ T &assign2 (Derived const& rhs) ++ { ++ this->operator=(rhs); // erroneously bound to Base::operator= ++ return v; ++ } ++}; ++ ++template ++struct Single ++{ ++ T v; ++ ++ Single () : v (0) {} ++ Single (T v_) : v (v_) {} ++ ++ T &assign1 (Single const& rhs) ++ { ++ operator=(rhs); // lookup failed ++ return v; ++ } ++ ++ T &assign2 (Single const& rhs) ++ { ++ this->operator=(rhs); // Marked as dependent, happened to work ++ return v; ++ } ++}; ++ ++int main() ++{ ++ Derived a, b(123); ++ ++ if (a.assign1 (b) != 123) ++ return 1; ++ ++ if (a.assign2 (b) != 123) ++ return 2; ++ ++ Single c, d(123); ++ ++ if (c.assign1 (d) != 123) ++ return 3; ++ ++ if (c.assign2 (d) != 123) ++ return 4; ++ ++ return 0; ++} +Index: gcc/testsuite/g++.dg/lookup/pr87531-2.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/lookup/pr87531-2.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/lookup/pr87531-2.C (.../branches/gcc-8-branch) +@@ -0,0 +1,63 @@ ++// PR 87531 part 2. dependent using decls + template decls. ++ ++template ++struct One ++{ ++ One& operator=(T* p_) ++ { ++ return operator=(p_); // Parse failed here ++ } ++ ++ template ++ One& operator=(U* p_); ++ ++}; ++ ++ ++template ++struct Two : T ++{ ++ using T::f; ++ template void f (); ++ ++ using T::operator T*; ++ operator T * () const; ++ ++ int frob () ++ { ++ return f (1); ++ } ++ ++ T *quux () ++ { ++ return operator T * (); ++ } ++ ++ T *quux () const ++ { ++ return operator T * (); ++ } ++}; ++ ++struct Base ++{ ++ template int f (T i) ++ { ++ return i; ++ } ++ ++ operator Base *() const; ++}; ++ ++void foo () ++{ ++ One one; ++ Two two; ++ ++ one = One (); ++ ++ two.frob (); ++ two.quux (); ++ const_cast &> (two).quux (); ++} ++ +Index: gcc/testsuite/g++.dg/lookup/pr60994.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/lookup/pr60994.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/lookup/pr60994.C (.../branches/gcc-8-branch) +@@ -0,0 +1,13 @@ ++// PR c++/60994 ++// { dg-do compile } ++ ++struct s ++{ ++ static int i; ++}; ++ ++template ++int s() ++{ ++ return s::i; // { dg-bogus "is not a class" } ++} +Index: gcc/testsuite/g++.dg/pr88998.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/pr88998.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/pr88998.C (.../branches/gcc-8-branch) +@@ -0,0 +1,31 @@ ++// PR target/88998 ++// { dg-do run { target { { x86_64-*-* i?86-*-* } && sse2_runtime } } } ++// { dg-options "-O2 -msse2 -mfpmath=387" } ++// { dg-require-effective-target c++11 } ++ ++#include ++#include ++#include ++ ++double ++__attribute__((noinline)) ++prepare (int a, int b) ++{ ++ __m128i is = _mm_setr_epi32 (a, b, 0, 0); ++ __m128d ds = _mm_cvtepi32_pd (is); ++ return ds[0] + ds[1]; ++} ++ ++int ++main (int, char **) ++{ ++ double d = prepare (1, 2); ++ ++ std::unordered_map < int, int >m; ++ m.insert ({0, 0}); ++ m.insert ({1, 1}); ++ assert (m.load_factor () <= m.max_load_factor ()); ++ ++ assert (d == 3.0); ++ return 0; ++} +Index: gcc/testsuite/g++.dg/lto/pr88046_0.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/lto/pr88046_0.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/lto/pr88046_0.C (.../branches/gcc-8-branch) +@@ -0,0 +1,16 @@ ++// { dg-lto-do link } ++// { dg-lto-options { { -O2 -fPIC -flto } } } ++// { dg-require-effective-target shared } ++// { dg-require-effective-target fpic } ++// { dg-extra-ld-options "-shared -g" } ++ ++class a {}; ++class b : virtual a { ++public: ++ void operator<<(bool); ++}; ++void c() try { ++ b d; ++ d << ""; ++} catch (int) { ++} +Index: gcc/testsuite/g++.dg/lto/pr87295_0.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/lto/pr87295_0.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/lto/pr87295_0.C (.../branches/gcc-8-branch) +@@ -0,0 +1,20 @@ ++// { dg-lto-do assemble } ++// { dg-lto-options { { -flto -ffat-lto-objects -fdebug-types-section -g -std=gnu++17 } } } ++ ++template ++struct integral_constant ++{ ++ static constexpr _Tp value = __v; ++ typedef _Tp value_type; ++ constexpr operator value_type() const noexcept { return value; } ++}; ++ ++typedef integral_constant false_type; ++ ++template ++struct __or_; ++ ++template<> ++struct __or_<> ++ : public false_type ++{ }; +Index: gcc/testsuite/g++.dg/asm-qual-1.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/asm-qual-1.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/asm-qual-1.C (.../branches/gcc-8-branch) +@@ -0,0 +1,13 @@ ++// Test that qualifiers other than volatile are disallowed on asm. ++// { dg-do compile } ++// { dg-options "-std=gnu++98" } ++ ++void ++f () ++{ ++ asm volatile (""); ++ ++ asm const (""); // { dg-error {'const' is not an asm qualifier} } ++ ++ asm __restrict (""); // { dg-error {'__restrict' is not an asm qualifier} } ++} +Index: gcc/testsuite/g++.dg/warn/pr86881.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/warn/pr86881.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/warn/pr86881.C (.../branches/gcc-8-branch) +@@ -0,0 +1,20 @@ ++// PR c++/86881 ICE with shadow warning ++// { dg-do compile { target c++11 } } ++// { dg-additional-options { -Wshadow-compatible-local } }} ++ ++void a() { ++ auto b([] {}); ++ { ++ auto b = 0; ++ } ++} ++ ++struct Proxy { }; ++ ++void Two () ++{ ++ auto my = Proxy (); ++ { ++ auto my = Proxy (); // { dg-warning "shadows" "" { xfail *-*-* } } ++ }; ++} +Index: gcc/testsuite/g++.dg/warn/Wsign-conversion-3.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/warn/Wsign-conversion-3.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/warn/Wsign-conversion-3.C (.../branches/gcc-8-branch) +@@ -0,0 +1,13 @@ ++// PR c++/86190 ++// { dg-options "-Wsign-conversion -Wsign-compare" } ++ ++typedef unsigned long sz_t; ++sz_t s(); ++bool f(int i) { return s() < (unsigned long) i; } ++bool f2(int i) { return s() < static_cast(i); } ++bool f3(int i) { return s() < i; } // { dg-warning "comparison of integer expressions of different signedness" } ++bool f4(int i) { return s() < (long) i; } // { dg-warning "comparison of integer expressions of different signedness" } ++bool f5(short int i) { return s() < (int) i; } // { dg-warning "comparison of integer expressions of different signedness" } ++bool f6(signed char i) { return s() < (int) i; } // { dg-warning "comparison of integer expressions of different signedness" } ++bool f7(unsigned char i) { return s() < i; } ++bool f8(signed char i) { return s() < i; } // { dg-warning "comparison of integer expressions of different signedness" } +Index: gcc/testsuite/g++.dg/warn/Wsign-conversion-4.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/warn/Wsign-conversion-4.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/warn/Wsign-conversion-4.C (.../branches/gcc-8-branch) +@@ -0,0 +1,14 @@ ++// PR c++/86190 ++// { dg-options "-Wsign-conversion -Wsign-compare" } ++ ++typedef unsigned long size_t; ++ ++struct vector { ++ typedef size_t size_type; ++ size_type size(); ++}; ++ ++bool func(vector vec, int var) ++{ ++ return vec.size() < static_cast(var); // { dg-bogus "may change" } ++} +Index: gcc/testsuite/g++.dg/asan/pr88901.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/asan/pr88901.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/asan/pr88901.C (.../branches/gcc-8-branch) +@@ -0,0 +1,13 @@ ++// PR sanitizer/88901 ++// { dg-do compile } ++// { dg-options "-fsanitize=address -fsanitize=pointer-compare" } ++ ++template ++struct A { ++ void foo() { ++ auto d = [](char *x, char *y) { ++ for (char *p = x; p + sizeof(T) <= y; p += sizeof(T)) ++ reinterpret_cast(p)->~T(); ++ }; ++ } ++}; +Index: gcc/testsuite/g++.dg/asan/pr85774.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/asan/pr85774.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/asan/pr85774.C (.../branches/gcc-8-branch) +@@ -0,0 +1,51 @@ ++/* PR sanitizer/85774 */ ++/* { dg-do run } */ ++ ++#include ++ ++void ++DoSomething () ++{ ++} ++ ++void ++DoFunc (const std::function &func) ++{ ++ func (); ++} ++ ++void ++Setup () ++{ ++ switch (1) ++ { ++ case 1: ++ { ++ DoFunc ([]() {}); ++ break; ++ } ++ case 2: ++ { ++ DoFunc ([]() {}); ++ break; ++ } ++ default: ++ break; ++ } ++ ++ DoSomething (); ++} ++ ++void ++DemostrateBadPoisoning () ++{ ++ DoFunc ([]() {}); ++} ++ ++int ++main () ++{ ++ Setup (); ++ DemostrateBadPoisoning (); ++ return 0; ++} +Index: gcc/testsuite/g++.dg/gcov/pr86109.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/gcov/pr86109.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/gcov/pr86109.C (.../branches/gcc-8-branch) +@@ -0,0 +1,16 @@ ++ ++/* { dg-options "-fprofile-arcs -ftest-coverage -std=c++11" } */ ++/* { dg-do run { target native } } */ ++ ++int main() ++{ ++ auto partially_uncovered_lambda = [](int i) { /* count(1) */ ++ if (i > 10) /* count(1) */ ++ return 0; /* count(1) */ ++ return 1; /* count(#####) */ ++ }; ++ ++ return partially_uncovered_lambda(20); /* count(1) */ ++} ++ ++/* { dg-final { run-gcov pr86109.C } } */ +Index: gcc/testsuite/g++.dg/gcov/pr88045.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/gcov/pr88045.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/gcov/pr88045.C (.../branches/gcc-8-branch) +@@ -0,0 +1,90 @@ ++// PR gcov-profile/88045 ++// { dg-options "-fprofile-arcs -ftest-coverage -std=c++11" } ++// { dg-do run { target native } } ++ ++#include ++#include ++#include ++ ++struct Foo { ++ size_t size() const { return n; }; ++ const size_t n; ++ explicit Foo(size_t a_n) : n{a_n} {}; ++}; ++ ++template class C, typename Head, typename... Tail> ++struct make_with_tail { ++ using type = C; ++}; ++ ++template class C, typename T, typename Head, typename... Tail> ++struct make_with_tail_1 { ++using type = C; ++}; ++ ++template ++struct head { ++ using type = Head; ++}; ++template ++struct Tree { ++ using root_type = typename head::type; ++ using branch_type = typename make_with_tail::type; ++ Tree(root_type a_root, std::vector a_branches) : ++ root{std::move(a_root)}, ++ branches{std::move(a_branches)} ++ { ++ } ++ ++ explicit Tree(root_type a_root) : root{std::move(a_root)}, branches{root.size()} ++ { ++ } ++ ++ root_type root; ++ std::vector branches; ++}; ++ ++template<> ++struct Tree<> { ++}; ++ ++template ++size_t size(const Tree& tree) ++{ ++ return std::accumulate( ++ tree.branches.begin(), ++ tree.branches.end(), ++ 0, ++ [](const size_t& count, const typename make_with_tail::type& branch) { ++ return count + size(branch); ++ }); ++} ++ ++template<> ++inline size_t size(const Tree<>& /* empty tree */) ++{ ++ return 1; ++} ++ ++int main(int argc, char *argv[]) ++{ ++ size(Tree{Foo{4}, {Tree{Foo{2}, {Tree{Foo{205}}, ++ Tree{Foo{261}}}}, ++ Tree{Foo{4}, {Tree{Foo{875}}, ++ Tree{Foo{492}}, ++ Tree{Foo{398}}, ++ Tree{Foo{302}}}}, ++ Tree{Foo{6}, {Tree{Foo{111}}, ++ Tree{Foo{436}}, ++ Tree{Foo{388}}, ++ Tree{Foo{879}}, ++ Tree{Foo{783}}, ++ Tree{Foo{735}}}}, ++ Tree{Foo{3}, {Tree{Foo{791}}, ++ Tree{Foo{ 5}}, ++ Tree{Foo{841}}}}}}); ++ ++ return 0; ++} ++ ++// { dg-final { run-gcov pr88045.C } } +Index: gcc/testsuite/g++.dg/pr87185.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/pr87185.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/pr87185.C (.../branches/gcc-8-branch) +@@ -0,0 +1,4 @@ ++// PR c++/87185 ++// { dg-do compile { target c++11 } } ++ ++void f() { const int i=0; [&]() noexcept {i;}; } +Index: gcc/testsuite/g++.dg/debug/pr88181.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/debug/pr88181.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/debug/pr88181.C (.../branches/gcc-8-branch) +@@ -0,0 +1,29 @@ ++// PR c++/88181 ++// { dg-do compile } ++// { dg-options "-fpack-struct -g -std=c++11" } ++ ++template struct A { typedef T B; }; ++template class C; ++template struct D { constexpr D (e) {} }; ++template struct E; ++template ++struct E : E<1, U...>, D { ++ constexpr E (T x, U... y) : E<1, U...>(y...), D(x) {} ++}; ++template struct E : D { ++ constexpr E (T x) : D(x) {} ++}; ++template struct C : E<0, T, U> { ++ constexpr C (T x, U y) : E<0, T, U>(x, y) {} ++ void operator= (typename A::B); ++}; ++struct F {}; ++struct G {}; ++ ++int ++main () ++{ ++ F f; ++ G g; ++ constexpr C c(f, g); ++} +Index: gcc/testsuite/g++.dg/debug/dwarf2/pr86456.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/debug/dwarf2/pr86456.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/debug/dwarf2/pr86456.C (.../branches/gcc-8-branch) +@@ -0,0 +1,5 @@ ++// { dg-do compile } ++// { dg-require-effective-target lto } ++// { dg-options "-g -gdwarf-5 -flto -ffat-lto-objects" } ++ ++int a; +Index: gcc/testsuite/g++.dg/debug/dwarf2/pr86900.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/debug/dwarf2/pr86900.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/debug/dwarf2/pr86900.C (.../branches/gcc-8-branch) +@@ -0,0 +1,14 @@ ++// PR c++/86900 ++// { dg-do assemble { target function_sections } } ++// { dg-options "-O2 -gdwarf-5 -ffunction-sections" } ++ ++struct A; ++struct B { B (A); }; ++struct A { A (int); ~A (); }; ++ ++void ++foo (int x) ++{ ++ A d(0); ++ B e(d); ++} +Index: gcc/testsuite/g++.dg/debug/dwarf2/pr88006.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/debug/dwarf2/pr88006.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/debug/dwarf2/pr88006.C (.../branches/gcc-8-branch) +@@ -0,0 +1,39 @@ ++// { dg-additional-options "-dA -std=gnu++17 -gdwarf-4 -O1 -fdebug-types-section" } ++// reject .pseudo label, but "label" is ok. ++// { dg-final { scan-assembler-not "\[^\"\]_ZN3Foo4mfunEv" } } ++// undefined ref to _ZN3Foo4mfunEv ++ ++struct Foo { ++ void mfun () {} ++}; ++ ++struct A { static constexpr bool Value = false; }; ++ ++template struct B { typedef int Type; }; ++ ++class Arg ++{ ++ template struct Local : A {}; ++ ++public: ++ template ::Value>::Type> ++ Arg (Init) {} ++}; ++ ++class Lambda { ++ static constexpr int Unused = 0; ++ ++public: ++ Lambda (Arg); ++}; ++ ++// Generated ref to Foo::mfun in the type die of an instantiation of this ++template struct Callable {}; ++ ++class I { ++ I() : lamb ([this] {}) {} ++ ++ Lambda lamb; ++ ++ Callable<&Foo::mfun> bm; ++}; +Index: gcc/testsuite/g++.dg/debug/dwarf2/pr85550.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/debug/dwarf2/pr85550.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/debug/dwarf2/pr85550.C (.../branches/gcc-8-branch) +@@ -0,0 +1,17 @@ ++// PR debug/85550 ++// { dg-do link } ++// { dg-options "-O2 -g -fdebug-types-section" } ++ ++struct A { ++ int bar () const { return 0; } ++}; ++template ++struct B { ++}; ++ ++B<&A::bar> b; ++ ++int ++main () ++{ ++} +Index: gcc/testsuite/g++.dg/debug/dwarf2/pr87295.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/debug/dwarf2/pr87295.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/debug/dwarf2/pr87295.C (.../branches/gcc-8-branch) +@@ -0,0 +1,22 @@ ++// { dg-additional-options "-fdebug-types-section" } ++// { dg-require-effective-target c++11 } ++ ++struct A {}; ++namespace N { ++ struct B { ++ using C = struct H {}; ++ using D = A; ++ }; ++} ++struct E : N::B { ++ typedef C C; ++}; ++namespace N { ++ struct F { ++ E::C d; ++ E::D h; ++ }; ++} ++struct G { ++ N::F i; ++} j; +Index: gcc/testsuite/g++.dg/debug/dwarf2/pr85302.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/debug/dwarf2/pr85302.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/debug/dwarf2/pr85302.C (.../branches/gcc-8-branch) +@@ -1,5 +1,6 @@ + // PR debug/85302 + // { dg-do compile } ++// { dg-skip-if "split DWARF unsupported" { *-*-darwin* } } + // { dg-options "-std=c++11 -gsplit-dwarf -O1" } + // { dg-additional-options "-fPIE" { target pie } } + +Index: gcc/testsuite/g++.dg/debug/dwarf2/pr87462.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/debug/dwarf2/pr87462.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/debug/dwarf2/pr87462.C (.../branches/gcc-8-branch) +@@ -0,0 +1,20 @@ ++// { dg-additional-options "-dA -std=gnu++17 -gdwarf-4 -O1 -fdebug-types-section" } ++// reject .pseudo label, but "label" is ok. ++// { dg-final { scan-assembler-not "\[^L\"\]_ZN5Test18testFuncEv" } } ++// undefined ref to _ZN5Test18testFuncEv ++ ++class Test1 { ++public: ++ static int testFunc() { return 1; } ++}; ++ ++template ++class TestWrapper { ++public: ++ static T func() __attribute((noinline)) { return (*funcImpl)(); } ++}; ++ ++int main() { ++ return TestWrapper::func(); ++} +Index: gcc/testsuite/g++.dg/asm-qual-2.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/asm-qual-2.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/asm-qual-2.C (.../branches/gcc-8-branch) +@@ -0,0 +1,46 @@ ++// Test that qualifiers on asm are allowed in any order. ++// { dg-do compile } ++// { dg-options "-std=c++98" } ++ ++void ++f () ++{ ++ asm volatile goto ("" :::: lab); ++ asm volatile inline ("" :::); ++ asm inline volatile ("" :::); ++ asm inline goto ("" :::: lab); ++ asm goto volatile ("" :::: lab); ++ asm goto inline ("" :::: lab); ++ ++ asm volatile inline goto ("" :::: lab); ++ asm volatile goto inline ("" :::: lab); ++ asm inline volatile goto ("" :::: lab); ++ asm inline goto volatile ("" :::: lab); ++ asm goto volatile inline ("" :::: lab); ++ asm goto inline volatile ("" :::: lab); ++ ++ /* Duplicates are not allowed. */ ++ asm goto volatile volatile ("" :::: lab); /* { dg-error "" } */ ++ asm volatile goto volatile ("" :::: lab); /* { dg-error "" } */ ++ asm volatile volatile goto ("" :::: lab); /* { dg-error "" } */ ++ asm goto goto volatile ("" :::: lab); /* { dg-error "" } */ ++ asm goto volatile goto ("" :::: lab); /* { dg-error "" } */ ++ asm volatile goto goto ("" :::: lab); /* { dg-error "" } */ ++ ++ asm inline volatile volatile ("" :::); /* { dg-error "" } */ ++ asm volatile inline volatile ("" :::); /* { dg-error "" } */ ++ asm volatile volatile inline ("" :::); /* { dg-error "" } */ ++ asm inline inline volatile ("" :::); /* { dg-error "" } */ ++ asm inline volatile inline ("" :::); /* { dg-error "" } */ ++ asm volatile inline inline ("" :::); /* { dg-error "" } */ ++ ++ asm goto inline inline ("" :::: lab); /* { dg-error "" } */ ++ asm inline goto inline ("" :::: lab); /* { dg-error "" } */ ++ asm inline inline goto ("" :::: lab); /* { dg-error "" } */ ++ asm goto goto inline ("" :::: lab); /* { dg-error "" } */ ++ asm goto inline goto ("" :::: lab); /* { dg-error "" } */ ++ asm inline goto goto ("" :::: lab); /* { dg-error "" } */ ++ ++lab: ++ ; ++} +Index: gcc/testsuite/g++.dg/opt/pr87475.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/opt/pr87475.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/opt/pr87475.C (.../branches/gcc-8-branch) +@@ -0,0 +1,7 @@ ++// PR rtl-optimization/87475 ++// { dg-do compile { target freorder } } ++// { dg-options "-O2 -freorder-blocks-and-partition -fmodulo-sched" } ++ ++struct A { A (); ~A (); }; ++int foo (A, A); ++void bar (bool x) { x ? foo (A (), A ()) : 0; } +Index: gcc/testsuite/g++.dg/opt/pr86738.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/opt/pr86738.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/opt/pr86738.C (.../branches/gcc-8-branch) +@@ -0,0 +1,12 @@ ++// PR c++/86738 ++// { dg-do compile } ++ ++struct S { int s; }; ++unsigned char a[20]; ++unsigned char *p = &a[(__UINTPTR_TYPE__) &((S *) 0)->s]; ++ ++void ++foo () ++{ ++ __builtin_memcpy (&a[15], &a[(__UINTPTR_TYPE__) &((S *) 0)->s], 2); ++} +Index: gcc/testsuite/g++.dg/opt/pr89187.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/opt/pr89187.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/opt/pr89187.C (.../branches/gcc-8-branch) +@@ -0,0 +1,23 @@ ++// PR c++/89187 ++// { dg-do compile { target c++11 } } ++// { dg-options "-Os -fno-tree-ccp -fno-tree-sra -fno-inline" } ++ ++template struct A { ++ typedef T __attribute__((vector_size (N))) type; ++}; ++template using B = typename A::type; ++template using C = B; ++struct D { ++ D (C x) : d{x[3]} {} ++ D foo () { return d; } ++ C d; ++}; ++extern D d; ++struct { D bar () { return d; } } l; ++struct E { void baz () const; }; ++ ++void ++E::baz () const ++{ ++ l.bar ().foo (); ++} +Index: gcc/testsuite/g++.dg/opt/pr89188.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/opt/pr89188.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/opt/pr89188.C (.../branches/gcc-8-branch) +@@ -0,0 +1,5 @@ ++// PR target/89188 ++// { dg-do compile { target c++11 } } ++// { dg-options "-Og -flive-range-shrinkage -fnon-call-exceptions" } ++ ++#include "../torture/pr88861.C" +Index: gcc/testsuite/g++.dg/opt/pr87360.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/opt/pr87360.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/opt/pr87360.C (.../branches/gcc-8-branch) +@@ -0,0 +1,27 @@ ++// PR tree-optimization/87360 ++// { dg-do compile { target size32plus } } ++// { dg-options "-O3 -fno-tree-dce --param unroll-jam-min-percent=0" } ++ ++void abort (void); ++ ++void foo (int N) ++{ ++ int i, j; ++ int x[1000][1000]; ++ ++ for (i = 0; i < N; i++) ++ for (j = 0; j < N; j++) ++ x[i][j] = i + j + 3; ++ ++ for (i = 0; i < N; i++) ++ for (j = 0; j < N; j++) ++ if (x[i][j] != i + j + 3) ++ abort (); ++} ++ ++int main(void) ++{ ++ foo (1000); ++ ++ return 0; ++} +Index: gcc/testsuite/g++.dg/tree-prof/devirt.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/tree-prof/devirt.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/tree-prof/devirt.C (.../branches/gcc-8-branch) +@@ -0,0 +1,126 @@ ++/* PR ipa/88561 */ ++/* { dg-options "-O3 -fdump-tree-dom3-details" } */ ++ ++struct nsISupports ++{ ++ virtual int QueryInterface (const int &aIID, void **aInstancePtr) = 0; ++ virtual __attribute__((noinline, noclone)) unsigned AddRef (void) = 0; ++ virtual unsigned Release (void) = 0; ++}; ++ ++struct nsIObserver : public nsISupports ++{ ++ virtual int Observe (nsISupports * aSubject, const char *aTopic, const unsigned short *aData) = 0; ++}; ++ ++struct nsISupportsWeakReference : public nsISupports ++{ ++ virtual int GetWeakReference (void **_retval) = 0; ++}; ++ ++struct nsSupportsWeakReference : public nsISupportsWeakReference ++{ ++ nsSupportsWeakReference () : mProxy (0) {} ++ virtual int GetWeakReference (void **_retval) override { return 0; } ++ ~nsSupportsWeakReference () {} ++ void NoticeProxyDestruction () { mProxy = nullptr; } ++ void *mProxy; ++ void ClearWeakReferences (); ++ bool HasWeakReferences () const { return !!mProxy; } ++}; ++ ++struct mozIPersonalDictionary : public nsISupports ++{ ++ virtual int Load (void) = 0; ++ virtual int Save (void) = 0; ++ virtual int GetWordList (void **aWordList) = 0; ++ virtual int Check (const int &word, bool * _retval) = 0; ++ virtual int AddWord (const int &word) = 0; ++ virtual int RemoveWord (const int &word) = 0; ++ virtual int IgnoreWord (const int &word) = 0; ++ virtual int EndSession (void) = 0; ++}; ++ ++struct mozPersonalDictionary final ++ : public mozIPersonalDictionary, public nsIObserver, public nsSupportsWeakReference ++{ ++ virtual int QueryInterface (const int &aIID, void **aInstancePtr) override; ++ virtual __attribute__((noinline, noclone)) unsigned AddRef (void) override; ++ virtual unsigned Release (void) override; ++ unsigned long mRefCnt; ++ virtual int Load (void) override { return 0; } ++ virtual int Save (void) override { return 0; } ++ virtual int GetWordList (void **aWordList) override { return 0; } ++ virtual int Check (const int &word, bool * _retval) override { return 0; } ++ virtual int AddWord (const int &word) override { return 0; } ++ virtual int RemoveWord (const int &word) override { return 0; } ++ virtual int IgnoreWord (const int &word) override { return 0; } ++ virtual int EndSession (void) override { return 0; } ++ virtual int Observe (nsISupports * aSubject, const char *aTopic, const unsigned short *aData) override { return 0; } ++ mozPersonalDictionary () : mRefCnt(0) {} ++ int Init () { return 0; } ++ virtual ~mozPersonalDictionary () {} ++ bool mIsLoaded; ++ bool mSavePending; ++ void *mFile; ++ char mMonitor[96]; ++ char mMonitorSave[96]; ++ char mDictionaryTable[32]; ++ char mIgnoreTable[32]; ++}; ++ ++unsigned ++mozPersonalDictionary::AddRef (void) ++{ ++ unsigned count = ++mRefCnt; ++ return count; ++} ++ ++unsigned ++mozPersonalDictionary::Release (void) ++{ ++ unsigned count = --mRefCnt; ++ if (count == 0) ++ { ++ mRefCnt = 1; ++ delete (this); ++ return 0; ++ } ++ return count; ++} ++ ++int ++mozPersonalDictionary::QueryInterface (const int &aIID, void **aInstancePtr) ++{ ++ nsISupports *foundInterface; ++ if (aIID == 122) ++ foundInterface = static_cast (this); ++ else ++ foundInterface = static_cast (this); ++ int status; ++ foundInterface->AddRef (); ++ *aInstancePtr = foundInterface; ++ return status; ++} ++ ++__attribute__((noipa)) int ++foo (nsISupports *p, const int &i) ++{ ++ void *q; ++ return p->QueryInterface (i, &q); ++} ++ ++int ++main () ++{ ++ mozPersonalDictionary m; ++ int j = 123; ++ for (int i = 0; i < 100000; i++) ++ foo (static_cast (&m), j); ++ if (m.mRefCnt != 100000) ++ __builtin_abort (); ++} ++ ++/* { dg-final-use-not-autofdo { scan-tree-dump-times "folding virtual function call to virtual unsigned int mozPersonalDictionary::_ZThn16" 1 "dom3" { target { lp64 || llp64 } } } } */ ++/* { dg-final-use-not-autofdo { scan-tree-dump-times "folding virtual function call to virtual unsigned int mozPersonalDictionary::_ZThn8" 1 "dom3" { target ilp32 } } } */ ++/* { dg-final-use-not-autofdo { scan-tree-dump-times "folding virtual function call to virtual unsigned int mozPersonalDictionary::AddRef" 1 "dom3" } } */ +Index: gcc/testsuite/g++.dg/guality/pr86687.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/guality/pr86687.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/guality/pr86687.C (.../branches/gcc-8-branch) +@@ -0,0 +1,28 @@ ++// PR debug/86687 ++// { dg-do run } ++// { dg-options "-g" } ++ ++class string { ++public: ++ string (int p) { this->p = p ; } ++ string (const string &s) { this->p = s.p; } ++ ++ int p; ++}; ++ ++class foo { ++public: ++ foo (string dir_hint) { ++ p = dir_hint.p; // { dg-final { gdb-test 16 "dir_hint.p" 3 } } ++ } ++ ++ int p; ++}; ++ ++int ++main (void) ++{ ++ string s = 3; ++ foo bar(s); ++ return !(bar.p == 3); ++} +Index: gcc/testsuite/g++.dg/pr58372.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/pr58372.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/pr58372.C (.../branches/gcc-8-branch) +@@ -0,0 +1,10 @@ ++/* PR target/58372 */ ++/* { dg-do compile { target { i?86-*-* x86_64-*-* } } } */ ++/* { dg-options "-O2" } */ ++/* { dg-require-effective-target c++14 } */ ++ ++__attribute__ ((__target__ ("rdrnd"))) ++void f (unsigned int *b) noexcept ++{ ++ __builtin_ia32_rdrand32_step (b); ++} +Index: gcc/testsuite/g++.dg/asm-qual-3.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/asm-qual-3.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/asm-qual-3.C (.../branches/gcc-8-branch) +@@ -0,0 +1,12 @@ ++// Test that asm-qualifiers are not allowed on toplevel asm. ++// { dg-do compile } ++// { dg-options "-std=gnu++98" } ++ ++asm const (""); // { dg-error {expected '\(' before 'const'} } ++asm volatile (""); // { dg-error {expected '\(' before 'volatile'} } ++asm restrict (""); // { dg-error {expected '\(' before 'restrict'} } ++asm inline (""); // { dg-error {expected '\(' before 'inline'} } ++asm goto (""); // { dg-error {expected '\(' before 'goto'} } ++ ++// There are many other things wrong with this code, so: ++// { dg-excess-errors "" } +Index: gcc/testsuite/g++.dg/parse/pr88180.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/parse/pr88180.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/parse/pr88180.C (.../branches/gcc-8-branch) +@@ -0,0 +1,12 @@ ++// PR c++/88180 ++// { dg-do compile } ++// { dg-options "--param ggc-min-heapsize=1024" } ++ ++struct d { ++ static d *b; ++} * d::b(__builtin_offsetof(struct { // { dg-error "types may not be defined" } ++ int i; ++ struct a { // { dg-error "types may not be defined" } ++ int c() { return .1f; } ++ }; ++}, i)); +Index: gcc/testsuite/g++.dg/cpp0x/lambda/lambda-89158.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-89158.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-89158.C (.../branches/gcc-8-branch) +@@ -0,0 +1,11 @@ ++// PR c++/89158 ++// { dg-do compile { target c++11 } } ++ ++struct T { T(const int&); }; ++void Func(T); ++ ++void test() ++{ ++ constexpr int Val = 42; ++ [Val]() { Func(Val); }; ++} +Index: gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv13.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv13.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-conv13.C (.../branches/gcc-8-branch) +@@ -0,0 +1,33 @@ ++// PR c++/86943 ++// { dg-do run { target c++14 } } ++ ++int c[3]; ++ ++struct S ++{ ++ S () : s (1234) { c[0]++; } ++ S (const S &) { __builtin_abort (); } ++ S (S &&x) noexcept { if (x.s != 1234) __builtin_abort (); s = 1234; x.s = 2345; c[1]++; } ++ ~S () { if (s != 1234 && s != 2345) __builtin_abort (); c[2]++; } ++ int s; ++}; ++ ++using F = S (*) (S); ++ ++F ++foo () ++{ ++ return [] (auto val)->S { if (val.s != 1234) __builtin_abort (); return {}; }; ++} ++ ++int ++main () ++{ ++ { ++ volatile F f = foo (); ++ S s = f ({}); ++ if (s.s != 1234) __builtin_abort (); ++ } ++ if (c[0] + c[1] != c[2]) ++ __builtin_abort (); ++} +Index: gcc/testsuite/g++.dg/cpp0x/initlist110.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/initlist110.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/initlist110.C (.../branches/gcc-8-branch) +@@ -0,0 +1,32 @@ ++// PR c++/89083 ++// { dg-do compile { target c++11 } } ++ ++struct C { int a[3]; int i; }; ++struct B { C c[3]; }; ++struct A { B b[3]; }; ++ ++template ++decltype(A{N, N}, T()) fn1(T t) ++{ ++ return t; ++} ++ ++template ++decltype(A{{{N, N, N}, {N + 1}}}, T()) fn2(T t) ++{ ++ return t; ++} ++ ++template ++decltype(A{{N + M}}, T()) fn3(T t) ++{ ++ return t; ++} ++ ++void ++f() ++{ ++ fn1(1); ++ fn2(1); ++ fn3(1); ++} +Index: gcc/testsuite/g++.dg/cpp0x/initlist-value3.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/initlist-value3.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/initlist-value3.C (.../branches/gcc-8-branch) +@@ -0,0 +1,23 @@ ++// PR c++/89119 ++// { dg-do compile { target c++11 } } ++ ++struct S { int a[4]; }; ++ ++template ++struct R { int a[N]; }; ++ ++template ++void ++fn () ++{ ++ constexpr auto s = S(); ++ constexpr auto s2 = S{}; ++ constexpr auto r = R<4>(); ++ constexpr auto r2 = R<4>{}; ++} ++ ++void ++foo () ++{ ++ fn(); ++} +Index: gcc/testsuite/g++.dg/cpp0x/pr85070.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/pr85070.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/pr85070.C (.../branches/gcc-8-branch) +@@ -0,0 +1,13 @@ ++// { dg-do compile { target c++11 } } ++ ++struct A; ++ ++struct B ++{ ++ constexpr A & operator= (const A &); // { dg-warning "used" "" { target c++14 } } ++}; ++ ++struct A : B // { dg-error "cannot be overloaded" "" { target c++14 } } ++{ ++ using B::operator=; ++} a { a = a }; +Index: gcc/testsuite/g++.dg/cpp0x/initlist107.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/initlist107.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/initlist107.C (.../branches/gcc-8-branch) +@@ -0,0 +1,24 @@ ++// PR c++/89083 ++// { dg-do compile { target c++11 } } ++// { dg-options "" } ++ ++struct A { int x[3]; }; ++ ++template ++decltype(A{1, 2}, T()) fn1(T t) ++{ ++ return t; ++} ++ ++template ++decltype(A{{1, 2}}, T()) fn2(T t) ++{ ++ return t; ++} ++ ++void ++f() ++{ ++ fn1(1); ++ fn2(1); ++} +Index: gcc/testsuite/g++.dg/cpp0x/pr87539.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/pr87539.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/pr87539.C (.../branches/gcc-8-branch) +@@ -0,0 +1,85 @@ ++// PR c++/87539 ++// { dg-do compile { target c++11 } } ++// { dg-options "-Os" } ++ ++namespace a { ++template class c; ++class exception {}; ++template struct e { d f; }; ++struct g { g(); g(const g &); }; ++} ++template class h; ++template struct i; ++template struct aa { static const int k = j; }; ++struct ac { typedef a::e l; }; ++struct ad; ++template struct ae { typedef m l; }; ++template struct ae { typedef n l; }; ++template struct o { ++ typedef typename ae::l l; ++}; ++struct af { af(char *); }; ++template struct ag { ag(a::g = a::g()) {} }; ++template ++struct i, al> { typedef ag l; }; ++namespace ak { ++template struct ap { ++ typedef typename o::l ::l l; ++}; ++template struct aq { typedef ad l; }; ++} ++template struct as { ++ typedef char at; ++ template static decltype(au(), at()) av(int); ++ template static int av(...); ++ static const bool k = sizeof(av(0)) == 1; ++}; ++template struct aw { static const bool k = as::k; }; ++template struct ax { typedef aw l; }; ++template struct ay { typedef typename ax::l l; }; ++template struct az : ay::l {}; ++template struct ba : aa::k> {}; ++template struct bb : ak::ap, ak::aq<>, int> {}; ++template struct q : ba::l, int> {}; ++template class r; ++template struct r { ++ s operator*(); ++ s operator++(); ++}; ++template ++class bc : public r>, int, q::k> {}; ++template ++int operator!=(bc, bc); ++template struct h { ++ typedef af bl; ++ bc, int, ac>::l, int> begin(); ++ bc, int, ac>::l, int> end(); ++ template bm bn() const; ++ template int bo() const; ++ template int bx(const bl &, const bm &) const; ++ template int bp(const bl &) const; ++}; ++template ++template ++bm h::bn() const { typename i, bm>::l(); return bm(); } ++template ++template ++int h::bo() const { i, int>::l(); bn(); return 0; } ++template ++template ++int h::bx(const bl &bs, const bm &) const { bp(bs); return 0; } ++template ++template ++int h::bp(const bl &) const { bo(); return 0; } ++char bt[] = ""; ++void ++d() ++{ ++ h bu; ++ for (auto bv : bu) ++ try { ++ bv.f.bx(bt, 0); ++ } catch (a::exception) { ++ } ++} +Index: gcc/testsuite/g++.dg/cpp0x/inline-ns10.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/inline-ns10.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/inline-ns10.C (.../branches/gcc-8-branch) +@@ -2,7 +2,10 @@ + // { dg-do compile { target c++11 } } + + inline namespace { +- namespace {} ++ namespace {} // not this one ++ void a (); + } + +-namespace {} // { dg-error "conflicts" } ++namespace { ++ int a (); // { dg-error "ambiguating" "" } ++} +Index: gcc/testsuite/g++.dg/cpp0x/pr86610.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/pr86610.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/pr86610.C (.../branches/gcc-8-branch) +@@ -0,0 +1,31 @@ ++// { dg-do run { target c++11 } } ++// PR c++86610 lambda capture inside template ++ ++struct C ++{ ++ int operator[](int) ++ { return 1; } ++ ++ int operator[](int) const ++ { return 0; } // Want this one ++}; ++ ++int q() ++{ ++ C c; ++ return [=] { return c[0]; }(); ++} ++ ++template ++int f() ++{ ++ C c; ++ T d; ++ return [=] { return c[0]; }() ++ + [=] { return c[0] + d[0]; }(); ++} ++ ++int main() ++{ ++ return q () + f(); ++} +Index: gcc/testsuite/g++.dg/cpp0x/pr88410.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/pr88410.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/pr88410.C (.../branches/gcc-8-branch) +@@ -0,0 +1,7 @@ ++// PR c++/88410 ++// { dg-do compile { target c++11 } } ++ ++typedef __UINTPTR_TYPE__ uintptr_t; ++const uintptr_t a = 32; ++struct C { int b; int c; }; ++uintptr_t d { uintptr_t (&reinterpret_cast(a)->c) - a }; +Index: gcc/testsuite/g++.dg/cpp0x/initlist111.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/initlist111.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/initlist111.C (.../branches/gcc-8-branch) +@@ -0,0 +1,32 @@ ++// PR c++/80864 ++// { dg-do compile { target c++11 } } ++ ++struct S { ++ int c[3]; ++}; ++ ++template ++void ++fn () ++{ ++ constexpr S s1 = S{N}; ++ constexpr S s2 = S{{N, N}}; ++ constexpr S s3 = S{N, N}; ++ constexpr S s4 = {N}; ++ constexpr S s5 = {{N}}; ++ constexpr S s6 = {N, N}; ++ constexpr S s7{{N}}; ++ constexpr S s8{S{N}}; ++ constexpr S s9{S{{N}}}; ++ constexpr S s10{S{{N}}}; ++ constexpr S s11 = S({N}); ++ constexpr S s12 = S({{N}}); ++ constexpr S s13 = {{N}}; ++ constexpr S s14 = {{N, N, N}}; ++} ++ ++void ++foo () ++{ ++ fn(); ++} +Index: gcc/testsuite/g++.dg/cpp0x/initlist108.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/initlist108.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/initlist108.C (.../branches/gcc-8-branch) +@@ -0,0 +1,34 @@ ++// PR c++/80864 ++// { dg-do compile { target c++11 } } ++// { dg-options "-Wmissing-braces" } ++ ++struct S { ++ char c[1]; ++}; ++ ++template ++void ++fn () ++{ ++ constexpr S s1 = S{}; ++ constexpr S s2 = S{{}}; ++ constexpr S s3 = S{{{}}}; ++ constexpr S s4 = {}; ++ constexpr S s5 = {{}}; ++ constexpr S s6 = {{{}}}; ++ constexpr S s7{{}}; ++ constexpr S s8{S{}}; ++ constexpr S s9{S{{}}}; ++ constexpr S s10{S{{{}}}}; ++ constexpr S s11 = S(); ++ constexpr S s12 = S({}); ++ constexpr S s13 = S({{}}); ++ constexpr S s14 = {{}}; ++ constexpr S s15 = {{{}}}; ++} ++ ++void ++foo () ++{ ++ fn(); ++} +Index: gcc/testsuite/g++.dg/cpp0x/pr88120.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/pr88120.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/pr88120.C (.../branches/gcc-8-branch) +@@ -0,0 +1,23 @@ ++// PR c++/88120 ++// { dg-do compile { target c++11 } } ++ ++typedef int a; ++enum b : a; ++class c { ++ enum f { d }; ++ c(f); ++ friend c operator&(c, c); ++ typedef void (c::*e)(); ++ operator e(); ++}; ++class g { ++ template b h(); ++ struct k { ++ c i; ++ }; ++}; ++template b g::h() { ++ k j; ++ &j || j.i &c::d; ++ return b(); ++} +Index: gcc/testsuite/g++.dg/cpp0x/gen-attrs-66.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/gen-attrs-66.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/gen-attrs-66.C (.../branches/gcc-8-branch) +@@ -0,0 +1,12 @@ ++// PR c++/86288 ++// { dg-do compile { target c++11 } } ++// { dg-options "-Wattributes" } ++ ++int a [[gnu::aligned(alignof(int))]]; ++int b [[gnu::__aligned__(alignof(int))]]; ++int c [[__gnu__::aligned(alignof(int))]]; ++int d [[__gnu__::__aligned__(alignof(int))]]; ++int e [[using gnu : aligned(alignof(int))]]; // { dg-warning "attribute using prefix only available" "" { target c++14_down } } ++int f [[using gnu : __aligned__(alignof(int))]]; // { dg-warning "attribute using prefix only available" "" { target c++14_down } } ++int g [[using __gnu__ : aligned(alignof(int))]]; // { dg-warning "attribute using prefix only available" "" { target c++14_down } } ++int h [[using __gnu__ : __aligned__(alignof(int))]]; // { dg-warning "attribute using prefix only available" "" { target c++14_down } } +Index: gcc/testsuite/g++.dg/cpp0x/pr87155.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/pr87155.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/pr87155.C (.../branches/gcc-8-branch) +@@ -0,0 +1,14 @@ ++// { dg-do compile { target c++11 } } ++// PR c++/87155 confused about which anon namespace ++ ++namespace { ++ void a (); // this one ++} ++ ++inline namespace n2 { ++ namespace {} ++} ++ ++namespace { ++ int a (); // { dg-error "ambiguating" "" } ++} +Index: gcc/testsuite/g++.dg/cpp0x/initlist112.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/initlist112.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/initlist112.C (.../branches/gcc-8-branch) +@@ -0,0 +1,14 @@ ++// PR c++/80864 ++// { dg-do compile { target c++11 } } ++ ++struct S {int a[2]; }; ++struct A { S s[1]; }; ++ ++template ++struct R { static constexpr auto h = A{S{N}}; }; ++ ++template ++struct R2 { static constexpr auto h = A{S{{N, N}}}; }; ++ ++A foo = R::h; ++A foo2 = R2::h; +Index: gcc/testsuite/g++.dg/cpp0x/initlist105.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/initlist105.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/initlist105.C (.../branches/gcc-8-branch) +@@ -0,0 +1,28 @@ ++// PR c++/86669 ++// { dg-do run { target c++11 } } ++ ++#include ++ ++struct S { S (); }; ++struct T : public S {}; ++int cnt; ++void foo (int) { cnt++; } ++ ++S::S () ++{ ++ int e = 1, f = 2, g = 3, h = 4; ++ ++ for (auto k : { e, f, g, h }) ++ foo (k); ++} ++ ++int ++main () ++{ ++ S s; ++ if (cnt != 4) ++ __builtin_abort (); ++ T t; ++ if (cnt != 8) ++ __builtin_abort (); ++} +Index: gcc/testsuite/g++.dg/cpp0x/rv-cond3.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/rv-cond3.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/rv-cond3.C (.../branches/gcc-8-branch) +@@ -0,0 +1,22 @@ ++// PR c++/88103 ++// { dg-do compile { target c++11 } } ++ ++struct A { ++ A (int); ++ A&& foo () &&; ++ int i; ++}; ++void free (A&&); ++ ++void test_xvalue (A a){ ++ A&& ref = true ? static_cast (a) : static_cast (a); ++ free (true ? static_cast (a) : static_cast (a)); ++ (true ? static_cast (a) : static_cast (a)).foo (); ++ int&& k = (true ? static_cast (a) : static_cast (a)).i; ++} ++void test_prvalue (A a){ ++ A&& ref = true ? static_cast (a) : 1; ++ free (true ? static_cast (a) : 1); ++ (true ? static_cast (a) : 1).foo (); ++ int&& k = (true ? static_cast (a) : 1).i; ++} +Index: gcc/testsuite/g++.dg/cpp0x/constexpr-87934.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/constexpr-87934.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/constexpr-87934.C (.../branches/gcc-8-branch) +@@ -0,0 +1,9 @@ ++// PR c++/87934 ++// { dg-do compile { target c++11 } } ++ ++struct Foo ++{ ++ enum { BAR } bar = BAR; ++}; ++ ++constexpr Foo foo{}; +Index: gcc/testsuite/g++.dg/cpp0x/initlist109.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/initlist109.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/initlist109.C (.../branches/gcc-8-branch) +@@ -0,0 +1,15 @@ ++// PR c++/80864 ++// { dg-do compile { target c++11 } } ++// { dg-options "-Wmissing-braces" } ++ ++struct S {}; ++struct A { S s[1]; }; ++ ++template ++struct R { static constexpr auto h = A{S{}}; }; // { dg-warning "missing braces" } ++ ++template ++struct R2 { static constexpr auto h = A{{S{}}}; }; ++ ++A foo = R::h; ++A foo2 = R2::h; +Index: gcc/testsuite/g++.dg/cpp0x/constexpr-87506.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/constexpr-87506.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/constexpr-87506.C (.../branches/gcc-8-branch) +@@ -0,0 +1,12 @@ ++// PR c++/87506 ++// { dg-do compile { target c++11 } } ++ ++struct A {}; ++struct B { constexpr B (const A) {} }; ++struct C : B { using B::B; }; ++ ++void ++foo () ++{ ++ C c (A{}); ++} +Index: gcc/testsuite/g++.dg/cpp0x/implicit15.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/implicit15.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/implicit15.C (.../branches/gcc-8-branch) +@@ -0,0 +1,11 @@ ++// PR c++/88122 ++// { dg-do compile { target c++11 } } ++ ++struct A { ++ A (...); // { dg-message "candidate" } ++ A (); // { dg-message "candidate" } ++}; ++struct B : A { ++ using A::A; // { dg-error "is ambiguous" } ++ // { dg-message "is implicitly deleted because the default definition would be ill-formed" "" { target *-*-* } .-1 } ++} b{3}; // { dg-error "use of deleted function" } +Index: gcc/testsuite/g++.dg/cpp0x/initlist106.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/initlist106.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/initlist106.C (.../branches/gcc-8-branch) +@@ -0,0 +1,29 @@ ++// PR c++/86669 ++// { dg-do run { target c++11 } } ++ ++#include ++ ++struct A { }; ++struct S : virtual public A { S (); }; ++struct T : public S, virtual public A {}; ++int cnt; ++void foo (int) { cnt++; } ++ ++S::S () ++{ ++ int e = 1, f = 2, g = 3, h = 4; ++ ++ for (auto k : { e, f, g, h }) ++ foo (k); ++} ++ ++int ++main () ++{ ++ S s; ++ if (cnt != 4) ++ __builtin_abort (); ++ T t; ++ if (cnt != 8) ++ __builtin_abort (); ++} +Index: gcc/testsuite/g++.dg/cpp0x/enum37.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/enum37.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/enum37.C (.../branches/gcc-8-branch) +@@ -0,0 +1,24 @@ ++// PR c++/89024 ++// { dg-do compile { target c++11 } } ++ ++template struct same; ++template struct same {}; ++ ++template T&& declval(); ++ ++template ++void __test_aux(_To1); ++ ++template(declval<_From1>()))> ++char __test(int); ++ ++template ++int __test(...); ++ ++enum E { ++ x = decltype(__test(0))(0) ++}; ++ ++same s; ++same s2; // { dg-error "incomplete type" "" { target short_enums } } +Index: gcc/testsuite/g++.dg/torture/pr86763.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/torture/pr86763.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/torture/pr86763.C (.../branches/gcc-8-branch) +@@ -0,0 +1,37 @@ ++// { dg-do run { target { *-*-linux* } } } ++// { dg-additional-options "-fschedule-insns2 -fstrict-aliasing" } ++// { dg-additional-options "-lrt" } ++ ++#include ++#include ++#include ++struct ID { ++ uint64_t value; ++}; ++uint64_t value(ID id) { return id.value; } ++uint64_t gen { 1000 }; ++struct Msg { ++ uint64_t time; ++ ID id; ++}; ++struct V { ++ V() { } ++ V(Msg const & msg) : msg(msg) { } ++ Msg & get() { return msg; } ++ Msg msg; ++ char pad[237 - sizeof(Msg)]; ++}; ++struct T : V { using V::V; }; ++Msg init_msg() { ++ Msg msg; ++ timespec t; ++ clock_gettime(CLOCK_REALTIME, &t); ++ msg.time = t.tv_sec + t.tv_nsec; ++ msg.id.value = ++gen; ++ return msg; ++} ++int main() { ++ T t; ++ t = init_msg(); ++ assert(value(t.get().id) == 1001); ++} +Index: gcc/testsuite/g++.dg/torture/pr88130.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/torture/pr88130.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/torture/pr88130.C (.../branches/gcc-8-branch) +@@ -0,0 +1,27 @@ ++/* { dg-do compile } */ ++/* { dg-options "-flto" } */ ++/* { dg-require-effective-target lto } */ ++class a { ++public: ++ static const long b = 1; ++}; ++struct c { ++ enum d { e }; ++}; ++class C; ++class f { ++public: ++ f(c::d); ++ template C operator<=(g); ++}; ++class C { ++public: ++ template void operator!=(h &); ++}; ++void i() { ++ f j(c::e); ++ try { ++ j <= 0 != a::b; ++ } catch (...) { ++ } ++} +Index: gcc/testsuite/g++.dg/torture/pr44295.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/torture/pr44295.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/torture/pr44295.C (.../branches/gcc-8-branch) +@@ -1,5 +1,6 @@ + /* { dg-do compile } */ + /* { dg-additional-options "-Wno-return-type" } */ ++/* { dg-skip-if "no pthread_barrier" { *-*-darwin* } } */ + + extern "C" { + typedef __SIZE_TYPE__ size_t; +Index: gcc/testsuite/g++.dg/torture/pr88149.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/torture/pr88149.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/torture/pr88149.C (.../branches/gcc-8-branch) +@@ -0,0 +1,63 @@ ++// { dg-do compile } ++// { dg-additional-options "-ftree-vectorize" } ++ ++template struct a; ++template struct a { ++ typedef long c; ++ typedef b &d; ++}; ++template class f { ++ e ab; ++ typedef a ac; ++ ++public: ++ typename ac::d operator[](typename ac::c o) { return ab[o]; } ++}; ++template struct au; ++template au operator+(au o, au p2) { ++ au ax = o; ++ ax += p2; ++ return ax; ++} ++template au operator-(au o, au p2) { ++ au ax = o; ++ ax -= p2; ++ return ax; ++} ++template au operator*(au, au &p2) { ++ au ax; ++ ax *= p2; ++ return ax; ++} ++template <> struct au { ++ double p() { return __real__ az; } ++ double q() { return __imag__ az; } ++ void operator+=(au o) { ++ az += o.p(); ++ __imag__ az += o.q(); ++ } ++ void operator-=(au o) { ++ az -= o.p(); ++ __imag__ az -= o.q(); ++ } ++ void operator*=(au &o) { ++ _Complex bd = o.p(); ++ __imag__ bd = o.q(); ++ az *= bd; ++ } ++ _Complex az; ++}; ++long bm, m; ++f *> g; ++au h, i, l; ++void bn() { ++ au bq; ++ for (long k; m;) { ++ au br; ++ for (long j = 0; j < bm; ++j) { ++ au n = br * h; ++ i = l + n; ++ g[k] = l - bq; ++ } ++ } ++} +Index: gcc/testsuite/g++.dg/torture/pr88861.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/torture/pr88861.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/torture/pr88861.C (.../branches/gcc-8-branch) +@@ -0,0 +1,11 @@ ++// { dg-options "-fnon-call-exceptions" } ++ ++struct Ax { ++ int n, a[]; ++}; ++ ++int i = 12345678; ++int main() { ++ static Ax s{456, i}; ++ ((s.a[0]) ? (void)0 : (void)0); ++} +Index: gcc/testsuite/g++.dg/torture/pr86816.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/torture/pr86816.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/torture/pr86816.C (.../branches/gcc-8-branch) +@@ -0,0 +1,42 @@ ++// { dg-do compile } ++ ++class Signal ++{ ++public: ++ int m_Mode; ++}; ++ ++class Ctx ++{ ++public: ++ bool m_Invert; ++ ++ void DoSomething(); ++}; ++ ++class Test ++{ ++ void TestIce( Ctx& ctx, Signal* sig); ++}; ++ ++void Test::TestIce( Ctx& ctx, Signal* sig) ++{ ++ int invert = false; ++ ++ if( ! ctx.m_Invert) ++ invert = ! invert; ++ ++ switch( sig->m_Mode) ++ { ++ case 1: ++ invert = ! invert; ++ break; ++ ++ case 2: ++ invert = true; ++ break; ++ } ++ ++ if( invert) ++ ctx.DoSomething(); ++} +Index: gcc/testsuite/g++.dg/torture/pr87014.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/torture/pr87014.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/torture/pr87014.C (.../branches/gcc-8-branch) +@@ -0,0 +1,37 @@ ++// { dg-do run } ++ ++void ++fillstack () ++{ ++ long long foo[] = ++ { ++ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, ++ }; ++} ++ ++void ++f (long long=-1,long long=-1,long long=-1,long long=-1, ++ long long=-1,long long=-1,long long arg7_on_stack=-1) ++{ ++ throw 0; ++} ++ ++void ++g() ++{ ++ try ++ { ++ f (); ++ } ++ catch (int) ++ { ++ } ++} ++ ++int ++main() ++{ ++ fillstack (); ++ g (); ++ return 0; ++} +Index: gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic19.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic19.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic19.C (.../branches/gcc-8-branch) +@@ -0,0 +1,4 @@ ++// PR c++/86728 ++// { dg-do compile { target c++14 } } ++ ++auto c = [](auto x ...) { }; +Index: gcc/testsuite/g++.dg/cpp1y/constexpr-86767.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp1y/constexpr-86767.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp1y/constexpr-86767.C (.../branches/gcc-8-branch) +@@ -0,0 +1,119 @@ ++// PR c++/86767 ++// { dg-do compile { target c++14 } } ++ ++constexpr int ++fn0 () noexcept ++{ ++ int r = 0; ++ for (int i = 0; i < 10; ++i) ++ { ++ continue; ++ r++; ++ for (int j = 0; j < 10; ++j ) ++ { ++ } ++ } ++ return r; ++} ++static_assert (fn0 () == 0, ""); ++ ++constexpr int ++fn1 () noexcept ++{ ++ int r = 0; ++ for (int i = 0; i < 10; ++i) ++ for (int j = 0; j < 10; ++j) ++ { ++ continue; ++ r++; ++ } ++ return r; ++} ++static_assert (fn1 () == 0, ""); ++ ++constexpr int ++fn2 () noexcept ++{ ++ int r = 0; ++ for (int i = 0; i < 10; ++i) ++ { ++ continue; ++ r++; ++ } ++ return r; ++} ++static_assert (fn2 () == 0, ""); ++ ++constexpr int ++fn3 () noexcept ++{ ++ int r = 0; ++ for (int i = 0; i < 10; ++i) ++ { ++ continue; ++ r++; ++ while (1) ++ { ++ } ++ } ++ return r; ++} ++static_assert (fn3 () == 0, ""); ++ ++constexpr int ++fn4 () noexcept ++{ ++ for (int i = 0; i < 10; ++i) ++ { ++ switch (i) ++ { ++ case 5: ++ return i; ++ default: ++ continue; ++ } ++ while (1) ++ { ++ } ++ } ++ return 0; ++} ++static_assert (fn4 () == 5, ""); ++ ++constexpr int ++fn5 () noexcept ++{ ++ for (int i = 0; i < 10; ++i) ++ { ++ switch (i) ++ { ++ case 0: ++ case 1: ++ case 2: ++ case 3: ++ case 4: ++ continue; ++ default: ++ return i; ++ } ++ while (1) ++ { ++ } ++ } ++ return 0; ++} ++static_assert (fn5 () == 5, ""); ++ ++constexpr int ++fn6 () noexcept ++{ ++ int r = 0; ++ for (int i = 0; i < 10; ++i) ++ { ++ continue; ++ for (int j = 0; j < 10; ++j ) ++ r++; ++ } ++ return r; ++} ++static_assert (fn6 () == 0, ""); +Index: gcc/testsuite/g++.dg/cpp1y/constexpr-88983.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp1y/constexpr-88983.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp1y/constexpr-88983.C (.../branches/gcc-8-branch) +@@ -0,0 +1,71 @@ ++// PR c++/88983 ++// { dg-do compile { target c++14 } } ++ ++constexpr int ++fn1 (int ay) ++{ ++ switch (ay) ++ { ++ if (1) ++ { ++ case 1: ++ return 1; ++ } ++ else ++ { ++ default:; ++ } ++ } ++ ++ return 0; ++} ++ ++constexpr int ++fn2 (int ay) ++{ ++ switch (ay) ++ { ++ if (1) ++ { ++ case 1: ++ break; ++ } ++ else ++ { ++ default:; ++ } ++ } ++ ++ return 0; ++} ++ ++constexpr int ++fn3 (int ay) ++{ ++ int i = 0; ++ while (i++ < 100) ++ { ++ if (i == 1) ++ return 1; ++ switch (ay) ++ { ++ if (1) ++ { ++ case 1: ++ continue; ++ } ++ else ++ { ++ default:; ++ return -1; ++ } ++ } ++ return -1; ++ } ++ ++ return -1; ++} ++ ++static_assert (fn1 (1) == 1, ""); ++static_assert (fn2 (1) == 0, ""); ++static_assert (fn3 (1) == 1, ""); +Index: gcc/testsuite/g++.dg/cpp1y/constexpr-array6.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp1y/constexpr-array6.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp1y/constexpr-array6.C (.../branches/gcc-8-branch) +@@ -0,0 +1,26 @@ ++// PR c++/87075 ++// { dg-do compile { target c++14 } } ++ ++template ++struct vec ++{ ++ struct { T y; } n; ++ vec() = default; ++}; ++ ++template ++struct S ++{ ++ vec value[2]; ++ template ++ constexpr S(const U&); ++}; ++ ++template ++template ++constexpr S::S(const X&) ++{ ++ value[0] = vec(); ++} ++ ++Sm(0); +Index: gcc/testsuite/g++.dg/cpp1y/lambda-generic-const6.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp1y/lambda-generic-const6.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp1y/lambda-generic-const6.C (.../branches/gcc-8-branch) +@@ -0,0 +1,18 @@ ++// PR c++/88761 ++// { dg-do compile { target c++14 } } ++ ++template ++void f(T t) { t(1); } ++ ++int main() ++{ ++ const unsigned long nf = 10'000'000; ++ ++ auto loop = [&](auto) ++ { ++ auto x = +nf; ++ auto y = &nf; ++ }; ++ ++ f(loop); ++} +Index: gcc/testsuite/g++.dg/cpp1z/decomp48.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp1z/decomp48.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp1z/decomp48.C (.../branches/gcc-8-branch) +@@ -0,0 +1,134 @@ ++// PR c++/87582 ++// { dg-do run { target c++11 } } ++// { dg-options "-Wreturn-local-addr" } ++ ++struct S { int s, t; }; ++S v {1, 2}; ++int a[3] = {1, 2, 3}; ++ ++int & ++f1 () ++{ ++ auto& [s, t] = v; // { dg-warning "structured bindings only available with" "" { target c++14_down } } ++ return s; // { dg-bogus "reference to local variable '.' returned" } ++} ++ ++int & ++f2 () ++{ ++ S v {1, 2}; // { dg-warning "reference to local variable 'v' returned" } ++ auto& [s, t] = v; // { dg-warning "structured bindings only available with" "" { target c++14_down } } ++ return s; ++} ++ ++int & ++f3 () ++{ ++ auto& [s, t, u] = a; // { dg-warning "structured bindings only available with" "" { target c++14_down } } ++ return s; // { dg-bogus "reference to local variable '.' returned" } ++} ++ ++int & ++f4 () ++{ ++ int a[3] = {1, 2, 3}; // { dg-warning "reference to local variable 'a' returned" } ++ auto& [s, t, u] = a; // { dg-warning "structured bindings only available with" "" { target c++14_down } } ++ return s; ++} ++ ++int & ++f5 () ++{ ++ auto [s, t] = v; // { dg-warning "structured bindings only available with" "" { target c++14_down } } ++ return s; // { dg-warning "reference to local variable 's' returned" "" { target *-*-* } .-1 } ++} ++ ++int & ++f6 () ++{ ++ S v {1, 2}; ++ auto [s, t] = v; // { dg-warning "structured bindings only available with" "" { target c++14_down } } ++ return s; // { dg-warning "reference to local variable 's' returned" "" { target *-*-* } .-1 } ++} ++ ++int & ++f7 () ++{ ++ auto [s, t, u] = a; // { dg-warning "structured bindings only available with" "" { target c++14_down } } ++ return s; // { dg-warning "reference to local variable 's' returned" "" { target *-*-* } .-1 } ++} ++ ++int & ++f8 () ++{ ++ int a[3] = {1, 2, 3}; ++ auto [s, t, u] = a; // { dg-warning "structured bindings only available with" "" { target c++14_down } } ++ return s; // { dg-warning "reference to local variable 's' returned" "" { target *-*-* } .-1 } ++} ++ ++int * ++f9 () ++{ ++ auto& [s, t] = v; // { dg-warning "structured bindings only available with" "" { target c++14_down } } ++ return &s; // { dg-bogus "address of local variable '.' returned" } ++} ++ ++int * ++f10 () ++{ ++ S v {1, 2}; // { dg-warning "address of local variable 'v' returned" } ++ auto& [s, t] = v; // { dg-warning "structured bindings only available with" "" { target c++14_down } } ++ return &s; ++} ++ ++int * ++f11 () ++{ ++ auto& [s, t, u] = a; // { dg-warning "structured bindings only available with" "" { target c++14_down } } ++ return &s; // { dg-bogus "address of local variable '.' returned" } ++} ++ ++int * ++f12 () ++{ ++ int a[3] = {1, 2, 3}; // { dg-warning "address of local variable 'a' returned" } ++ auto& [s, t, u] = a; // { dg-warning "structured bindings only available with" "" { target c++14_down } } ++ return &s; ++} ++ ++int * ++f13 () ++{ ++ auto [s, t] = v; // { dg-warning "structured bindings only available with" "" { target c++14_down } } ++ return &s; // { dg-warning "address of local variable 's' returned" "" { target *-*-* } .-1 } ++} ++ ++int * ++f14 () ++{ ++ S v {1, 2}; ++ auto [s, t] = v; // { dg-warning "structured bindings only available with" "" { target c++14_down } } ++ return &s; // { dg-warning "address of local variable 's' returned" "" { target *-*-* } .-1 } ++} ++ ++int * ++f15 () ++{ ++ auto [s, t, u] = a; // { dg-warning "structured bindings only available with" "" { target c++14_down } } ++ return &s; // { dg-warning "address of local variable 's' returned" "" { target *-*-* } .-1 } ++} ++ ++int * ++f16 () ++{ ++ int a[3] = {1, 2, 3}; ++ auto [s, t, u] = a; // { dg-warning "structured bindings only available with" "" { target c++14_down } } ++ return &s; // { dg-warning "address of local variable 's' returned" "" { target *-*-* } .-1 } ++} ++ ++int ++main () ++{ ++ if (&f1 () != &v.s || &f3 () != &a[0] || f9 () != &v.s || f11 () != &a[0]) ++ __builtin_abort (); ++} +Index: gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C (.../branches/gcc-8-branch) +@@ -416,6 +416,18 @@ + # error "__cpp_variadic_using != 201611" + #endif + ++#ifndef __cpp_guaranteed_copy_elision ++# error "__cpp_guaranteed_copy_elision" ++#elif __cpp_guaranteed_copy_elision != 201606 ++# error "__cpp_guaranteed_copy_elision != 201606" ++#endif ++ ++#ifndef __cpp_nontype_template_parameter_auto ++# error "__cpp_nontype_template_parameter_auto" ++#elif __cpp_nontype_template_parameter_auto != 201606 ++# error "__cpp_nontype_template_parameter_auto != 201606" ++#endif ++ + #ifdef __has_cpp_attribute + + # if ! __has_cpp_attribute(maybe_unused) +Index: gcc/testsuite/g++.dg/cpp1z/constexpr-if25.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp1z/constexpr-if25.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp1z/constexpr-if25.C (.../branches/gcc-8-branch) +@@ -0,0 +1,27 @@ ++// PR c++/86740 ++// { dg-do compile { target c++17 } } ++ ++struct Constant ++{ ++ static constexpr int value = 0; ++}; ++template ++void invokeWithConstant(F &&f) ++{ ++ f(Constant{}); ++} ++int foo() ++{ ++ int count = 0; ++ invokeWithConstant ++ ([&] (auto id1) ++ { ++ invokeWithConstant ++ ([&] (auto id2) ++ { ++ if constexpr (id1.value == 0 && id2.value == 0) ++ [&] { count = 1; } (); ++ }); ++ }); ++ return count; ++} +Index: gcc/testsuite/g++.dg/cpp1z/decomp46.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp1z/decomp46.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp1z/decomp46.C (.../branches/gcc-8-branch) +@@ -0,0 +1,25 @@ ++// PR c++/86836 ++// { dg-do compile { target c++11 } } ++// { dg-options "" } ++ ++struct A { ++ int operator*(); ++ void operator++(); ++ bool operator!=(A); ++}; ++template class map { ++public: ++ A begin(); ++ A end(); ++}; ++ ++template void mergemap(map orig, map toadd) { ++ for (auto p : toadd) ++ auto [orig] = orig; // { dg-error "use of 'orig' before deduction of 'auto'" } ++} // { dg-warning "structured bindings only available with" "" { target c++14_down } .-1 } ++ ++int ++main() { ++ map x, y; ++ mergemap(x, y); ++} +Index: gcc/testsuite/g++.dg/cpp1z/constexpr-if26.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp1z/constexpr-if26.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp1z/constexpr-if26.C (.../branches/gcc-8-branch) +@@ -0,0 +1,28 @@ ++// PR c++/88752 ++// { dg-do compile { target c++17 } } ++ ++template struct b { static constexpr int c = a; }; ++class d; ++template struct e { typedef d f; }; ++template using h = typename e::f; ++template constexpr bool i = b::c; ++class d { ++public: ++ using j = float; ++}; ++template void k(); ++int main() { k(); } ++template l m; ++template void n(r o) { ++ [](int) {}(o(m)); ++} ++template void k() { ++ n([](auto inputs) { ++ auto p(inputs); ++ using s = h; ++ s q; ++ if constexpr (i) ++ [&] { return q; }(); ++ return 42; ++ }); ++} +Index: gcc/testsuite/g++.dg/cpp1z/decomp47.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp1z/decomp47.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/cpp1z/decomp47.C (.../branches/gcc-8-branch) +@@ -0,0 +1,32 @@ ++// PR c++/87122 ++// { dg-do run { target c++14 } } ++// { dg-options "" } ++ ++extern "C" void abort (); ++struct S { int a, b; }; ++int c; ++ ++template ++void ++foo () ++{ ++ S x[4] = { { N, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } }; ++ auto f = [](auto & y) { ++ for (auto & [ u, v ] : y) // { dg-warning "structured bindings only available with" "" { target c++14_down } } ++ { ++ if ((u & 1) != 1 || v != u + 1 || u < N || u > 7 || (c & (1 << u)) ++ || &u != &y[v / 2 - 1].a || &v != &y[v / 2 - 1].b) ++ abort (); ++ c |= 1 << u; ++ } ++ }; ++ f (x); ++} ++ ++int ++main () ++{ ++ foo<1> (); ++ if (c != 0xaa) ++ abort (); ++} +Index: gcc/testsuite/g++.dg/ext/is_constructible2.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/ext/is_constructible2.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/ext/is_constructible2.C (.../branches/gcc-8-branch) +@@ -0,0 +1,12 @@ ++// { dg-do compile { target c++11 } } ++ ++#include ++ ++template struct x { ++ operator bool() { ++ static_assert(!std::is_same::value, ""); ++ return false; ++ } ++}; ++ ++static constexpr auto a = __is_constructible(bool, x); +Index: gcc/testsuite/g++.dg/ext/vector36.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/ext/vector36.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/ext/vector36.C (.../branches/gcc-8-branch) +@@ -0,0 +1,6 @@ ++// PR target/89186 ++// { dg-do compile } ++// { dg-options "-fnon-call-exceptions" } ++// { dg-additional-options "-mno-sse" { target i?86-*-* x86_64-*-* } } ++ ++#include "vector27.C" +Index: gcc/testsuite/g++.dg/ext/sync-4.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/ext/sync-4.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/ext/sync-4.C (.../branches/gcc-8-branch) +@@ -1,4 +1,6 @@ + /* { dg-do run { target hppa*-*-hpux* *-*-linux* *-*-gnu* powerpc*-*-darwin* *-*-darwin[912]* } } */ ++/* FIXME The following additional option should be removed after the fix for radr://19802258. ++/* { dg-xfail-run-if "PR60563 radr://19802258" { *-*-darwin* } } */ + /* { dg-require-effective-target sync_long_long_runtime } */ + /* { dg-options "-fexceptions -fnon-call-exceptions -O2" } */ + /* { dg-additional-options "-march=pentium" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ +Index: gcc/testsuite/g++.dg/expr/unary4.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/expr/unary4.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/expr/unary4.C (.../branches/gcc-8-branch) +@@ -0,0 +1,8 @@ ++// PR c++/84940 ++// { dg-additional-options -Wno-vla } ++ ++void ++foo (int x) ++{ ++ struct {} a[1][x](-a[0]); // { dg-error "wrong type argument to unary minus" } ++} +Index: gcc/testsuite/g++.dg/abi/key2.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/abi/key2.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/abi/key2.C (.../branches/gcc-8-branch) +@@ -14,4 +14,4 @@ + } c; + inline void f::g() {} + int sub(void) +-{} ++{return 0;} +Index: gcc/testsuite/g++.dg/abi/pr89105.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/abi/pr89105.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/abi/pr89105.C (.../branches/gcc-8-branch) +@@ -0,0 +1,16 @@ ++// PR c++/89105 ++// { dg-do compile { target { { i?86-*-* x86_64-*-* } && { c++11 } } } } ++// { dg-options "-fabi-version=12 -Wabi=11" } ++ ++namespace { ++ template ++ void run(F f, int i) // { dg-bogus "parameter passing ABI changes in -fabi-version=12" } ++ { ++ f(i); ++ } ++} ++ ++void f() ++{ ++ run([](int) { }, 1); // { dg-bogus "parameter passing ABI changes in -fabi-version=12" } ++} +Index: gcc/testsuite/g++.dg/abi/pr87137.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/abi/pr87137.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/abi/pr87137.C (.../branches/gcc-8-branch) +@@ -0,0 +1,40 @@ ++// PR c++/87137 ++ ++// Empty macro args are undefined in C++ 98 ++// { dg-do compile { target c++11 } } ++ ++// We got confused by non-field decls separating bitfields when ++// ms_bitfield_layout was in effect. ++ ++#if defined (__x86_64__) || defined (__i686__) || defined (__powerpc__) ++#define ATTRIB __attribute__((ms_struct)) ++#elif defined (__superh__) ++#define ATTRIB __attribute__((renesas)) ++#else ++#define ATTRIB ++#endif ++ ++#define DEFINE(NAME,BASE,THING) \ ++ struct ATTRIB NAME BASE { \ ++ unsigned one : 12; \ ++ THING \ ++ unsigned two : 4; \ ++ } ++ ++template struct Test; ++template struct Test {}; ++ ++#define TEST(NAME,BASE,THING) \ ++ DEFINE(NAME##_WITH,BASE,THING); \ ++ DEFINE(NAME##_WITHOUT,BASE,); \ ++ int NAME = sizeof (Test) ++ ++TEST(NSFun,,int fun ();); ++TEST(SFun,,static int fun ();); ++TEST(Tdef,,typedef int tdef;); ++ ++TEST(Var,,static int var;); ++struct base { int f; }; ++TEST(Use,:base,using base::f;); ++TEST(Tmpl,,template class X {};); ++TEST(TmplFN,,template void fu ();); +Index: gcc/testsuite/g++.dg/vec-init-1.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/vec-init-1.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/vec-init-1.C (.../branches/gcc-8-branch) +@@ -0,0 +1,26 @@ ++/* On S/390 this ends up calling the vec_init RTL expander with a ++ parallel of two symbol_refs. */ ++ ++/* { dg-do compile } */ ++/* { dg-options "-O3 -fPIC" } */ ++ ++ ++struct test ++{ ++ struct base ++ { ++ int key; ++ }; ++ struct derived : public base ++ { ++ int key; ++ }; ++ ++ derived core; ++ derived &dRef; ++ base &bRef; ++ ++ test() : dRef (core), bRef (core) {} ++}; ++ ++test test; +Index: gcc/testsuite/g++.dg/gomp/cancel-1.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/gomp/cancel-1.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/gomp/cancel-1.C (.../branches/gcc-8-branch) +@@ -0,0 +1,26 @@ ++// PR c++/88976 ++// { dg-do compile } ++ ++template void ++foo (T x) ++{ ++#pragma omp parallel ++ { ++ #pragma omp cancel parallel if (x) ++ } ++#pragma omp parallel ++ { ++ #pragma omp cancel parallel if (1 == 1) ++ } ++} ++ ++void ++bar (int x, double y, long long z) ++{ ++ foo (0); ++ foo (1LL); ++ foo (1.25); ++ foo (x); ++ foo (y); ++ foo (z); ++} +Index: gcc/testsuite/g++.dg/gomp/pr78363-4.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/gomp/pr78363-4.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/gomp/pr78363-4.C (.../branches/gcc-8-branch) +@@ -0,0 +1,18 @@ ++// { dg-do compile } ++// { dg-require-effective-target c++11 } ++// { dg-additional-options "-g" } ++ ++int main() ++{ ++ int n = 0; ++ ++#pragma omp parallel ++#pragma omp master ++#pragma omp parallel ++#pragma omp master ++#pragma omp parallel for reduction (+: n) ++ for (int i = [](){ return 3; }(); i < 10; ++i) ++ n++; ++ ++ return n; ++} +Index: gcc/testsuite/g++.dg/gomp/pr88949.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/gomp/pr88949.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/gomp/pr88949.C (.../branches/gcc-8-branch) +@@ -0,0 +1,23 @@ ++// PR c++/88949 ++// { dg-do compile } ++ ++struct A { ++ int a; ++ A (int x) : a (x) { ++#pragma omp parallel firstprivate (a) ++ --a; ++ } ++ void foo () { ++#pragma omp parallel firstprivate (a) ++ --a; ++ } ++}; ++ ++int c; ++ ++int ++main () ++{ ++ A d(c); ++ d.foo (); ++} +Index: gcc/testsuite/g++.dg/gomp/cancel-2.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/gomp/cancel-2.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/gomp/cancel-2.C (.../branches/gcc-8-branch) +@@ -0,0 +1,20 @@ ++// PR c++/88976 ++// { dg-do compile } ++ ++template void ++foo (T x) ++{ ++#pragma omp parallel ++ { ++ #pragma omp cancel parallel if (x) // { dg-error "no match for" } ++ } ++} ++ ++struct S {}; ++ ++void ++bar () ++{ ++ S s; ++ foo (s); ++} +Index: gcc/testsuite/g++.dg/gomp/pr78363-5.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/gomp/pr78363-5.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/gomp/pr78363-5.C (.../branches/gcc-8-branch) +@@ -0,0 +1,17 @@ ++// { dg-do compile } ++// { dg-require-effective-target c++11 } ++// { dg-additional-options "-g" } ++ ++int main() ++{ ++ int n = 0; ++#pragma omp task shared(n) ++#pragma omp target map(tofrom:n) ++#pragma omp for reduction (+: n) ++ for (int i = [](){ return 3; }(); i < 10; ++i) ++ n++; ++ if (n != 7) ++ __builtin_abort (); ++#pragma omp taskwait ++ return 0; ++} +Index: gcc/testsuite/g++.dg/gomp/cancel-3.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/gomp/cancel-3.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/gomp/cancel-3.C (.../branches/gcc-8-branch) +@@ -0,0 +1,12 @@ ++// { dg-do compile } ++ ++struct S { int s; } s; ++ ++void ++foo (void) ++{ ++ #pragma omp parallel ++ { ++ #pragma omp cancel parallel if (s) // { dg-error "could not convert 's' from 'S' to 'bool'" } ++ } ++} +Index: gcc/testsuite/g++.dg/gomp/pr78363-6.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/gomp/pr78363-6.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/gomp/pr78363-6.C (.../branches/gcc-8-branch) +@@ -0,0 +1,16 @@ ++// { dg-do compile } ++// { dg-require-effective-target c++11 } ++// { dg-additional-options "-g" } ++ ++int main() ++{ ++ int n = 0; ++#pragma omp parallel ++#pragma omp master ++#pragma omp task shared (n) ++ for (int i = [](){ return 3; }(); i < 10; ++i) ++ n = i; ++#pragma omp taskwait ++ if (n != 7) ++ __builtin_abort (); ++} +Index: gcc/testsuite/g++.dg/gomp/pr78363-7.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/gomp/pr78363-7.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/gomp/pr78363-7.C (.../branches/gcc-8-branch) +@@ -0,0 +1,15 @@ ++// { dg-do compile } ++// { dg-require-effective-target c++11 } ++// { dg-additional-options "-g" } ++ ++int main() ++{ ++ int n = 0; ++ ++#pragma omp target map(tofrom: n) ++#pragma omp parallel for reduction (+: n) ++ for (int i = [](){ return 3; }(); i < 10; ++i) ++ n++; ++ ++ return n; ++} +Index: gcc/testsuite/g++.dg/init/ptrfn4.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/init/ptrfn4.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/init/ptrfn4.C (.../branches/gcc-8-branch) +@@ -0,0 +1,19 @@ ++// { dg-do compile } ++// { dg-options "-Wmissing-braces" } ++ ++struct S { }; ++typedef void (S::*fptr1) (int); ++ ++struct A { ++ fptr1 f; ++}; ++ ++A a[] = ++{ ++ (fptr1) 0, ++}; // { dg-warning "missing braces around initializer" } ++ ++A a2[] = ++{ ++ { (fptr1) 0 } ++}; +Index: gcc/testsuite/g++.dg/other/vthunk1.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/other/vthunk1.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/other/vthunk1.C (.../branches/gcc-8-branch) +@@ -1,26 +0,0 @@ +-// PR c++/12007 Multiple inheritance float pass by value fails +-// { dg-do run } +- +-extern "C" void abort (void); +- +-class gvImpl +-{ +-public: +- virtual void PutVal(float value){} +-}; +- +-class foo { public: virtual void Bar(){} }; +- +-class myGv: public foo, public gvImpl +-{ +- void PutVal(float value){ if (value != 3.14159f) abort (); } +-}; +- +-myGv x; +-gvImpl* object = &x; +- +-int main() +-{ +- object->PutVal(3.14159f); +- return 0; +-} +Index: gcc/testsuite/g++.dg/other/thunk1.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/other/thunk1.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/other/thunk1.C (.../branches/gcc-8-branch) +@@ -0,0 +1,26 @@ ++// PR c++/12007 Multiple inheritance float pass by value fails ++// { dg-do run } ++ ++extern "C" void abort (void); ++ ++class gvImpl ++{ ++public: ++ virtual void PutVal(float value){} ++}; ++ ++class foo { public: virtual void Bar(){} }; ++ ++class myGv: public foo, public gvImpl ++{ ++ void PutVal(float value){ if (value != 3.14159f) abort (); } ++}; ++ ++myGv x; ++gvImpl* object = &x; ++ ++int main() ++{ ++ object->PutVal(3.14159f); ++ return 0; ++} +Index: gcc/testsuite/g++.dg/other/thunk2a.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/other/thunk2a.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/other/thunk2a.C (.../branches/gcc-8-branch) +@@ -0,0 +1,15 @@ ++// { dg-do compile { target arm*-*-* } } ++// { dg-options "-mlong-calls -ffunction-sections" } ++ ++class a { ++public: ++ virtual ~a(); ++}; ++ ++class b : virtual a {}; ++ ++class c : b { ++ ~c(); ++}; ++ ++c::~c() {} +Index: gcc/testsuite/g++.dg/other/pr86669.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/other/pr86669.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/other/pr86669.C (.../branches/gcc-8-branch) +@@ -0,0 +1,10 @@ ++// PR c++/86669 ++// { dg-do compile } ++ ++struct S { S (); }; ++struct T : public S {}; ++ ++S::S () ++{ ++ int *p = { (int *) &p }; ++} +Index: gcc/testsuite/g++.dg/other/thunk2b.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/other/thunk2b.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/other/thunk2b.C (.../branches/gcc-8-branch) +@@ -0,0 +1,16 @@ ++// { dg-do compile { target arm*-*-* } } ++// { dg-options "-mlong-calls -ffunction-sections" } ++// { dg-additional-options "-fPIC" { target fpic } } ++ ++class a { ++public: ++ virtual ~a(); ++}; ++ ++class b : virtual a {}; ++ ++class c : b { ++ ~c(); ++}; ++ ++c::~c() {} +Index: gcc/testsuite/g++.dg/tree-ssa/pr82294.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/tree-ssa/pr82294.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/tree-ssa/pr82294.C (.../branches/gcc-8-branch) +@@ -0,0 +1,13 @@ ++// PR c++/82294 ++// { dg-do compile { target c++11 } } ++// { dg-options "-O2 -fdump-tree-gimple" } ++ ++// Verify we don't "optimize" the ctor as copying a 1KB .rodata ++// object into the variable. It is better to initialize it through ++// a loop. ++// { dg-final { scan-tree-dump-not "this->arr = " "gimple" } } ++ ++struct S { int x; explicit constexpr S (); }; ++constexpr S::S () : x{7} {} ++struct T { S arr[256]; explicit T (); }; ++T::T () {} +Index: gcc/testsuite/g++.dg/tree-ssa/pr87436.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/tree-ssa/pr87436.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/tree-ssa/pr87436.C (.../branches/gcc-8-branch) +@@ -0,0 +1,25 @@ ++// PR c++/87436 ++// { dg-do compile { target { c++11 && size32plus } } } ++// { dg-options "-O2 -fdump-tree-gimple" } ++ ++// Verify we don't "optimize" the ctor as copying a 384MB .rodata ++// object into the variable. It is better to initialize it through ++// two nested loops. ++// { dg-final { scan-tree-dump-not "this->arr = " "gimple" } } ++ ++struct S { ++ int a = -1; ++ short b = 3; ++ int x = 0; ++ int y = 1; ++ int z = 42; ++ float f = 0.123f; ++}; ++ ++struct T { S arr[4096][4096]; }; ++ ++T * ++foo () ++{ ++ return new T; ++} +Index: gcc/testsuite/g++.dg/template/pr86706.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/template/pr86706.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/template/pr86706.C (.../branches/gcc-8-branch) +@@ -0,0 +1,16 @@ ++// PR c++/86706 ++// { dg-do compile } ++ ++class A { int b; }; ++ ++template ++class C : A { C (); static C *f; }; ++ ++template ++C *C::f; ++ ++template ++C::C () ++{ ++ f->b; ++} +Index: gcc/testsuite/g++.dg/pr88217.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/pr88217.C (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/g++.dg/pr88217.C (.../branches/gcc-8-branch) +@@ -0,0 +1,18 @@ ++// { dg-do compile { target c++11 } } ++// { dg-options "-O2 -fstrict-enums -fno-tree-forwprop -fno-tree-fre" } ++ ++extern "C" int printf (const char *, ...); ++ ++enum E { e1, e2, e3, X }; ++E operator*(E e) { return e; } ++E begin(E e) { return e; } ++E end(E e) { return X; } ++E operator++(E& e) { return e = E(e+1); } ++ ++int main() ++{ ++ for (auto e: e1) ++ { ++ printf ("%d ", e); ++ } ++} +Index: gcc/testsuite/c-c++-common/gomp/atomic-23.c +=================================================================== +--- a/src/gcc/testsuite/c-c++-common/gomp/atomic-23.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/c-c++-common/gomp/atomic-23.c (.../branches/gcc-8-branch) +@@ -0,0 +1,47 @@ ++/* PR middle-end/88968 */ ++/* { dg-do compile } */ ++ ++struct __attribute__((packed)) S { ++ unsigned int a : 16; ++ unsigned int b : 1; ++} s; ++ ++void ++f1 (void) ++{ ++#pragma omp atomic ++ ++s.a; ++} ++ ++int ++f2 (void) ++{ ++ int r; ++#pragma omp atomic capture ++ { ++ r = s.a; ++ s.a = 0; ++ } ++ return r; ++} ++ ++int ++f3 (void) ++{ ++ int r; ++#pragma omp atomic capture ++ { ++ r = s.a; ++ s.a = s.a + 32; ++ } ++ return r; ++} ++ ++int ++f4 (void) ++{ ++ int r; ++#pragma omp atomic capture ++ r = s.a = s.a + 32; ++ return r; ++} +Index: gcc/testsuite/c-c++-common/gomp/sink-3.c +=================================================================== +--- a/src/gcc/testsuite/c-c++-common/gomp/sink-3.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/c-c++-common/gomp/sink-3.c (.../branches/gcc-8-branch) +@@ -14,7 +14,7 @@ + for (i=0; i < 100; ++i) + { + #pragma omp ordered depend(sink:poo-1,paa+1) /* { dg-error "poo.*declared.*paa.*declared" } */ +- bar(&i); ++ bar(&i); /* { dg-error "may not be closely nested" "" { target *-*-* } .-1 } */ + #pragma omp ordered depend(source) + } + } +Index: gcc/testsuite/c-c++-common/gomp/schedule-modifiers-1.c +=================================================================== +--- a/src/gcc/testsuite/c-c++-common/gomp/schedule-modifiers-1.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/c-c++-common/gomp/schedule-modifiers-1.c (.../branches/gcc-8-branch) +@@ -80,21 +80,21 @@ + #pragma omp for schedule (nonmonotonic : auto) /* { dg-error ".nonmonotonic. modifier specified for .auto. schedule kind" } */ + for (i = 0; i < 64; i++) + ; +- #pragma omp for schedule (nonmonotonic, dynamic) ordered /* { dg-error ".nonmonotonic. schedule modifier specified together with .ordered. clause" } */ ++ #pragma omp for schedule (nonmonotonic : dynamic) ordered /* { dg-error ".nonmonotonic. schedule modifier specified together with .ordered. clause" } */ + for (i = 0; i < 64; i++) + #pragma omp ordered + ; +- #pragma omp for ordered schedule(nonmonotonic, dynamic, 5) /* { dg-error ".nonmonotonic. schedule modifier specified together with .ordered. clause" } */ ++ #pragma omp for ordered schedule(nonmonotonic : dynamic, 5) /* { dg-error ".nonmonotonic. schedule modifier specified together with .ordered. clause" } */ + for (i = 0; i < 64; i++) + #pragma omp ordered + ; +- #pragma omp for schedule (nonmonotonic, guided) ordered(1) /* { dg-error ".nonmonotonic. schedule modifier specified together with .ordered. clause" } */ ++ #pragma omp for schedule (nonmonotonic : guided) ordered(1) /* { dg-error ".nonmonotonic. schedule modifier specified together with .ordered. clause" } */ + for (i = 0; i < 64; i++) + { + #pragma omp ordered depend(sink: i - 1) + #pragma omp ordered depend(source) + } +- #pragma omp for ordered(1) schedule(nonmonotonic, guided, 2) /* { dg-error ".nonmonotonic. schedule modifier specified together with .ordered. clause" } */ ++ #pragma omp for ordered(1) schedule(nonmonotonic : guided, 2) /* { dg-error ".nonmonotonic. schedule modifier specified together with .ordered. clause" } */ + for (i = 0; i < 64; i++) + { + #pragma omp ordered depend(source) +Index: gcc/testsuite/c-c++-common/gomp/doacross-2.c +=================================================================== +--- a/src/gcc/testsuite/c-c++-common/gomp/doacross-2.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/c-c++-common/gomp/doacross-2.c (.../branches/gcc-8-branch) +@@ -0,0 +1,49 @@ ++/* PR middle-end/87649 */ ++ ++void ++foo (void) ++{ ++ int i; ++ #pragma omp for ordered(1) ++ for (i = 0; i < 64; i++) ++ { ++ #pragma omp ordered /* { dg-error "'ordered' region without 'depend' clause may not be closely nested inside a loop region with an 'ordered' clause with a parameter" } */ ++ ; ++ } ++ #pragma omp for ordered(1) ++ for (i = 0; i < 64; i++) ++ { ++ #pragma omp ordered threads /* { dg-error "'ordered' region without 'depend' clause may not be closely nested inside a loop region with an 'ordered' clause with a parameter" } */ ++ ; ++ } ++} ++ ++void ++bar (void) ++{ ++ int i; ++ #pragma omp for ordered ++ for (i = 0; i < 64; i++) ++ { ++ #pragma omp ordered depend(source) /* { dg-error "'ordered' construct with 'depend' clause must be closely nested inside a loop with 'ordered' clause with a parameter" } */ ++ #pragma omp ordered depend(sink: i - 1) /* { dg-error "'ordered' construct with 'depend' clause must be closely nested inside a loop with 'ordered' clause with a parameter" } */ ++ } ++ #pragma omp for ++ for (i = 0; i < 64; i++) ++ { ++ #pragma omp ordered depend(source) /* { dg-error "'ordered' construct with 'depend' clause must be closely nested inside a loop with 'ordered' clause with a parameter" } */ ++ #pragma omp ordered depend(sink: i - 1) /* { dg-error "'ordered' construct with 'depend' clause must be closely nested inside a loop with 'ordered' clause with a parameter" } */ ++ } ++ #pragma omp for ++ for (i = 0; i < 64; i++) ++ { ++ #pragma omp ordered /* { dg-error "'ordered' region must be closely nested inside a loop region with an 'ordered' clause" } */ ++ ; ++ } ++ #pragma omp for ++ for (i = 0; i < 64; i++) ++ { ++ #pragma omp ordered threads /* { dg-error "'ordered' region must be closely nested inside a loop region with an 'ordered' clause" } */ ++ ; ++ } ++} +Index: gcc/testsuite/c-c++-common/gomp/cancel-2.c +=================================================================== +--- a/src/gcc/testsuite/c-c++-common/gomp/cancel-2.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/c-c++-common/gomp/cancel-2.c (.../branches/gcc-8-branch) +@@ -0,0 +1,10 @@ ++/* { dg-do compile } */ ++ ++void ++foo (void) ++{ ++ #pragma omp parallel ++ { ++ #pragma omp cancel parallel if (1) if (1) /* { dg-error "too many 'if' clauses without modifier" } */ ++ } ++} +Index: gcc/testsuite/c-c++-common/ubsan/pr87837.c +=================================================================== +--- a/src/gcc/testsuite/c-c++-common/ubsan/pr87837.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/c-c++-common/ubsan/pr87837.c (.../branches/gcc-8-branch) +@@ -0,0 +1,18 @@ ++/* PR sanitizer/87837 */ ++/* { dg-do run } */ ++/* { dg-options "-fsanitize=signed-integer-overflow -Wno-unused-variable" } */ ++ ++int ++foo (int n) ++{ ++ return n + __INT_MAX__ < n; ++} ++ ++int ++main () ++{ ++ volatile int a = foo (1); ++ return 0; ++} ++ ++/* { dg-output "signed integer overflow: 1 \\+ 2147483647 cannot be represented in type 'int'" } */ +Index: gcc/testsuite/c-c++-common/ubsan/pr88215.c +=================================================================== +--- a/src/gcc/testsuite/c-c++-common/ubsan/pr88215.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/c-c++-common/ubsan/pr88215.c (.../branches/gcc-8-branch) +@@ -0,0 +1,11 @@ ++/* PR c++/88215 */ ++/* { dg-do compile } */ ++/* { dg-options "-fsanitize=integer-divide-by-zero" } */ ++ ++int ++foo (void) ++{ ++ int a = 2, __attribute__ ((__unused__)) b = 1; ++ int f = a / b; ++ return f; ++} +Index: gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-11.c +=================================================================== +--- a/src/gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-11.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/c-c++-common/ubsan/float-cast-overflow-11.c (.../branches/gcc-8-branch) +@@ -0,0 +1,10 @@ ++/* PR sanitizer/88426 */ ++/* { dg-do compile } */ ++/* { dg-options "-fsanitize=float-cast-overflow" } */ ++ ++int ++foo (void) ++{ ++ const float v = 0.0f; ++ return (int) (v < 0.0f ? v : 0.0f); ++} +Index: gcc/testsuite/c-c++-common/patchable_function_entry-definition.c +=================================================================== +--- a/src/gcc/testsuite/c-c++-common/patchable_function_entry-definition.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/c-c++-common/patchable_function_entry-definition.c (.../branches/gcc-8-branch) +@@ -1,8 +1,8 @@ + /* { dg-do compile { target { ! nvptx*-*-* } } } */ + /* { dg-options "-O2 -fpatchable-function-entry=3,1" } */ +-/* { dg-final { scan-assembler-times "nop" 1 { target { ! { alpha*-*-* visium-*-* } } } } } */ ++/* { dg-additional-options "-mcpu=gr6" { target visium-*-* } } ++/* { dg-final { scan-assembler-times "nop" 1 { target { ! { alpha*-*-* } } } } } */ + /* { dg-final { scan-assembler-times "bis" 1 { target alpha*-*-* } } } */ +-/* { dg-final { scan-assembler-times "nop" 2 { target visium-*-* } } } */ + + extern int a; + +Index: gcc/testsuite/c-c++-common/asan/pointer-subtract-4.c +=================================================================== +--- a/src/gcc/testsuite/c-c++-common/asan/pointer-subtract-4.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/c-c++-common/asan/pointer-subtract-4.c (.../branches/gcc-8-branch) +@@ -1,4 +1,5 @@ + /* { dg-do run { target pthread_h } } */ ++/* { dg-skip-if "no pthread_barrier" { *-*-darwin* } } */ + /* { dg-shouldfail "asan" } */ + /* { dg-set-target-env-var ASAN_OPTIONS "detect_invalid_pointer_pairs=2:halt_on_error=1" } */ + /* { dg-options "-fsanitize=address,pointer-subtract" } */ +Index: gcc/testsuite/c-c++-common/asan/pointer-subtract-3.c +=================================================================== +--- a/src/gcc/testsuite/c-c++-common/asan/pointer-subtract-3.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/c-c++-common/asan/pointer-subtract-3.c (.../branches/gcc-8-branch) +@@ -1,4 +1,5 @@ + /* { dg-do run { target pthread_h } } */ ++/* { dg-skip-if "no pthread_barrier" { *-*-darwin* } } */ + /* { dg-set-target-env-var ASAN_OPTIONS "detect_invalid_pointer_pairs=2:halt_on_error=1" } */ + /* { dg-options "-fsanitize=address,pointer-subtract" } */ + /* { dg-additional-options "-pthread" { target pthread } } */ +Index: gcc/testsuite/c-c++-common/asan/pr89124.c +=================================================================== +--- a/src/gcc/testsuite/c-c++-common/asan/pr89124.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/c-c++-common/asan/pr89124.c (.../branches/gcc-8-branch) +@@ -0,0 +1,14 @@ ++/* PR sanitizer/89124 */ ++/* { dg-do compile } */ ++ ++static int inline __attribute__ ((always_inline)) ++foo (int x) ++{ ++ return x + 1; ++} ++ ++__attribute__ ((no_sanitize_address)) int ++bar (int x) ++{ ++ return foo (x); ++} +Index: gcc/testsuite/c-c++-common/patchable_function_entry-decl.c +=================================================================== +--- a/src/gcc/testsuite/c-c++-common/patchable_function_entry-decl.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/c-c++-common/patchable_function_entry-decl.c (.../branches/gcc-8-branch) +@@ -1,8 +1,8 @@ + /* { dg-do compile { target { ! nvptx*-*-* } } } */ + /* { dg-options "-O2 -fpatchable-function-entry=3,1" } */ +-/* { dg-final { scan-assembler-times "nop" 2 { target { ! { alpha*-*-* visium-*-* } } } } } */ ++/* { dg-additional-options "-mcpu=gr6" { target visium-*-* } } ++/* { dg-final { scan-assembler-times "nop" 2 { target { ! { alpha*-*-* } } } } } */ + /* { dg-final { scan-assembler-times "bis" 2 { target alpha*-*-* } } } */ +-/* { dg-final { scan-assembler-times "nop" 3 { target visium-*-* } } } */ + + extern int a; + +Index: gcc/testsuite/c-c++-common/torture/asm-inline.c +=================================================================== +--- a/src/gcc/testsuite/c-c++-common/torture/asm-inline.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/c-c++-common/torture/asm-inline.c (.../branches/gcc-8-branch) +@@ -0,0 +1,53 @@ ++/* { dg-do compile } */ ++/* -O0 does no inlining, and -O3 does it too aggressively for this test: */ ++/* { dg-skip-if "" { *-*-* } { "-O0" "-O3" } { "" } } ++/* The normal asm is not inlined: */ ++/* { dg-final { scan-assembler-times "w.w.w.w.w.w.w.w.w.w.w.w.w.w.w.w.w.w.w.w.w.w.w.w.w.w.w.w.w.w" 2 } } */ ++/* But the asm inline is inlined: */ ++/* { dg-final { scan-assembler-times "x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x.x" 8 } } */ ++ ++static void f(void) ++{ ++ asm ("w\nw\nw\nw\nw\nw\nw\nw\nw\nw\nw\nw\nw\nw\nw\n" ++ "w\nw\nw\nw\nw\nw\nw\nw\nw\nw\nw\nw\nw\nw\nw"); ++} ++ ++int f0(void) { f(); return 0; } ++int f1(void) { f(); return 1; } ++int f2(void) { f(); return 2; } ++int f3(void) { f(); return 3; } ++ ++static void fg(void) ++{ ++ asm goto("w\nw\nw\nw\nw\nw\nw\nw\nw\nw\nw\nw\nw\nw\nw\n" ++ "w\nw\nw\nw\nw\nw\nw\nw\nw\nw\nw\nw\nw\nw\nw" :::: q); ++ q: ; ++} ++ ++int fg0(void) { fg(); return 0; } ++int fg1(void) { fg(); return 1; } ++int fg2(void) { fg(); return 2; } ++int fg3(void) { fg(); return 3; } ++ ++static void g(void) ++{ ++ asm inline("x\nx\nx\nx\nx\nx\nx\nx\nx\nx\nx\nx\nx\nx\nx\n" ++ "x\nx\nx\nx\nx\nx\nx\nx\nx\nx\nx\nx\nx\nx\nx"); ++} ++ ++int g0(void) { g(); return 0; } ++int g1(void) { g(); return 1; } ++int g2(void) { g(); return 2; } ++int g3(void) { g(); return 3; } ++ ++static void gg(void) ++{ ++ asm inline goto("x\nx\nx\nx\nx\nx\nx\nx\nx\nx\nx\nx\nx\nx\nx\n" ++ "x\nx\nx\nx\nx\nx\nx\nx\nx\nx\nx\nx\nx\nx\nx" :::: q); ++ q: ; ++} ++ ++int gg0(void) { gg(); return 0; } ++int gg1(void) { gg(); return 1; } ++int gg2(void) { gg(); return 2; } ++int gg3(void) { gg(); return 3; } +Index: gcc/testsuite/c-c++-common/torture/pr87248.c +=================================================================== +--- a/src/gcc/testsuite/c-c++-common/torture/pr87248.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/c-c++-common/torture/pr87248.c (.../branches/gcc-8-branch) +@@ -0,0 +1,36 @@ ++/* PR middle-end/87248 */ ++/* { dg-do run } */ ++ ++void ++foo (signed char *p, int q) ++{ ++ *p = q & (-__SCHAR_MAX__ - 1) ? (-__SCHAR_MAX__ - 1) : 0; ++} ++ ++int ++bar (long long x) ++{ ++ return x & (-__INT_MAX__ - 1) ? (-__INT_MAX__ - 1) : 0; ++} ++ ++int ++main () ++{ ++#if __INT_MAX__ > 4 * __SCHAR_MAX__ ++ signed char a[4]; ++ foo (a, __SCHAR_MAX__ + 1U); ++ foo (a + 1, 2 * (__SCHAR_MAX__ + 1U)); ++ foo (a + 2, -__INT_MAX__ - 1); ++ foo (a + 3, (__SCHAR_MAX__ + 1U) / 2); ++ if (a[0] != (-__SCHAR_MAX__ - 1) || a[1] != a[0] || a[2] != a[0] || a[3] != 0) ++ __builtin_abort (); ++#endif ++#if __LONG_LONG_MAX__ > 4 * __INT_MAX__ ++ if (bar (__INT_MAX__ + 1LL) != (-__INT_MAX__ - 1) ++ || bar (2 * (__INT_MAX__ + 1LL)) != (-__INT_MAX__ - 1) ++ || bar (-__LONG_LONG_MAX__ - 1) != (-__INT_MAX__ - 1) ++ || bar ((__INT_MAX__ + 1LL) / 2) != 0) ++ __builtin_abort (); ++#endif ++ return 0; ++} +Index: gcc/testsuite/c-c++-common/patchable_function_entry-default.c +=================================================================== +--- a/src/gcc/testsuite/c-c++-common/patchable_function_entry-default.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/testsuite/c-c++-common/patchable_function_entry-default.c (.../branches/gcc-8-branch) +@@ -1,8 +1,8 @@ + /* { dg-do compile { target { ! nvptx*-*-* } } } */ + /* { dg-options "-O2 -fpatchable-function-entry=3,1" } */ +-/* { dg-final { scan-assembler-times "nop" 3 { target { ! { alpha*-*-* visium-*-* } } } } } */ ++/* { dg-additional-options "-mcpu=gr6" { target visium-*-* } } ++/* { dg-final { scan-assembler-times "nop" 3 { target { ! { alpha*-*-* } } } } } */ + /* { dg-final { scan-assembler-times "bis" 3 { target alpha*-*-* } } } */ +-/* { dg-final { scan-assembler-times "nop" 4 { target visium-*-* } } } */ + + extern int a; + +Index: gcc/cp/typeck.c +=================================================================== +--- a/src/gcc/cp/typeck.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/cp/typeck.c (.../branches/gcc-8-branch) +@@ -2421,7 +2421,13 @@ + { + tree temp = unary_complex_lvalue (ADDR_EXPR, object); + if (temp) +- object = cp_build_fold_indirect_ref (temp); ++ { ++ temp = cp_build_fold_indirect_ref (temp); ++ if (xvalue_p (object) && !xvalue_p (temp)) ++ /* Preserve xvalue kind. */ ++ temp = move (temp); ++ object = temp; ++ } + } + + /* In [expr.ref], there is an explicit list of the valid choices for +@@ -2788,7 +2794,12 @@ + expression is dependent. */ + || (TREE_CODE (name) == SCOPE_REF + && TYPE_P (TREE_OPERAND (name, 0)) +- && dependent_scope_p (TREE_OPERAND (name, 0)))) ++ && dependent_scope_p (TREE_OPERAND (name, 0))) ++ /* If NAME is operator T where "T" is dependent, we can't ++ lookup until we instantiate the T. */ ++ || (TREE_CODE (name) == IDENTIFIER_NODE ++ && IDENTIFIER_CONV_OP_P (name) ++ && dependent_type_p (TREE_TYPE (name)))) + { + dependent: + return build_min_nt_loc (UNKNOWN_LOCATION, COMPONENT_REF, +@@ -4826,7 +4837,7 @@ + tree pfn0, delta0, e1, e2; + + if (TREE_SIDE_EFFECTS (op0)) +- op0 = save_expr (op0); ++ op0 = cp_save_expr (op0); + + pfn0 = pfn_from_ptrmemfunc (op0); + delta0 = delta_from_ptrmemfunc (op0); +@@ -5108,6 +5119,7 @@ + } + + if ((code0 == POINTER_TYPE || code1 == POINTER_TYPE) ++ && !processing_template_decl + && sanitize_flags_p (SANITIZE_POINTER_COMPARE)) + { + op0 = save_expr (op0); +@@ -5353,6 +5365,7 @@ + otherwise, it will be given type RESULT_TYPE. */ + if (! converted) + { ++ warning_sentinel w (warn_sign_conversion, short_compare); + if (TREE_TYPE (op0) != result_type) + op0 = cp_convert_and_check (result_type, op0, complain); + if (TREE_TYPE (op1) != result_type) +@@ -5519,7 +5532,8 @@ + else + inttype = restype; + +- if (sanitize_flags_p (SANITIZE_POINTER_SUBTRACT)) ++ if (!processing_template_decl ++ && sanitize_flags_p (SANITIZE_POINTER_SUBTRACT)) + { + op0 = save_expr (op0); + op1 = save_expr (op1); +@@ -9066,6 +9080,22 @@ + && !(TREE_STATIC (whats_returned) + || TREE_PUBLIC (whats_returned))) + { ++ if (VAR_P (whats_returned) ++ && DECL_DECOMPOSITION_P (whats_returned) ++ && DECL_DECOMP_BASE (whats_returned) ++ && DECL_HAS_VALUE_EXPR_P (whats_returned)) ++ { ++ /* When returning address of a structured binding, if the structured ++ binding is not a reference, continue normally, if it is a ++ reference, recurse on the initializer of the structured ++ binding. */ ++ tree base = DECL_DECOMP_BASE (whats_returned); ++ if (TREE_CODE (TREE_TYPE (base)) == REFERENCE_TYPE) ++ { ++ tree init = DECL_INITIAL (base); ++ return maybe_warn_about_returning_address_of_local (init); ++ } ++ } + if (TREE_CODE (valtype) == REFERENCE_TYPE) + warning_at (DECL_SOURCE_LOCATION (whats_returned), + OPT_Wreturn_local_addr, +Index: gcc/cp/optimize.c +=================================================================== +--- a/src/gcc/cp/optimize.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/cp/optimize.c (.../branches/gcc-8-branch) +@@ -46,6 +46,8 @@ + /* We may have taken its address. */ + TREE_ADDRESSABLE (cloned_parm) = TREE_ADDRESSABLE (parm); + ++ DECL_BY_REFERENCE (cloned_parm) = DECL_BY_REFERENCE (parm); ++ + /* The definition might have different constness. */ + TREE_READONLY (cloned_parm) = TREE_READONLY (parm); + +@@ -59,7 +61,26 @@ + DECL_GIMPLE_REG_P (cloned_parm) = DECL_GIMPLE_REG_P (parm); + } + ++/* Like copy_decl_no_change, but handle DECL_OMP_PRIVATIZED_MEMBER ++ properly. */ + ++static tree ++cxx_copy_decl (tree decl, copy_body_data *id) ++{ ++ tree copy = copy_decl_no_change (decl, id); ++ if (VAR_P (decl) ++ && DECL_HAS_VALUE_EXPR_P (decl) ++ && DECL_ARTIFICIAL (decl) ++ && DECL_LANG_SPECIFIC (decl) ++ && DECL_OMP_PRIVATIZED_MEMBER (decl)) ++ { ++ tree expr = DECL_VALUE_EXPR (copy); ++ walk_tree (&expr, copy_tree_body_r, id, NULL); ++ SET_DECL_VALUE_EXPR (copy, expr); ++ } ++ return copy; ++} ++ + /* FN is a function in High GIMPLE form that has a complete body and no + CFG. CLONE is a function whose body is to be set to a copy of FN, + mapping argument declarations according to the ARG_MAP splay_tree. */ +@@ -78,7 +99,7 @@ + id.src_cfun = DECL_STRUCT_FUNCTION (fn); + id.decl_map = static_cast *> (arg_map); + +- id.copy_decl = copy_decl_no_change; ++ id.copy_decl = cxx_copy_decl; + id.transform_call_graph_edges = CB_CGE_DUPLICATE; + id.transform_new_cfg = true; + id.transform_return_to_modify = false; +@@ -386,6 +407,8 @@ + gcc_assert (clone_parm); + DECL_ABSTRACT_ORIGIN (clone_parm) = NULL; + args[parmno] = clone_parm; ++ /* Clear TREE_ADDRESSABLE on thunk arguments. */ ++ TREE_ADDRESSABLE (clone_parm) = 0; + clone_parm = TREE_CHAIN (clone_parm); + } + if (fn_parm_typelist) +Index: gcc/cp/init.c +=================================================================== +--- a/src/gcc/cp/init.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/cp/init.c (.../branches/gcc-8-branch) +@@ -4022,7 +4022,7 @@ + tree compound_stmt; + int destroy_temps; + tree try_block = NULL_TREE; +- int num_initialized_elts = 0; ++ HOST_WIDE_INT num_initialized_elts = 0; + bool is_global; + tree obase = base; + bool xvalue = false; +@@ -4457,10 +4457,13 @@ + + if (e) + { +- int max = tree_to_shwi (maxindex)+1; +- for (; num_initialized_elts < max; ++num_initialized_elts) ++ HOST_WIDE_INT last = tree_to_shwi (maxindex); ++ if (num_initialized_elts <= last) + { + tree field = size_int (num_initialized_elts); ++ if (num_initialized_elts != last) ++ field = build2 (RANGE_EXPR, sizetype, field, ++ size_int (last)); + CONSTRUCTOR_APPEND_ELT (const_vec, field, e); + } + } +Index: gcc/cp/class.c +=================================================================== +--- a/src/gcc/cp/class.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/cp/class.c (.../branches/gcc-8-branch) +@@ -278,6 +278,9 @@ + probe = TYPE_MAIN_VARIANT (TREE_TYPE (expr)); + if (want_pointer) + probe = TYPE_MAIN_VARIANT (TREE_TYPE (probe)); ++ if (dependent_type_p (probe)) ++ if (tree open = currently_open_class (probe)) ++ probe = open; + + if (code == PLUS_EXPR + && !SAME_BINFO_TYPE_P (BINFO_TYPE (d_binfo), probe)) +@@ -1954,6 +1957,7 @@ + unsigned align = TYPE_ALIGN (t); + bool user_align = TYPE_USER_ALIGN (t); + bool may_alias = lookup_attribute ("may_alias", attrs); ++ bool packed = TYPE_PACKED (t); + + if (may_alias) + fixup_may_alias (t); +@@ -1971,6 +1975,7 @@ + else + TYPE_USER_ALIGN (variants) = user_align; + SET_TYPE_ALIGN (variants, valign); ++ TYPE_PACKED (variants) = packed; + if (may_alias) + fixup_may_alias (variants); + } +@@ -6243,6 +6248,7 @@ + bitsize_int (BITS_PER_UNIT))); + SET_TYPE_ALIGN (base_t, rli->record_align); + TYPE_USER_ALIGN (base_t) = TYPE_USER_ALIGN (t); ++ TYPE_TYPELESS_STORAGE (base_t) = TYPE_TYPELESS_STORAGE (t); + + /* Copy the non-static data members of T. This will include its + direct non-virtual bases & vtable. */ +@@ -7031,6 +7037,20 @@ + else if (DECL_DECLARES_FUNCTION_P (x)) + DECL_IN_AGGR_P (x) = false; + ++ /* Also add a USING_DECL for operator=. We know there'll be (at ++ least) one, but we don't know the signature(s). We want name ++ lookup not to fail or recurse into bases. This isn't added ++ to the template decl list so we drop this at instantiation ++ time. */ ++ tree ass_op = build_lang_decl (USING_DECL, assign_op_identifier, ++ NULL_TREE); ++ DECL_CONTEXT (ass_op) = t; ++ USING_DECL_SCOPE (ass_op) = t; ++ DECL_DEPENDENT_P (ass_op) = true; ++ DECL_ARTIFICIAL (ass_op) = true; ++ DECL_CHAIN (ass_op) = TYPE_FIELDS (t); ++ TYPE_FIELDS (t) = ass_op; ++ + TYPE_SIZE (t) = bitsize_zero_node; + TYPE_SIZE_UNIT (t) = size_zero_node; + /* COMPLETE_TYPE_P is now true. */ +Index: gcc/cp/decl.c +=================================================================== +--- a/src/gcc/cp/decl.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/cp/decl.c (.../branches/gcc-8-branch) +@@ -6134,20 +6134,29 @@ + { + if (TREE_CODE (init) == CONSTRUCTOR) + { +- if (TREE_TYPE (init) && TYPE_PTRMEMFUNC_P (TREE_TYPE (init))) +- /* There is no need to reshape pointer-to-member function +- initializers, as they are always constructed correctly +- by the front end. */ +- ; +- else if (COMPOUND_LITERAL_P (init)) ++ tree init_type = TREE_TYPE (init); ++ if (init_type && TYPE_PTRMEMFUNC_P (init_type)) ++ /* There is no need to call reshape_init for pointer-to-member ++ function initializers, as they are always constructed correctly ++ by the front end. Here we have e.g. {.__pfn=0B, .__delta=0}, ++ which is missing outermost braces. We should warn below, and ++ one of the routines below will wrap it in additional { }. */; + /* For a nested compound literal, there is no need to reshape since +- brace elision is not allowed. Even if we decided to allow it, +- we should add a call to reshape_init in finish_compound_literal, +- before calling digest_init, so changing this code would still +- not be necessary. */ +- gcc_assert (!BRACE_ENCLOSED_INITIALIZER_P (init)); ++ we called reshape_init in finish_compound_literal, before calling ++ digest_init. */ ++ else if (COMPOUND_LITERAL_P (init) ++ /* Similarly, a CONSTRUCTOR of the target's type is a ++ previously digested initializer. */ ++ || same_type_ignoring_top_level_qualifiers_p (type, ++ init_type)) ++ { ++ ++d->cur; ++ gcc_assert (!BRACE_ENCLOSED_INITIALIZER_P (init)); ++ return init; ++ } + else + { ++ /* Something that hasn't been reshaped yet. */ + ++d->cur; + gcc_assert (BRACE_ENCLOSED_INITIALIZER_P (init)); + return reshape_init (type, init, complain); +@@ -15557,6 +15566,18 @@ + tree stmt = cp_build_modify_expr (input_location, vtbl_ptr, + NOP_EXPR, vtbl, + tf_warning_or_error); ++ /* If the vptr is shared with some virtual nearly empty base, ++ don't clear it if not in charge, the dtor of the virtual ++ nearly empty base will do that later. */ ++ if (CLASSTYPE_VBASECLASSES (current_class_type) ++ && CLASSTYPE_PRIMARY_BINFO (current_class_type) ++ && BINFO_VIRTUAL_P ++ (CLASSTYPE_PRIMARY_BINFO (current_class_type))) ++ { ++ stmt = convert_to_void (stmt, ICV_STATEMENT, ++ tf_warning_or_error); ++ stmt = build_if_in_charge (stmt); ++ } + finish_decl_cleanup (NULL_TREE, stmt); + } + else +Index: gcc/cp/method.c +=================================================================== +--- a/src/gcc/cp/method.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/cp/method.c (.../branches/gcc-8-branch) +@@ -1144,11 +1144,11 @@ + constructible_expr (tree to, tree from) + { + tree expr; ++ cp_unevaluated cp_uneval_guard; + if (CLASS_TYPE_P (to)) + { + tree ctype = to; + vec *args = NULL; +- cp_unevaluated cp_uneval_guard; + if (TREE_CODE (to) != REFERENCE_TYPE) + to = cp_build_reference_type (to, /*rval*/false); + tree ob = build_stub_object (to); +@@ -1843,8 +1843,12 @@ + if (!informed) + { + tree parms = FUNCTION_FIRST_USER_PARMTYPE (decl); +- tree parm_type = TREE_VALUE (parms); +- bool const_p = CP_TYPE_CONST_P (non_reference (parm_type)); ++ bool const_p = false; ++ if (parms) ++ { ++ tree parm_type = TREE_VALUE (parms); ++ const_p = CP_TYPE_CONST_P (non_reference (parm_type)); ++ } + tree raises = NULL_TREE; + bool deleted_p = false; + tree scope = push_scope (ctype); +@@ -2405,7 +2409,7 @@ + + /* Add it to the class */ + bool added = add_method (type, fn, false); +- gcc_assert (added); ++ gcc_assert (added || errorcount); + + /* Add it to TYPE_FIELDS. */ + if (sfk == sfk_destructor +Index: gcc/cp/constexpr.c +=================================================================== +--- a/src/gcc/cp/constexpr.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/cp/constexpr.c (.../branches/gcc-8-branch) +@@ -1252,6 +1252,8 @@ + /* Avoid wrapping an aggregate value in a NOP_EXPR. */ + if (TREE_CODE (temp) == CONSTRUCTOR) + return build_constructor (type, CONSTRUCTOR_ELTS (temp)); ++ if (TREE_CODE (temp) == EMPTY_CLASS_EXPR) ++ return build0 (EMPTY_CLASS_EXPR, type); + gcc_assert (scalarish_type_p (type)); + return cp_fold_convert (type, temp); + } +@@ -2066,6 +2068,7 @@ + { + if (!ctx->quiet) + error ("arithmetic involving a null pointer in %qE", lhs); ++ *non_constant_p = true; + return t; + } + else if (code == POINTER_PLUS_EXPR) +@@ -2506,9 +2509,13 @@ + lval, + non_constant_p, overflow_p); + if (INDIRECT_REF_P (whole) +- && integer_zerop (TREE_OPERAND (whole, 0)) +- && !ctx->quiet) +- error ("dereferencing a null pointer in %qE", orig_whole); ++ && integer_zerop (TREE_OPERAND (whole, 0))) ++ { ++ if (!ctx->quiet) ++ error ("dereferencing a null pointer in %qE", orig_whole); ++ *non_constant_p = true; ++ return t; ++ } + + if (TREE_CODE (whole) == PTRMEM_CST) + whole = cplus_expand_constant (whole); +@@ -2989,6 +2996,9 @@ + { + /* Initializing an element using value or default initialization + we just pre-built above. */ ++ if (init == void_node) ++ /* Trivial default-init, don't do anything to the CONSTRUCTOR. */ ++ return ctx->ctor; + eltinit = cxx_eval_constant_expression (&new_ctx, init, lval, + non_constant_p, overflow_p); + reuse = i == 0; +@@ -3926,6 +3936,16 @@ + for (i = tsi_start (t); !tsi_end_p (i); tsi_next (&i)) + { + tree stmt = tsi_stmt (i); ++ /* We've found a continue, so skip everything until we reach ++ the label its jumping to. */ ++ if (continues (jump_target)) ++ { ++ if (label_matches (ctx, jump_target, stmt)) ++ /* Found it. */ ++ *jump_target = NULL_TREE; ++ else ++ continue; ++ } + if (TREE_CODE (stmt) == DEBUG_BEGIN_STMT) + continue; + r = cxx_eval_constant_expression (ctx, stmt, false, +@@ -3993,13 +4013,13 @@ + bool *non_constant_p, bool *overflow_p, + tree *jump_target) + { +- tree cond = TREE_OPERAND (t, 0); ++ tree cond = SWITCH_COND (t); + cond = cxx_eval_constant_expression (ctx, cond, false, + non_constant_p, overflow_p); + VERIFY_CONSTANT (cond); + *jump_target = cond; + +- tree body = TREE_OPERAND (t, 1); ++ tree body = SWITCH_BODY (t); + constexpr_ctx new_ctx = *ctx; + constexpr_switch_state css = css_default_not_seen; + new_ctx.css_state = &css; +@@ -4528,6 +4548,7 @@ + case COND_EXPR: + if (jump_target && *jump_target) + { ++ tree orig_jump = *jump_target; + /* When jumping to a label, the label might be either in the + then or else blocks, so process then block first in skipping + mode first, and if we are still in the skipping mode at its end, +@@ -4535,7 +4556,19 @@ + r = cxx_eval_constant_expression (ctx, TREE_OPERAND (t, 1), + lval, non_constant_p, overflow_p, + jump_target); +- if (*jump_target) ++ /* It's possible that we found the label in the then block. But ++ it could have been followed by another jumping statement, e.g. ++ say we're looking for case 1: ++ if (cond) ++ { ++ // skipped statements ++ case 1:; // clears up *jump_target ++ return 1; // and sets it to a RETURN_EXPR ++ } ++ else { ... } ++ in which case we need not go looking to the else block. ++ (goto is not allowed in a constexpr function.) */ ++ if (*jump_target == orig_jump) + r = cxx_eval_constant_expression (ctx, TREE_OPERAND (t, 2), + lval, non_constant_p, overflow_p, + jump_target); +@@ -4551,7 +4584,7 @@ + break; + + case CONSTRUCTOR: +- if (TREE_CONSTANT (t)) ++ if (TREE_CONSTANT (t) && reduced_constant_expression_p (t)) + { + /* Don't re-process a constant CONSTRUCTOR, but do fold it to + VECTOR_CST if applicable. */ +Index: gcc/cp/tree.c +=================================================================== +--- a/src/gcc/cp/tree.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/cp/tree.c (.../branches/gcc-8-branch) +@@ -4956,6 +4956,14 @@ + } + break; + ++ case LAMBDA_EXPR: ++ /* Don't walk into the body of the lambda, but the capture initializers ++ are part of the enclosing context. */ ++ for (tree cap = LAMBDA_EXPR_CAPTURE_LIST (*tp); cap; ++ cap = TREE_CHAIN (cap)) ++ WALK_SUBTREE (TREE_VALUE (cap)); ++ break; ++ + default: + return NULL_TREE; + } +Index: gcc/cp/ChangeLog +=================================================================== +--- a/src/gcc/cp/ChangeLog (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/cp/ChangeLog (.../branches/gcc-8-branch) +@@ -1,3 +1,385 @@ ++2019-02-08 Jason Merrill ++ ++ PR c++/88761 - ICE with reference capture of constant. ++ * lambda.c (mark_const_cap_r): Do walk subtrees of DECL_EXPR for ++ non-proxy decls. ++ ++ PR c++/88752 - ICE with lambda and constexpr if. ++ * cp-tree.h (LAMBDA_EXPR_INSTANTIATED): New. ++ * pt.c (tsubst_lambda_expr): Set it. ++ (instantiated_lambda_fn_p): Check it. ++ (enclosing_instantiation_of): Use it. ++ ++ PR c++/86943 - wrong code converting generic lambda to pointer. ++ * pt.c (tsubst_copy_and_build): Don't propagate CALL_FROM_THUNK_P. ++ ++2019-02-07 Jakub Jelinek ++ ++ Backported from mainline ++ 2019-02-05 Jakub Jelinek ++ ++ PR c++/89187 ++ * optimize.c (maybe_thunk_body): Clear TREE_ADDRESSABLE on ++ PARM_DECLs of the thunk. ++ * lambda.c (maybe_add_lambda_conv_op): Likewise. ++ ++ 2019-01-30 Jakub Jelinek ++ ++ PR c++/88988 ++ * lambda.c (is_capture_proxy): Don't return true for ++ DECL_OMP_PRIVATIZED_MEMBER artificial vars. ++ ++ 2019-01-24 Jakub Jelinek ++ ++ PR c++/88976 ++ * semantics.c (finish_omp_cancel): Use maybe_convert_cond when not in ++ template or build_x_binary_op otherwise. ++ ++ 2019-01-21 Jakub Jelinek ++ ++ PR c++/88949 ++ * optimize.c (cxx_copy_decl): New function. ++ (clone_body): Use it instead of copy_decl_no_change. ++ ++ PR sanitizer/88901 ++ * typeck.c (cp_build_binary_op): Don't instrument ++ SANITIZE_POINTER_COMPARE if processing_template_decl. ++ (pointer_diff): Similarly for SANITIZE_POINTER_SUBTRACT. ++ ++2019-02-06 Marek Polacek ++ ++ Backport from mainline ++ 2019-02-05 Marek Polacek ++ ++ PR c++/89158 - by-value capture of constexpr variable broken. ++ * call.c (convert_like_real) : Call mark_exp_read ++ instead of mark_rvalue_use. ++ ++ Backport from mainline ++ 2019-01-31 Marek Polacek ++ ++ PR c++/88983 - ICE with switch in constexpr function. ++ * constexpr.c (cxx_eval_switch_expr): Use SWITCH_COND and SWITCH_BODY. ++ (cxx_eval_constant_expression) : Don't look for the ++ label in the else branch if we found it in the then branch. ++ ++ Backport from mainline ++ 2019-01-30 Marek Polacek ++ ++ PR c++/89119 - ICE with value-initialization in template. ++ * pt.c (tsubst_copy_and_build): Handle RANGE_EXPR. ++ ++ Backport from mainline ++ 2019-01-27 Marek Polacek ++ ++ PR c++/89024 - ICE with incomplete enum type. ++ * call.c (standard_conversion): When converting an ++ ARITHMETIC_TYPE_P to an incomplete type, return NULL. ++ ++2019-02-05 Marek Polacek ++ ++ Backported from mainline ++ 2019-01-31 Marek Polacek ++ ++ PR c++/89083, c++/80864 - ICE with list initialization in template. ++ * decl.c (reshape_init_r): Don't reshape a digested initializer. ++ Return the initializer for COMPOUND_LITERAL_P. ++ ++2019-01-27 Jason Merrill ++ ++ PR c++/86740, ICE with constexpr if and nested generic lambdas. ++ * tree.c (cp_walk_subtrees): Handle LAMBDA_EXPR. ++ ++ PR c++/87075 - ICE with constexpr array initialization. ++ * constexpr.c (cxx_eval_vec_init_1): Handle trivial initialization. ++ ++ * pt.c (tsubst) [TEMPLATE_TYPE_PARM]: Use TEMPLATE_PARM_DESCENDANTS. ++ ++2019-01-17 Nathan Sidwell ++ ++ PR c++/86610 ++ * semantics.c (process_outer_var_ref): Only skip dependent types ++ in templates. ++ ++2019-01-08 Jakub Jelinek ++ ++ Backported from mainline ++ 2018-12-20 Jakub Jelinek ++ ++ PR c++/88180 ++ * parser.c (cp_parser_class_specifier_1): If ++ cp_parser_check_type_definition fails, skip default arguments, NSDMIs, ++ etc. like for erroneous template args. ++ ++ 2018-12-19 Jakub Jelinek ++ ++ PR c++/87934 ++ * constexpr.c (cxx_eval_constant_expression) : Do ++ re-process TREE_CONSTANT CONSTRUCTORs if they aren't reduced constant ++ expressions. ++ ++ 2018-12-17 Jakub Jelinek ++ ++ PR c++/88410 ++ * cp-gimplify.c (cp_fold) : For offsetof-like folding, ++ call maybe_constant_value on val to see if it is INTEGER_CST. ++ ++ 2018-12-14 Jakub Jelinek ++ ++ PR c++/82294 ++ PR c++/87436 ++ * init.c (build_vec_init): Change num_initialized_elts type from int ++ to HOST_WIDE_INT. Build a RANGE_EXPR if e needs to be repeated more ++ than once. ++ ++ 2018-12-07 Jakub Jelinek ++ ++ PR c++/86669 ++ * call.c (make_temporary_var_for_ref_to_temp): Call pushdecl even for ++ automatic vars. ++ ++ PR c++/87506 ++ * constexpr.c (adjust_temp_type): Handle EMPTY_CLASS_EXPR. ++ ++ 2018-12-04 Jakub Jelinek ++ ++ PR c++/88103 ++ * typeck.c (build_class_member_access_expr): If unary_complex_lvalue ++ turned xvalue_p into non-xvalue_p, call move on it. ++ ++ 2018-11-27 Jakub Jelinek ++ ++ PR c++/88181 ++ * class.c (fixup_attribute_variants): Also propagate TYPE_PACKED ++ to variants. ++ ++ 2018-11-21 Jakub Jelinek ++ ++ PR c++/88122 ++ * method.c (maybe_explain_implicit_delete): If ++ FUNCTION_FIRST_USER_PARMTYPE (decl) is NULL, set const_p to false ++ instead of ICEing. ++ ++2018-01-02 Segher Boessenkool ++ ++ Backport from trunk ++ 2018-12-06 Segher Boessenkool ++ ++ PR inline-asm/55681 ++ * parser.c (cp_parser_asm_definition): Update grammar. Allow any ++ combination of volatile and goto, in any order, without repetitions. ++ ++ Backport from trunk ++ 2018-12-06 Segher Boessenkool ++ ++ * cp-tree.h (finish_asm_stmt): Update declaration. ++ * parser.c (cp_parser_asm_definition): Detect the inline keyword ++ after asm. Pass a flag for it to finish_asm_stmt. ++ * pt.c (tsubst_expr): Pass the ASM_INLINE_P flag to finish_asm_stmt. ++ * semantics.c (finish_asm_stmt): Add inline_p parameter. Use it to ++ set ASM_INLINE_P. ++ ++ Backport from trunk ++ 2018-12-19 Segher Boessenkool ++ ++ * parser.c (cp_parser_asm_definition): Rewrite the loop to work without ++ "done" boolean variable. ++ ++ Backport from trunk ++ 2018-12-19 Segher Boessenkool ++ ++ * parser.c (cp_parser_asm_definition): Rewrite the loop to work without ++ "done" boolean variable. ++ * parser.c (cp_parser_asm_definition): Keep track of the location each ++ asm qualifier is first seen; use that to give nicer "duplicate asm ++ qualifier" messages. ++ ++ Backport from trunk ++ 2018-12-19 Segher Boessenkool ++ ++ * parser.c (cp_parser_asm_definition) : Give ++ a more specific error message (instead of just falling through). ++ ++ Backport from trunk ++ 2018-12-10 Segher Boessenkool ++ ++ * parser.c (cp_parser_asm_definition): Do not allow any asm qualifiers ++ on top-level asm. ++ ++2018-12-13 Nathan Sidwell ++ ++ PR c++/87531 ++ * class.c (finish_struct): Set DECL_CONTEXT of template assign op. ++ * name-lookup.c (get_class_binding_direct): Don't strip using-decl ++ of overload here. ++ * parser.c (cp_parser_postfix_expression): Cope with using decl in ++ overload set. ++ * semantics.c (finish_id_expr): Likewise. ++ ++2018-12-04 Marek Polacek ++ ++ Backported from mainline ++ 2018-11-26 Marek Polacek ++ ++ PR c++/88120 - ICE when calling save_expr in a template. ++ * typeck.c (cp_build_binary_op): Call cp_save_expr instead of ++ save_expr. ++ ++2018-11-29 Nathan Sidwell ++ ++ PR c++/87531 ++ * class.c (finish_struct): In a template, add artificial using ++ decl for operator=. ++ ++2018-11-15 Nathan Sidwell ++ ++ PR c++/86246 ++ PR c++/87989 ++ * typeck.c (finish_class_member_access_expr): Conversion operator ++ to dependent type is dependent. ++ ++2018-11-05 Jakub Jelinek ++ ++ Backported from mainline ++ 2018-10-24 Jakub Jelinek ++ ++ PR c++/86288 ++ * parser.c (cp_parser_std_attribute): Canonicalize attr_ns, and when ++ :: is not present and attr_ns non-NULL, canonicalize also attr_id. ++ (cp_parser_attribute_spec): Fix comment typo. ++ ++2018-10-23 Tom de Vries ++ ++ backport from trunk: ++ 2018-07-31 Tom de Vries ++ ++ PR debug/86687 ++ * optimize.c (update_cloned_parm): Copy DECL_BY_REFERENCE. ++ ++2018-10-11 Jakub Jelinek ++ ++ PR c++/87582 ++ * typeck.c (maybe_warn_about_returning_address_of_local): If ++ whats_returned is a structured binding identifier and the structured ++ binding is a reference, recurse on its initializer. ++ ++2018-10-10 Paolo Carlini ++ ++ PR c++/84940 ++ * semantics.c (finish_unary_op_expr): Check return value of ++ build_x_unary_op for error_mark_node. ++ ++2018-10-03 Martin Liska ++ ++ Backport from mainline ++ 2018-10-03 Martin Liska ++ ++ PR gcov-profile/86109 ++ * parser.c (cp_parser_lambda_declarator_opt): ++ Set DECL_LAMBDA_FUNCTION for lambdas. ++ ++2018-09-24 Paolo Carlini ++ ++ PR c++/85070 ++ * method.c (lazily_declare_fn): During error-recovery add_method ++ may return false. ++ ++2018-09-18 Nathan Sidwell ++ ++ PR c++/86881 ++ * name-lookup.c (check_local_shadow): Ignore auto types. ++ ++2018-09-13 Ville Voutilainen ++ ++ Backport from mainline ++ 2018-09-13 Ville Voutilainen ++ gcc/cp ++ ++ PR c++/87093 ++ * method.c (constructible_expr): We're in an unevaluated context ++ in all cases, not just for class targets. ++ ++ testsuite/ ++ ++ PR c++/87093 ++ * g++.dg/ext/is_constructible2.C: New. ++ ++2018-09-05 Pádraig Brady ++ ++ PR c++/87185 ++ * lambda.c (prune_lambda_captures): Protect against const_vars.get ++ returning NULL. ++ ++2018-09-05 Jakub Jelinek ++ ++ Backported from mainline ++ 2018-08-29 Jakub Jelinek ++ ++ PR c++/87095 ++ * decl.c (begin_destructor_body): If current_class_type has ++ virtual bases and the primary base is nearly empty virtual base, ++ voidify clearing of vptr and make it conditional on in-charge ++ argument. ++ ++ 2018-08-08 Jakub Jelinek ++ ++ PR c++/86836 ++ * pt.c (tsubst_expr): For structured bindings, call tsubst_decomp_names ++ before tsubst_init, not after it. ++ ++ PR c++/86738 ++ * constexpr.c (cxx_eval_binary_expression): For arithmetics involving ++ NULL pointer set *non_constant_p to true. ++ (cxx_eval_component_reference): For dereferencing of a NULL pointer, ++ set *non_constant_p to true and return t. ++ ++ 2018-08-03 Jason Merrill ++ ++ PR c++/86706 ++ * class.c (build_base_path): Use currently_open_class. ++ ++2018-08-31 Nathan Sidwell ++ ++ PR c++/87155 ++ PR c++/84707 ++ * name-lookup.c (name_lookup::search_namespace): Don't look at ++ inlines when searching for NULL names. ++ ++2018-08-29 Jakub Jelinek ++ ++ PR c++/87122 ++ * pt.c (tsubst_expr) : If ++ processing_template_decl and decl is structured binding decl, call ++ cp_finish_decomp. ++ ++2018-08-17 Richard Biener ++ ++ Backport from mainline ++ 2018-08-02 Richard Biener ++ ++ PR c++/86763 ++ * class.c (layout_class_type): Copy TYPE_TYPELESS_STORAGE ++ to the CLASSTYPE_AS_BASE. ++ ++2018-08-10 Jason Merrill ++ ++ PR c++/86728 - C variadic generic lambda. ++ * parser.c (cp_parser_parameter_declaration): Don't turn 'auto' into ++ a pack if it's followed by a declarator-id. ++ ++2018-08-08 Marek Polacek ++ ++ Backport from mainline ++ 2018-08-06 Marek Polacek ++ ++ PR c++/86767 ++ * constexpr.c (cxx_eval_statement_list): Handle continue. ++ ++2018-08-01 Marek Polacek ++ ++ PR c++/86190 - bogus -Wsign-conversion warning ++ * typeck.c (cp_build_binary_op): Add a warning sentinel. ++ + 2018-07-26 Release Manager + + * GCC 8.2.0 released. +Index: gcc/cp/cp-gimplify.c +=================================================================== +--- a/src/gcc/cp/cp-gimplify.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/cp/cp-gimplify.c (.../branches/gcc-8-branch) +@@ -2266,6 +2266,7 @@ + { + val = TREE_OPERAND (val, 0); + STRIP_NOPS (val); ++ val = maybe_constant_value (val); + if (TREE_CODE (val) == INTEGER_CST) + return fold_offsetof (op0, TREE_TYPE (x)); + } +Index: gcc/cp/pt.c +=================================================================== +--- a/src/gcc/cp/pt.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/cp/pt.c (.../branches/gcc-8-branch) +@@ -13269,6 +13269,19 @@ + return CLASSTYPE_TEMPLATE_INFO (closure) != NULL_TREE; + } + ++/* True if FN is the substitution (via tsubst_lambda_expr) of a function for ++ which the above is true. */ ++ ++bool ++instantiated_lambda_fn_p (tree fn) ++{ ++ if (!fn || !LAMBDA_FUNCTION_P (fn)) ++ return false; ++ tree closure = DECL_CONTEXT (fn); ++ tree lam = CLASSTYPE_LAMBDA_EXPR (closure); ++ return LAMBDA_EXPR_INSTANTIATED (lam); ++} ++ + /* We're instantiating a variable from template function TCTX. Return the + corresponding current enclosing scope. This gets complicated because lambda + functions in templates are regenerated rather than instantiated, but generic +@@ -13288,7 +13301,7 @@ + { + tree ofn = fn; + int flambda_count = 0; +- for (; flambda_count < lambda_count && fn && LAMBDA_FUNCTION_P (fn); ++ for (; fn && instantiated_lambda_fn_p (fn); + fn = decl_function_context (fn)) + ++flambda_count; + if ((fn && DECL_TEMPLATE_INFO (fn)) +@@ -13295,6 +13308,12 @@ + ? most_general_template (fn) != most_general_template (tctx) + : fn != tctx) + continue; ++ if (flambda_count != lambda_count) ++ { ++ gcc_assert (flambda_count > lambda_count); ++ for (; flambda_count > lambda_count; --flambda_count) ++ ofn = decl_function_context (ofn); ++ } + gcc_assert (DECL_NAME (ofn) == DECL_NAME (otctx) + || DECL_CONV_FN_P (ofn)); + return ofn; +@@ -14506,6 +14525,15 @@ + && !PLACEHOLDER_TYPE_CONSTRAINTS (r)) + /* Break infinite recursion when substituting the constraints + of a constrained placeholder. */; ++ else if (TREE_CODE (t) == TEMPLATE_TYPE_PARM ++ && !PLACEHOLDER_TYPE_CONSTRAINTS (t) ++ && !CLASS_PLACEHOLDER_TEMPLATE (t) ++ && (arg = TEMPLATE_TYPE_PARM_INDEX (t), ++ r = TEMPLATE_PARM_DESCENDANTS (arg)) ++ && (TEMPLATE_PARM_LEVEL (r) ++ == TEMPLATE_PARM_LEVEL (arg) - levels)) ++ /* Cache the simple case of lowering a type parameter. */ ++ r = TREE_TYPE (r); + else + { + r = copy_type (t); +@@ -16734,8 +16762,18 @@ + else + { + int const_init = false; ++ unsigned int cnt = 0; ++ tree first = NULL_TREE, ndecl = error_mark_node; + maybe_push_decl (decl); ++ + if (VAR_P (decl) ++ && DECL_DECOMPOSITION_P (decl) ++ && TREE_TYPE (pattern_decl) != error_mark_node) ++ ndecl = tsubst_decomp_names (decl, pattern_decl, args, ++ complain, in_decl, &first, ++ &cnt); ++ ++ if (VAR_P (decl) + && DECL_PRETTY_FUNCTION_P (decl)) + { + /* For __PRETTY_FUNCTION__ we have to adjust the +@@ -16750,23 +16788,14 @@ + if (VAR_P (decl)) + const_init = (DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P + (pattern_decl)); +- if (VAR_P (decl) +- && DECL_DECOMPOSITION_P (decl) +- && TREE_TYPE (pattern_decl) != error_mark_node) +- { +- unsigned int cnt; +- tree first; +- tree ndecl +- = tsubst_decomp_names (decl, pattern_decl, args, +- complain, in_decl, &first, &cnt); +- if (ndecl != error_mark_node) +- cp_maybe_mangle_decomp (ndecl, first, cnt); +- cp_finish_decl (decl, init, const_init, NULL_TREE, 0); +- if (ndecl != error_mark_node) +- cp_finish_decomp (ndecl, first, cnt); +- } +- else +- cp_finish_decl (decl, init, const_init, NULL_TREE, 0); ++ ++ if (ndecl != error_mark_node) ++ cp_maybe_mangle_decomp (ndecl, first, cnt); ++ ++ cp_finish_decl (decl, init, const_init, NULL_TREE, 0); ++ ++ if (ndecl != error_mark_node) ++ cp_finish_decomp (ndecl, first, cnt); + } + } + } +@@ -16816,6 +16845,8 @@ + RANGE_FOR_IVDEP (stmt) = RANGE_FOR_IVDEP (t); + RANGE_FOR_UNROLL (stmt) = RANGE_FOR_UNROLL (t); + finish_range_for_decl (stmt, decl, expr); ++ if (decomp_first && decl != error_mark_node) ++ cp_finish_decomp (decl, decomp_first, decomp_cnt); + } + else + { +@@ -16987,7 +17018,7 @@ + tree labels = tsubst_copy_asm_operands (ASM_LABELS (t), args, + complain, in_decl); + tmp = finish_asm_stmt (ASM_VOLATILE_P (t), string, outputs, inputs, +- clobbers, labels); ++ clobbers, labels, ASM_INLINE_P (t)); + tree asm_expr = tmp; + if (TREE_CODE (asm_expr) == CLEANUP_POINT_EXPR) + asm_expr = TREE_OPERAND (asm_expr, 0); +@@ -17548,6 +17579,7 @@ + LAMBDA_EXPR_DEFAULT_CAPTURE_MODE (r) + = LAMBDA_EXPR_DEFAULT_CAPTURE_MODE (t); + LAMBDA_EXPR_MUTABLE_P (r) = LAMBDA_EXPR_MUTABLE_P (t); ++ LAMBDA_EXPR_INSTANTIATED (r) = true; + + if (LAMBDA_EXPR_EXTRA_SCOPE (t) == NULL_TREE) + /* A lambda in a default argument outside a class gets no +@@ -18507,22 +18539,12 @@ + bool op = CALL_EXPR_OPERATOR_SYNTAX (t); + bool ord = CALL_EXPR_ORDERED_ARGS (t); + bool rev = CALL_EXPR_REVERSE_ARGS (t); +- bool thk = CALL_FROM_THUNK_P (t); +- if (op || ord || rev || thk) ++ if (op || ord || rev) + { + function = extract_call_expr (ret); + CALL_EXPR_OPERATOR_SYNTAX (function) = op; + CALL_EXPR_ORDERED_ARGS (function) = ord; + CALL_EXPR_REVERSE_ARGS (function) = rev; +- if (thk) +- { +- if (TREE_CODE (function) == CALL_EXPR) +- CALL_FROM_THUNK_P (function) = true; +- else +- AGGR_INIT_FROM_THUNK_P (function) = true; +- /* The thunk location is not interesting. */ +- SET_EXPR_LOCATION (function, UNKNOWN_LOCATION); +- } + } + } + +@@ -18993,6 +19015,11 @@ + case REQUIRES_EXPR: + RETURN (tsubst_requires_expr (t, args, complain, in_decl)); + ++ case RANGE_EXPR: ++ /* No need to substitute further, a RANGE_EXPR will always be built ++ with constant operands. */ ++ RETURN (t); ++ + case NON_LVALUE_EXPR: + case VIEW_CONVERT_EXPR: + /* We should only see these for location wrapper nodes, or within +Index: gcc/cp/semantics.c +=================================================================== +--- a/src/gcc/cp/semantics.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/cp/semantics.c (.../branches/gcc-8-branch) +@@ -1461,11 +1461,11 @@ + /* Finish an asm-statement, whose components are a STRING, some + OUTPUT_OPERANDS, some INPUT_OPERANDS, some CLOBBERS and some + LABELS. Also note whether the asm-statement should be +- considered volatile. */ ++ considered volatile, and whether it is asm inline. */ + + tree + finish_asm_stmt (int volatile_p, tree string, tree output_operands, +- tree input_operands, tree clobbers, tree labels) ++ tree input_operands, tree clobbers, tree labels, bool inline_p) + { + tree r; + tree t; +@@ -1619,6 +1619,7 @@ + output_operands, input_operands, + clobbers, labels); + ASM_VOLATILE_P (r) = volatile_p || noutputs == 0; ++ ASM_INLINE_P (r) = inline_p; + r = maybe_cleanup_point_expr_void (r); + return add_stmt (r); + } +@@ -2704,13 +2705,14 @@ + /* TODO: build_x_unary_op doesn't always honor the location. */ + result.set_location (combined_loc); + +- tree result_ovl, expr_ovl; ++ if (result == error_mark_node) ++ return result; + + if (!(complain & tf_warning)) + return result; + +- result_ovl = result; +- expr_ovl = expr; ++ tree result_ovl = result; ++ tree expr_ovl = expr; + + if (!processing_template_decl) + expr_ovl = cp_fully_fold (expr_ovl); +@@ -3413,10 +3415,9 @@ + } + + /* In a lambda within a template, wait until instantiation +- time to implicitly capture. */ ++ time to implicitly capture a dependent type. */ + if (context == containing_function +- && DECL_TEMPLATE_INFO (containing_function) +- && uses_template_parms (DECL_TI_ARGS (containing_function))) ++ && dependent_type_p (TREE_TYPE (decl))) + return decl; + + if (lambda_expr && VAR_P (decl) +@@ -3783,9 +3784,10 @@ + return error_mark_node; + + if (!template_arg_p +- && TREE_CODE (first_fn) == FUNCTION_DECL +- && DECL_FUNCTION_MEMBER_P (first_fn) +- && !shared_member_p (decl)) ++ && (TREE_CODE (first_fn) == USING_DECL ++ || (TREE_CODE (first_fn) == FUNCTION_DECL ++ && DECL_FUNCTION_MEMBER_P (first_fn) ++ && !shared_member_p (decl)))) + { + /* A set of member functions. */ + decl = maybe_dummy_object (DECL_CONTEXT (first_fn), 0); +@@ -8516,10 +8518,13 @@ + tree ifc = omp_find_clause (clauses, OMP_CLAUSE_IF); + if (ifc != NULL_TREE) + { +- tree type = TREE_TYPE (OMP_CLAUSE_IF_EXPR (ifc)); +- ifc = fold_build2_loc (OMP_CLAUSE_LOCATION (ifc), NE_EXPR, +- boolean_type_node, OMP_CLAUSE_IF_EXPR (ifc), +- build_zero_cst (type)); ++ if (!processing_template_decl) ++ ifc = maybe_convert_cond (OMP_CLAUSE_IF_EXPR (ifc)); ++ else ++ ifc = build_x_binary_op (OMP_CLAUSE_LOCATION (ifc), NE_EXPR, ++ OMP_CLAUSE_IF_EXPR (ifc), ERROR_MARK, ++ integer_zero_node, ERROR_MARK, ++ NULL, tf_warning_or_error); + } + else + ifc = boolean_true_node; +Index: gcc/cp/parser.c +=================================================================== +--- a/src/gcc/cp/parser.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/cp/parser.c (.../branches/gcc-8-branch) +@@ -7150,6 +7150,10 @@ + else if (!args->is_empty () + && is_overloaded_fn (postfix_expression)) + { ++ /* We only need to look at the first function, ++ because all the fns share the attribute we're ++ concerned with (all member fns or all local ++ fns). */ + tree fn = get_first_fn (postfix_expression); + fn = STRIP_TEMPLATE (fn); + +@@ -7156,8 +7160,9 @@ + /* Do not do argument dependent lookup if regular + lookup finds a member function or a block-scope + function declaration. [basic.lookup.argdep]/3 */ +- if (!DECL_FUNCTION_MEMBER_P (fn) +- && !DECL_LOCAL_FUNCTION_P (fn)) ++ if (!((TREE_CODE (fn) == USING_DECL && DECL_DEPENDENT_P (fn)) ++ || DECL_FUNCTION_MEMBER_P (fn) ++ || DECL_LOCAL_FUNCTION_P (fn))) + { + koenig_p = true; + if (!any_type_dependent_arguments_p (args)) +@@ -10620,6 +10625,7 @@ + DECL_ARTIFICIAL (fco) = 1; + /* Give the object parameter a different name. */ + DECL_NAME (DECL_ARGUMENTS (fco)) = get_identifier ("__closure"); ++ DECL_LAMBDA_FUNCTION (fco) = 1; + if (return_type) + TYPE_HAS_LATE_RETURN_TYPE (TREE_TYPE (fco)) = 1; + } +@@ -19061,6 +19067,15 @@ + + /* Parse an asm-definition. + ++ asm-qualifier: ++ volatile ++ inline ++ goto ++ ++ asm-qualifier-list: ++ asm-qualifier ++ asm-qualifier-list asm-qualifier ++ + asm-definition: + asm ( string-literal ) ; + +@@ -19067,17 +19082,21 @@ + GNU Extension: + + asm-definition: +- asm volatile [opt] ( string-literal ) ; +- asm volatile [opt] ( string-literal : asm-operand-list [opt] ) ; +- asm volatile [opt] ( string-literal : asm-operand-list [opt] +- : asm-operand-list [opt] ) ; +- asm volatile [opt] ( string-literal : asm-operand-list [opt] +- : asm-operand-list [opt] ++ asm asm-qualifier-list [opt] ( string-literal ) ; ++ asm asm-qualifier-list [opt] ( string-literal : asm-operand-list [opt] ) ; ++ asm asm-qualifier-list [opt] ( string-literal : asm-operand-list [opt] ++ : asm-operand-list [opt] ) ; ++ asm asm-qualifier-list [opt] ( string-literal : asm-operand-list [opt] ++ : asm-operand-list [opt] + : asm-clobber-list [opt] ) ; +- asm volatile [opt] goto ( string-literal : : asm-operand-list [opt] +- : asm-clobber-list [opt] +- : asm-goto-list ) ; */ ++ asm asm-qualifier-list [opt] ( string-literal : : asm-operand-list [opt] ++ : asm-clobber-list [opt] ++ : asm-goto-list ) ; + ++ The form with asm-goto-list is valid if and only if the asm-qualifier-list ++ contains goto, and is the only allowed form in that case. No duplicates are ++ allowed in an asm-qualifier-list. */ ++ + static void + cp_parser_asm_definition (cp_parser* parser) + { +@@ -19087,11 +19106,9 @@ + tree clobbers = NULL_TREE; + tree labels = NULL_TREE; + tree asm_stmt; +- bool volatile_p = false; + bool extended_p = false; + bool invalid_inputs_p = false; + bool invalid_outputs_p = false; +- bool goto_p = false; + required_token missing = RT_NONE; + + /* Look for the `asm' keyword. */ +@@ -19104,24 +19121,67 @@ + cp_function_chain->invalid_constexpr = true; + } + +- /* See if the next token is `volatile'. */ +- if (cp_parser_allow_gnu_extensions_p (parser) +- && cp_lexer_next_token_is_keyword (parser->lexer, RID_VOLATILE)) +- { +- /* Remember that we saw the `volatile' keyword. */ +- volatile_p = true; +- /* Consume the token. */ +- cp_lexer_consume_token (parser->lexer); +- } +- if (cp_parser_allow_gnu_extensions_p (parser) +- && parser->in_function_body +- && cp_lexer_next_token_is_keyword (parser->lexer, RID_GOTO)) +- { +- /* Remember that we saw the `goto' keyword. */ +- goto_p = true; +- /* Consume the token. */ +- cp_lexer_consume_token (parser->lexer); +- } ++ /* Handle the asm-qualifier-list. */ ++ location_t volatile_loc = UNKNOWN_LOCATION; ++ location_t inline_loc = UNKNOWN_LOCATION; ++ location_t goto_loc = UNKNOWN_LOCATION; ++ ++ if (cp_parser_allow_gnu_extensions_p (parser) && parser->in_function_body) ++ for (;;) ++ { ++ cp_token *token = cp_lexer_peek_token (parser->lexer); ++ location_t loc = token->location; ++ switch (cp_lexer_peek_token (parser->lexer)->keyword) ++ { ++ case RID_VOLATILE: ++ if (volatile_loc) ++ { ++ error_at (loc, "duplicate asm qualifier %qT", token->u.value); ++ inform (volatile_loc, "first seen here"); ++ } ++ else ++ volatile_loc = loc; ++ cp_lexer_consume_token (parser->lexer); ++ continue; ++ ++ case RID_INLINE: ++ if (inline_loc) ++ { ++ error_at (loc, "duplicate asm qualifier %qT", token->u.value); ++ inform (inline_loc, "first seen here"); ++ } ++ else ++ inline_loc = loc; ++ cp_lexer_consume_token (parser->lexer); ++ continue; ++ ++ case RID_GOTO: ++ if (goto_loc) ++ { ++ error_at (loc, "duplicate asm qualifier %qT", token->u.value); ++ inform (goto_loc, "first seen here"); ++ } ++ else ++ goto_loc = loc; ++ cp_lexer_consume_token (parser->lexer); ++ continue; ++ ++ case RID_CONST: ++ case RID_RESTRICT: ++ error_at (loc, "%qT is not an asm qualifier", token->u.value); ++ cp_lexer_consume_token (parser->lexer); ++ continue; ++ ++ default: ++ break; ++ } ++ break; ++ } ++ ++ bool volatile_p = (volatile_loc != UNKNOWN_LOCATION); ++ bool inline_p = (inline_loc != UNKNOWN_LOCATION); ++ bool goto_p = (goto_loc != UNKNOWN_LOCATION); ++ + /* Look for the opening `('. */ + if (!cp_parser_require (parser, CPP_OPEN_PAREN, RT_OPEN_PAREN)) + return; +@@ -19213,8 +19273,7 @@ + CPP_CLOSE_PAREN)) + clobbers = cp_parser_asm_clobber_list (parser); + } +- else if (goto_p +- && cp_lexer_next_token_is (parser->lexer, CPP_SCOPE)) ++ else if (goto_p && cp_lexer_next_token_is (parser->lexer, CPP_SCOPE)) + /* The labels are coming next. */ + labels_p = true; + +@@ -19248,7 +19307,7 @@ + if (parser->in_function_body) + { + asm_stmt = finish_asm_stmt (volatile_p, string, outputs, +- inputs, clobbers, labels); ++ inputs, clobbers, labels, inline_p); + /* If the extended syntax was not used, mark the ASM_EXPR. */ + if (!extended_p) + { +@@ -21598,7 +21657,8 @@ + parameter was introduced during cp_parser_parameter_declaration, + change any implicit parameters introduced into packs. */ + if (parser->implicit_template_parms +- && (token->type == CPP_ELLIPSIS ++ && ((token->type == CPP_ELLIPSIS ++ && declarator_can_be_parameter_pack (declarator)) + || (declarator && declarator->parameter_pack_p))) + { + int latest_template_parm_idx = TREE_VEC_LENGTH +@@ -22497,7 +22557,7 @@ + cp_ensure_no_oacc_routine (parser); + + /* Issue an error message if type-definitions are forbidden here. */ +- cp_parser_check_type_definition (parser); ++ bool type_definition_ok_p = cp_parser_check_type_definition (parser); + /* Remember that we are defining one more class. */ + ++parser->num_classes_being_defined; + /* Inside the class, surrounding template-parameter-lists do not +@@ -22692,7 +22752,7 @@ + cp_default_arg_entry *e; + tree save_ccp, save_ccr; + +- if (any_erroneous_template_args_p (type)) ++ if (!type_definition_ok_p || any_erroneous_template_args_p (type)) + { + /* Skip default arguments, NSDMIs, etc, in order to improve + error recovery (c++/71169, c++/71832). */ +@@ -25215,6 +25275,7 @@ + return error_mark_node; + } + ++ attr_ns = canonicalize_attr_name (attr_ns); + attr_id = canonicalize_attr_name (attr_id); + attribute = build_tree_list (build_tree_list (attr_ns, attr_id), + NULL_TREE); +@@ -25221,8 +25282,12 @@ + token = cp_lexer_peek_token (parser->lexer); + } + else if (attr_ns) +- attribute = build_tree_list (build_tree_list (attr_ns, attr_id), +- NULL_TREE); ++ { ++ attr_ns = canonicalize_attr_name (attr_ns); ++ attr_id = canonicalize_attr_name (attr_id); ++ attribute = build_tree_list (build_tree_list (attr_ns, attr_id), ++ NULL_TREE); ++ } + else + { + attr_id = canonicalize_attr_name (attr_id); +@@ -25414,7 +25479,7 @@ + || !cp_parser_require (parser, CPP_CLOSE_SQUARE, RT_CLOSE_SQUARE)) + cp_parser_skip_to_end_of_statement (parser); + else +- /* Warn about parsing c++11 attribute in non-c++1 mode, only ++ /* Warn about parsing c++11 attribute in non-c++11 mode, only + when we are sure that we have actually parsed them. */ + maybe_warn_cpp0x (CPP0X_ATTRIBUTES); + } +Index: gcc/cp/call.c +=================================================================== +--- a/src/gcc/cp/call.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/cp/call.c (.../branches/gcc-8-branch) +@@ -1396,6 +1396,13 @@ + || (fcode == REAL_TYPE && !(flags & LOOKUP_NO_NON_INTEGRAL))) + || SCOPED_ENUM_P (from)) + return NULL; ++ ++ /* If we're parsing an enum with no fixed underlying type, we're ++ dealing with an incomplete type, which renders the conversion ++ ill-formed. */ ++ if (!COMPLETE_TYPE_P (from)) ++ return NULL; ++ + conv = build_conv (ck_std, to, conv); + + /* Give this a better rank if it's a promotion. */ +@@ -6783,7 +6790,9 @@ + return expr; + } + +- expr = mark_rvalue_use (expr); ++ /* We don't know here whether EXPR is being used as an lvalue or ++ rvalue, but we know it's read. */ ++ mark_exp_read (expr); + + /* Pass LOOKUP_NO_CONVERSION so rvalue/base handling knows not to allow + any more UDCs. */ +@@ -10824,14 +10833,12 @@ + tree name = mangle_ref_init_variable (decl); + DECL_NAME (var) = name; + SET_DECL_ASSEMBLER_NAME (var, name); +- +- var = pushdecl (var); + } + else + /* Create a new cleanup level if necessary. */ + maybe_push_cleanup_level (type); + +- return var; ++ return pushdecl (var); + } + + /* EXPR is the initializer for a variable DECL of reference or +Index: gcc/cp/lambda.c +=================================================================== +--- a/src/gcc/cp/lambda.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/cp/lambda.c (.../branches/gcc-8-branch) +@@ -262,6 +262,9 @@ + && DECL_HAS_VALUE_EXPR_P (decl) + && !DECL_ANON_UNION_VAR_P (decl) + && !DECL_DECOMPOSITION_P (decl) ++ && !(DECL_ARTIFICIAL (decl) ++ && DECL_LANG_SPECIFIC (decl) ++ && DECL_OMP_PRIVATIZED_MEMBER (decl)) + && LAMBDA_FUNCTION_P (DECL_CONTEXT (decl))); + } + +@@ -1115,6 +1118,9 @@ + { + tree new_node = copy_node (src); + ++ /* Clear TREE_ADDRESSABLE on thunk arguments. */ ++ TREE_ADDRESSABLE (new_node) = 0; ++ + if (!fn_args) + fn_args = tgt = new_node; + else +@@ -1471,8 +1477,10 @@ + { + tree decl = DECL_EXPR_DECL (*t); + if (is_constant_capture_proxy (decl)) +- var = DECL_CAPTURED_VARIABLE (decl); +- *walk_subtrees = 0; ++ { ++ var = DECL_CAPTURED_VARIABLE (decl); ++ *walk_subtrees = 0; ++ } + } + else if (is_constant_capture_proxy (*t)) + var = DECL_CAPTURED_VARIABLE (*t); +@@ -1511,8 +1519,8 @@ + tree cap = *capp; + if (tree var = var_to_maybe_prune (cap)) + { +- tree *use = *const_vars.get (var); +- if (TREE_CODE (*use) == DECL_EXPR) ++ tree **use = const_vars.get (var); ++ if (use && TREE_CODE (**use) == DECL_EXPR) + { + /* All uses of this capture were folded away, leaving only the + proxy declaration. */ +@@ -1527,7 +1535,7 @@ + *fieldp = DECL_CHAIN (*fieldp); + + /* And remove the capture proxy declaration. */ +- *use = void_node; ++ **use = void_node; + continue; + } + } +Index: gcc/cp/cp-tree.h +=================================================================== +--- a/src/gcc/cp/cp-tree.h (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/cp/cp-tree.h (.../branches/gcc-8-branch) +@@ -416,6 +416,7 @@ + DECLTYPE_FOR_REF_CAPTURE (in DECLTYPE_TYPE) + CONSTRUCTOR_C99_COMPOUND_LITERAL (in CONSTRUCTOR) + OVL_NESTED_P (in OVERLOAD) ++ LAMBDA_EXPR_INSTANTIATED (in LAMBDA_EXPR) + 4: IDENTIFIER_MARKED (IDENTIFIER_NODEs) + TREE_HAS_CONSTRUCTOR (in INDIRECT_REF, SAVE_EXPR, CONSTRUCTOR, + CALL_EXPR, or FIELD_DECL). +@@ -1272,6 +1273,10 @@ + #define LAMBDA_EXPR_CAPTURE_OPTIMIZED(NODE) \ + TREE_LANG_FLAG_2 (LAMBDA_EXPR_CHECK (NODE)) + ++/* True iff this LAMBDA_EXPR was generated in tsubst_lambda_expr. */ ++#define LAMBDA_EXPR_INSTANTIATED(NODE) \ ++ TREE_LANG_FLAG_3 (LAMBDA_EXPR_CHECK (NODE)) ++ + /* True if this TREE_LIST in LAMBDA_EXPR_CAPTURE_LIST is for an explicit + capture. */ + #define LAMBDA_CAPTURE_EXPLICIT_P(NODE) \ +@@ -6897,7 +6902,7 @@ + + extern void finish_compound_stmt (tree); + extern tree finish_asm_stmt (int, tree, tree, tree, tree, +- tree); ++ tree, bool); + extern tree finish_label_stmt (tree); + extern void finish_label_decl (tree); + extern cp_expr finish_parenthesized_expr (cp_expr); +Index: gcc/cp/name-lookup.c +=================================================================== +--- a/src/gcc/cp/name-lookup.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/cp/name-lookup.c (.../branches/gcc-8-branch) +@@ -560,12 +560,15 @@ + + /* Look in exactly namespace. */ + bool found = search_namespace_only (scope); +- +- /* Recursively look in its inline children. */ +- if (vec *inlinees = DECL_NAMESPACE_INLINEES (scope)) +- for (unsigned ix = inlinees->length (); ix--;) +- found |= search_namespace ((*inlinees)[ix]); + ++ /* Don't look into inline children, if we're looking for an ++ anonymous name -- it must be in the current scope, if anywhere. */ ++ if (name) ++ /* Recursively look in its inline children. */ ++ if (vec *inlinees = DECL_NAMESPACE_INLINEES (scope)) ++ for (unsigned ix = inlinees->length (); ix--;) ++ found |= search_namespace ((*inlinees)[ix]); ++ + if (found) + mark_found (scope); + +@@ -1237,17 +1240,6 @@ + } + else if (STAT_HACK_P (val)) + val = STAT_DECL (val); +- +- if (val && TREE_CODE (val) == OVERLOAD +- && TREE_CODE (OVL_FUNCTION (val)) == USING_DECL) +- { +- /* An overload with a dependent USING_DECL. Does the caller +- want the USING_DECL or the functions? */ +- if (type_or_fns < 0) +- val = OVL_CHAIN (val); +- else +- val = OVL_FUNCTION (val); +- } + } + else + { +@@ -2737,6 +2729,13 @@ + && (same_type_p (TREE_TYPE (old), TREE_TYPE (decl)) + || (!dependent_type_p (TREE_TYPE (decl)) + && !dependent_type_p (TREE_TYPE (old)) ++ /* If the new decl uses auto, we don't yet know ++ its type (the old type cannot be using auto ++ at this point, without also being ++ dependent). This is an indication we're ++ (now) doing the shadow checking too ++ early. */ ++ && !type_uses_auto (TREE_TYPE (decl)) + && can_convert (TREE_TYPE (old), TREE_TYPE (decl), + tf_none)))) + warning_code = OPT_Wshadow_compatible_local; +Index: gcc/tree-ssa-ccp.c +=================================================================== +--- a/src/gcc/tree-ssa-ccp.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/tree-ssa-ccp.c (.../branches/gcc-8-branch) +@@ -1120,7 +1120,7 @@ + if (dump_file && (dump_flags & TDF_DETAILS)) + { + fprintf (dump_file, +- "\n Argument #%d (%d -> %d %sexecutable)\n", ++ "\tArgument #%d (%d -> %d %sexecutable)\n", + i, e->src->index, e->dest->index, + (e->flags & EDGE_EXECUTABLE) ? "" : "not "); + } +Index: gcc/dojump.c +=================================================================== +--- a/src/gcc/dojump.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/dojump.c (.../branches/gcc-8-branch) +@@ -1214,15 +1214,15 @@ + code = unsignedp ? unsigned_code : signed_code; + + /* If function pointers need to be "canonicalized" before they can +- be reliably compared, then canonicalize them. +- Only do this if *both* sides of the comparison are function pointers. +- If one side isn't, we want a noncanonicalized comparison. See PR +- middle-end/17564. */ ++ be reliably compared, then canonicalize them. Canonicalize the ++ expression when one of the operands is a function pointer. This ++ handles the case where the other operand is a void pointer. See ++ PR middle-end/17564. */ + if (targetm.have_canonicalize_funcptr_for_compare () +- && POINTER_TYPE_P (TREE_TYPE (treeop0)) +- && POINTER_TYPE_P (TREE_TYPE (treeop1)) +- && FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (treeop0))) +- && FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (treeop1)))) ++ && ((POINTER_TYPE_P (TREE_TYPE (treeop0)) ++ && FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (treeop0)))) ++ || (POINTER_TYPE_P (TREE_TYPE (treeop1)) ++ && FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (treeop1)))))) + { + rtx new_op0 = gen_reg_rtx (mode); + rtx new_op1 = gen_reg_rtx (mode); +Index: gcc/lto-cgraph.c +=================================================================== +--- a/src/gcc/lto-cgraph.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/lto-cgraph.c (.../branches/gcc-8-branch) +@@ -546,7 +546,11 @@ + streamer_write_bitpack (&bp); + streamer_write_data_stream (ob->main_stream, section, strlen (section) + 1); + +- if (node->thunk.thunk_p) ++ /* Stream thunk info always because we use it in ++ ipa_polymorphic_call_context::ipa_polymorphic_call_context ++ to properly interpret THIS pointers for thunks that has been converted ++ to Gimple. */ ++ if (node->definition) + { + streamer_write_uhwi_stream + (ob->main_stream, +@@ -1317,7 +1321,7 @@ + if (section) + node->set_section_for_node (section); + +- if (node->thunk.thunk_p) ++ if (node->definition) + { + int type = streamer_read_uhwi (ib); + HOST_WIDE_INT fixed_offset = streamer_read_uhwi (ib); +Index: gcc/omp-expand.c +=================================================================== +--- a/src/gcc/omp-expand.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/omp-expand.c (.../branches/gcc-8-branch) +@@ -56,7 +56,6 @@ + #include "gomp-constants.h" + #include "gimple-pretty-print.h" + #include "hsa-common.h" +-#include "debug.h" + #include "stringpool.h" + #include "attribs.h" + +@@ -507,27 +506,43 @@ + function will be emitted with the correct lexical scope. */ + + static void +-adjust_context_and_scope (tree entry_block, tree child_fndecl) ++adjust_context_and_scope (struct omp_region *region, tree entry_block, ++ tree child_fndecl) + { ++ tree parent_fndecl = NULL_TREE; ++ gimple *entry_stmt; ++ /* OMP expansion expands inner regions before outer ones, so if ++ we e.g. have explicit task region nested in parallel region, when ++ expanding the task region current_function_decl will be the original ++ source function, but we actually want to use as context the child ++ function of the parallel. */ ++ for (region = region->outer; ++ region && parent_fndecl == NULL_TREE; region = region->outer) ++ switch (region->type) ++ { ++ case GIMPLE_OMP_PARALLEL: ++ case GIMPLE_OMP_TASK: ++ entry_stmt = last_stmt (region->entry); ++ parent_fndecl = gimple_omp_taskreg_child_fn (entry_stmt); ++ break; ++ case GIMPLE_OMP_TARGET: ++ entry_stmt = last_stmt (region->entry); ++ parent_fndecl ++ = gimple_omp_target_child_fn (as_a (entry_stmt)); ++ break; ++ default: ++ break; ++ } ++ ++ if (parent_fndecl == NULL_TREE) ++ parent_fndecl = current_function_decl; ++ DECL_CONTEXT (child_fndecl) = parent_fndecl; ++ + if (entry_block != NULL_TREE && TREE_CODE (entry_block) == BLOCK) + { + tree b = BLOCK_SUPERCONTEXT (entry_block); +- + if (TREE_CODE (b) == BLOCK) + { +- tree parent_fndecl; +- +- /* Follow supercontext chain until the parent fndecl +- is found. */ +- for (parent_fndecl = BLOCK_SUPERCONTEXT (b); +- TREE_CODE (parent_fndecl) == BLOCK; +- parent_fndecl = BLOCK_SUPERCONTEXT (parent_fndecl)) +- ; +- +- gcc_assert (TREE_CODE (parent_fndecl) == FUNCTION_DECL); +- +- DECL_CONTEXT (child_fndecl) = parent_fndecl; +- + DECL_CHAIN (child_fndecl) = BLOCK_VARS (b); + BLOCK_VARS (b) = child_fndecl; + } +@@ -703,8 +718,6 @@ + tree child_fndecl = gimple_omp_parallel_child_fn (entry_stmt); + t2 = build_fold_addr_expr (child_fndecl); + +- adjust_context_and_scope (gimple_block (entry_stmt), child_fndecl); +- + vec_alloc (args, 4 + vec_safe_length (ws_args)); + args->quick_push (t2); + args->quick_push (t1); +@@ -1294,11 +1307,6 @@ + else + block = gimple_block (entry_stmt); + +- /* Make sure to generate early debug for the function before +- outlining anything. */ +- if (! gimple_in_ssa_p (cfun)) +- (*debug_hooks->early_global_decl) (cfun->decl); +- + new_bb = move_sese_region_to_fn (child_cfun, entry_bb, exit_bb, block); + if (exit_bb) + single_succ_edge (new_bb)->flags = EDGE_FALLTHRU; +@@ -1379,6 +1387,8 @@ + } + } + ++ adjust_context_and_scope (region, gimple_block (entry_stmt), child_fn); ++ + if (gimple_code (entry_stmt) == GIMPLE_OMP_PARALLEL) + expand_parallel_call (region, new_bb, + as_a (entry_stmt), ws_args); +@@ -1947,6 +1957,11 @@ + t = fold_build2 (fd->loops[i].cond_code, boolean_type_node, v, t); + stmt = gimple_build_cond_empty (t); + gsi_insert_after (&gsi, stmt, GSI_CONTINUE_LINKING); ++ if (walk_tree (gimple_cond_lhs_ptr (as_a (stmt)), ++ expand_omp_regimplify_p, NULL, NULL) ++ || walk_tree (gimple_cond_rhs_ptr (as_a (stmt)), ++ expand_omp_regimplify_p, NULL, NULL)) ++ gimple_regimplify_operands (stmt, &gsi); + e = make_edge (bb, body_bb, EDGE_TRUE_VALUE); + e->probability = profile_probability::guessed_always ().apply_scale (7, 8); + } +@@ -3029,20 +3044,21 @@ + + if (fd->ordered && counts[fd->collapse - 1] == NULL_TREE) + { ++ tree tem; + if (fd->collapse > 1) +- t = fd->loop.v; ++ tem = fd->loop.v; + else + { +- t = fold_build2 (MINUS_EXPR, TREE_TYPE (fd->loops[0].v), +- fd->loops[0].v, fd->loops[0].n1); +- t = fold_convert (fd->iter_type, t); ++ tem = fold_build2 (MINUS_EXPR, TREE_TYPE (fd->loops[0].v), ++ fd->loops[0].v, fd->loops[0].n1); ++ tem = fold_convert (fd->iter_type, tem); + } + tree aref = build4 (ARRAY_REF, fd->iter_type, + counts[fd->ordered], size_zero_node, + NULL_TREE, NULL_TREE); +- t = force_gimple_operand_gsi (&gsi, t, true, NULL_TREE, +- true, GSI_SAME_STMT); +- expand_omp_build_assign (&gsi, aref, t); ++ tem = force_gimple_operand_gsi (&gsi, tem, true, NULL_TREE, ++ true, GSI_SAME_STMT); ++ expand_omp_build_assign (&gsi, aref, tem); + } + + t = build2 (fd->loop.cond_code, boolean_type_node, +@@ -7042,11 +7058,6 @@ + gsi_remove (&gsi, true); + } + +- /* Make sure to generate early debug for the function before +- outlining anything. */ +- if (! gimple_in_ssa_p (cfun)) +- (*debug_hooks->early_global_decl) (cfun->decl); +- + /* Move the offloading region into CHILD_CFUN. */ + + block = gimple_block (entry_stmt); +@@ -7123,6 +7134,8 @@ + dump_function_header (dump_file, child_fn, dump_flags); + dump_function_to_file (child_fn, dump_file, dump_flags); + } ++ ++ adjust_context_and_scope (region, gimple_block (entry_stmt), child_fn); + } + + /* Emit a library call to launch the offloading region, or do data +@@ -7619,11 +7632,6 @@ + init_tree_ssa (cfun); + pop_cfun (); + +- /* Make sure to generate early debug for the function before +- outlining anything. */ +- if (! gimple_in_ssa_p (cfun)) +- (*debug_hooks->early_global_decl) (cfun->decl); +- + tree old_parm_decl = DECL_ARGUMENTS (kern_fndecl); + gcc_assert (!DECL_CHAIN (old_parm_decl)); + tree new_parm_decl = copy_node (DECL_ARGUMENTS (kern_fndecl)); +Index: gcc/lto-streamer-out.c +=================================================================== +--- a/src/gcc/lto-streamer-out.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/lto-streamer-out.c (.../branches/gcc-8-branch) +@@ -299,7 +299,6 @@ + name version in lto_output_tree_ref (see output_ssa_names). */ + return !is_lang_specific (expr) + && code != SSA_NAME +- && code != CALL_EXPR + && code != LANG_TYPE + && code != MODIFY_EXPR + && code != INIT_EXPR +Index: gcc/tree-ssa-math-opts.c +=================================================================== +--- a/src/gcc/tree-ssa-math-opts.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/tree-ssa-math-opts.c (.../branches/gcc-8-branch) +@@ -422,6 +422,8 @@ + gsi_next (&gsi); + + gsi_insert_before (&gsi, new_stmt, GSI_SAME_STMT); ++ if (should_insert_square_recip) ++ gsi_insert_before (&gsi, new_square_stmt, GSI_SAME_STMT); + } + else if (def_gsi && occ->bb == def_gsi->bb) + { +@@ -429,8 +431,9 @@ + never happen if the definition statement can throw, because in + that case the sole successor of the statement's basic block will + dominate all the uses as well. */ +- gsi = *def_gsi; + gsi_insert_after (def_gsi, new_stmt, GSI_NEW_STMT); ++ if (should_insert_square_recip) ++ gsi_insert_after (def_gsi, new_square_stmt, GSI_NEW_STMT); + } + else + { +@@ -437,13 +440,10 @@ + /* Case 3: insert in a basic block not containing defs/uses. */ + gsi = gsi_after_labels (occ->bb); + gsi_insert_before (&gsi, new_stmt, GSI_SAME_STMT); ++ if (should_insert_square_recip) ++ gsi_insert_before (&gsi, new_square_stmt, GSI_SAME_STMT); + } + +- /* Regardless of which case the reciprocal as inserted in, +- we insert the square immediately after the reciprocal. */ +- if (should_insert_square_recip) +- gsi_insert_before (&gsi, new_square_stmt, GSI_SAME_STMT); +- + reciprocal_stats.rdivs_inserted++; + + occ->recip_def_stmt = new_stmt; +Index: gcc/tree-ssa-dom.c +=================================================================== +--- a/src/gcc/tree-ssa-dom.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/tree-ssa-dom.c (.../branches/gcc-8-branch) +@@ -776,7 +776,8 @@ + if (bb == NULL) + continue; + while (single_succ_p (bb) +- && (single_succ_edge (bb)->flags & EDGE_EH) == 0) ++ && (single_succ_edge (bb)->flags ++ & (EDGE_EH|EDGE_DFS_BACK)) == 0) + bb = single_succ (bb); + if (bb == EXIT_BLOCK_PTR_FOR_FN (fun)) + continue; +Index: gcc/tree-ssa-propagate.c +=================================================================== +--- a/src/gcc/tree-ssa-propagate.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/tree-ssa-propagate.c (.../branches/gcc-8-branch) +@@ -108,53 +108,28 @@ + [3] Advanced Compiler Design and Implementation, + Steven Muchnick, Morgan Kaufmann, 1997, Section 12.6 */ + +-/* Worklist of control flow edge destinations. This contains ++/* Worklists of control flow edge destinations. This contains + the CFG order number of the blocks so we can iterate in CFG +- order by visiting in bit-order. */ ++ order by visiting in bit-order. We use two worklists to ++ first make forward progress before iterating. */ + static bitmap cfg_blocks; ++static bitmap cfg_blocks_back; + static int *bb_to_cfg_order; + static int *cfg_order_to_bb; + +-/* Worklist of SSA edges which will need reexamination as their ++/* Worklists of SSA edges which will need reexamination as their + definition has changed. SSA edges are def-use edges in the SSA + web. For each D-U edge, we store the target statement or PHI node +- UID in a bitmap. UIDs order stmts in execution order. */ ++ UID in a bitmap. UIDs order stmts in execution order. We use ++ two worklists to first make forward progress before iterating. */ + static bitmap ssa_edge_worklist; ++static bitmap ssa_edge_worklist_back; + static vec uid_to_stmt; + +-/* Return true if the block worklist empty. */ ++/* Current RPO index in the iteration. */ ++static int curr_order; + +-static inline bool +-cfg_blocks_empty_p (void) +-{ +- return bitmap_empty_p (cfg_blocks); +-} + +- +-/* Add a basic block to the worklist. The block must not be the ENTRY +- or EXIT block. */ +- +-static void +-cfg_blocks_add (basic_block bb) +-{ +- gcc_assert (bb != ENTRY_BLOCK_PTR_FOR_FN (cfun) +- && bb != EXIT_BLOCK_PTR_FOR_FN (cfun)); +- bitmap_set_bit (cfg_blocks, bb_to_cfg_order[bb->index]); +-} +- +- +-/* Remove a block from the worklist. */ +- +-static basic_block +-cfg_blocks_get (void) +-{ +- gcc_assert (!cfg_blocks_empty_p ()); +- int order_index = bitmap_first_set_bit (cfg_blocks); +- bitmap_clear_bit (cfg_blocks, order_index); +- return BASIC_BLOCK_FOR_FN (cfun, cfg_order_to_bb [order_index]); +-} +- +- + /* We have just defined a new value for VAR. If IS_VARYING is true, + add all immediate uses of VAR to VARYING_SSA_EDGES, otherwise add + them to INTERESTING_SSA_EDGES. */ +@@ -168,14 +143,28 @@ + FOR_EACH_IMM_USE_FAST (use_p, iter, var) + { + gimple *use_stmt = USE_STMT (use_p); ++ if (!prop_simulate_again_p (use_stmt)) ++ continue; + + /* If we did not yet simulate the block wait for this to happen + and do not add the stmt to the SSA edge worklist. */ +- if (! (gimple_bb (use_stmt)->flags & BB_VISITED)) ++ basic_block use_bb = gimple_bb (use_stmt); ++ if (! (use_bb->flags & BB_VISITED)) + continue; + +- if (prop_simulate_again_p (use_stmt) +- && bitmap_set_bit (ssa_edge_worklist, gimple_uid (use_stmt))) ++ /* If this is a use on a not yet executable edge do not bother to ++ queue it. */ ++ if (gimple_code (use_stmt) == GIMPLE_PHI ++ && !(EDGE_PRED (use_bb, PHI_ARG_INDEX_FROM_USE (use_p))->flags ++ & EDGE_EXECUTABLE)) ++ continue; ++ ++ bitmap worklist; ++ if (bb_to_cfg_order[gimple_bb (use_stmt)->index] < curr_order) ++ worklist = ssa_edge_worklist_back; ++ else ++ worklist = ssa_edge_worklist; ++ if (bitmap_set_bit (worklist, gimple_uid (use_stmt))) + { + uid_to_stmt[gimple_uid (use_stmt)] = use_stmt; + if (dump_file && (dump_flags & TDF_DETAILS)) +@@ -203,7 +192,11 @@ + + e->flags |= EDGE_EXECUTABLE; + +- cfg_blocks_add (bb); ++ int bb_order = bb_to_cfg_order[bb->index]; ++ if (bb_order < curr_order) ++ bitmap_set_bit (cfg_blocks_back, bb_order); ++ else ++ bitmap_set_bit (cfg_blocks, bb_order); + + if (dump_file && (dump_flags & TDF_DETAILS)) + fprintf (dump_file, "Adding destination of edge (%d -> %d) to worklist\n", +@@ -310,34 +303,7 @@ + } + } + +-/* Process an SSA edge worklist. WORKLIST is the SSA edge worklist to +- drain. This pops statements off the given WORKLIST and processes +- them until one statement was simulated or there are no more statements +- on WORKLIST. We take a pointer to WORKLIST because it may be reallocated +- when an SSA edge is added to it in simulate_stmt. Return true if a stmt +- was simulated. */ + +-void +-ssa_propagation_engine::process_ssa_edge_worklist (void) +-{ +- /* Process the next entry from the worklist. */ +- unsigned stmt_uid = bitmap_first_set_bit (ssa_edge_worklist); +- bitmap_clear_bit (ssa_edge_worklist, stmt_uid); +- gimple *stmt = uid_to_stmt[stmt_uid]; +- +- /* We should not have stmts in not yet simulated BBs on the worklist. */ +- gcc_assert (gimple_bb (stmt)->flags & BB_VISITED); +- +- if (dump_file && (dump_flags & TDF_DETAILS)) +- { +- fprintf (dump_file, "\nSimulating statement: "); +- print_gimple_stmt (dump_file, stmt, 0, dump_flags); +- } +- +- simulate_stmt (stmt); +-} +- +- + /* Simulate the execution of BLOCK. Evaluate the statement associated + with each variable reference inside the block. */ + +@@ -414,6 +380,7 @@ + + /* Worklists of SSA edges. */ + ssa_edge_worklist = BITMAP_ALLOC (NULL); ++ ssa_edge_worklist_back = BITMAP_ALLOC (NULL); + + /* Worklist of basic-blocks. */ + bb_to_cfg_order = XNEWVEC (int, last_basic_block_for_fn (cfun) + 1); +@@ -423,10 +390,8 @@ + for (int i = 0; i < n; ++i) + bb_to_cfg_order[cfg_order_to_bb[i]] = i; + cfg_blocks = BITMAP_ALLOC (NULL); ++ cfg_blocks_back = BITMAP_ALLOC (NULL); + +- if (dump_file && (dump_flags & TDF_DETAILS)) +- dump_immediate_uses (dump_file); +- + /* Initially assume that every edge in the CFG is not executable. + (including the edges coming out of the entry block). Mark blocks + as not visited, blocks not yet visited will have all their statements +@@ -471,9 +436,11 @@ + ssa_prop_fini (void) + { + BITMAP_FREE (cfg_blocks); ++ BITMAP_FREE (cfg_blocks_back); + free (bb_to_cfg_order); + free (cfg_order_to_bb); + BITMAP_FREE (ssa_edge_worklist); ++ BITMAP_FREE (ssa_edge_worklist_back); + uid_to_stmt.release (); + } + +@@ -788,21 +755,61 @@ + { + ssa_prop_init (); + +- /* Iterate until the worklists are empty. */ +- while (! cfg_blocks_empty_p () +- || ! bitmap_empty_p (ssa_edge_worklist)) ++ curr_order = 0; ++ ++ /* Iterate until the worklists are empty. We iterate both blocks ++ and stmts in RPO order, using sets of two worklists to first ++ complete the current iteration before iterating over backedges. */ ++ while (1) + { +- /* First simulate whole blocks. */ +- if (! cfg_blocks_empty_p ()) ++ int next_block_order = (bitmap_empty_p (cfg_blocks) ++ ? -1 : bitmap_first_set_bit (cfg_blocks)); ++ int next_stmt_uid = (bitmap_empty_p (ssa_edge_worklist) ++ ? -1 : bitmap_first_set_bit (ssa_edge_worklist)); ++ if (next_block_order == -1 && next_stmt_uid == -1) + { +- /* Pull the next block to simulate off the worklist. */ +- basic_block dest_block = cfg_blocks_get (); +- simulate_block (dest_block); ++ if (bitmap_empty_p (cfg_blocks_back) ++ && bitmap_empty_p (ssa_edge_worklist_back)) ++ break; ++ ++ if (dump_file && (dump_flags & TDF_DETAILS)) ++ fprintf (dump_file, "Regular worklists empty, now processing " ++ "backedge destinations\n"); ++ std::swap (cfg_blocks, cfg_blocks_back); ++ std::swap (ssa_edge_worklist, ssa_edge_worklist_back); + continue; + } + +- /* Then simulate from the SSA edge worklist. */ +- process_ssa_edge_worklist (); ++ int next_stmt_bb_order = -1; ++ gimple *next_stmt = NULL; ++ if (next_stmt_uid != -1) ++ { ++ next_stmt = uid_to_stmt[next_stmt_uid]; ++ next_stmt_bb_order = bb_to_cfg_order[gimple_bb (next_stmt)->index]; ++ } ++ ++ /* Pull the next block to simulate off the worklist if it comes first. */ ++ if (next_block_order != -1 ++ && (next_stmt_bb_order == -1 ++ || next_block_order <= next_stmt_bb_order)) ++ { ++ curr_order = next_block_order; ++ bitmap_clear_bit (cfg_blocks, next_block_order); ++ basic_block bb ++ = BASIC_BLOCK_FOR_FN (cfun, cfg_order_to_bb [next_block_order]); ++ simulate_block (bb); ++ } ++ /* Else simulate from the SSA edge worklist. */ ++ else ++ { ++ curr_order = next_stmt_bb_order; ++ if (dump_file && (dump_flags & TDF_DETAILS)) ++ { ++ fprintf (dump_file, "\nSimulating statement: "); ++ print_gimple_stmt (dump_file, next_stmt, 0, dump_flags); ++ } ++ simulate_stmt (next_stmt); ++ } + } + + ssa_prop_fini (); +Index: gcc/ipa-utils.c +=================================================================== +--- a/src/gcc/ipa-utils.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/ipa-utils.c (.../branches/gcc-8-branch) +@@ -375,7 +375,21 @@ + return t; + } + ++/* Scale function of calls in NODE by ratio ORIG_COUNT/NODE->count. */ + ++void ++scale_ipa_profile_for_fn (struct cgraph_node *node, profile_count orig_count) ++{ ++ profile_count to = node->count; ++ profile_count::adjust_for_ipa_scaling (&to, &orig_count); ++ struct cgraph_edge *e; ++ ++ for (e = node->callees; e; e = e->next_callee) ++ e->count = e->count.apply_scale (to, orig_count); ++ for (e = node->indirect_calls; e; e = e->next_callee) ++ e->count = e->count.apply_scale (to, orig_count); ++} ++ + /* SRC and DST are going to be merged. Take SRC's profile and merge it into + DST so it is not going to be lost. Possibly destroy SRC's body on the way + unless PRESERVE_BODY is set. */ +@@ -392,6 +406,7 @@ + if (!src->definition + || !dst->definition) + return; ++ + if (src->frequency < dst->frequency) + src->frequency = dst->frequency; + +@@ -402,6 +417,10 @@ + if (src->profile_id && !dst->profile_id) + dst->profile_id = src->profile_id; + ++ /* Merging zero profile to dst is no-op. */ ++ if (src->count.ipa () == profile_count::zero ()) ++ return; ++ + /* FIXME when we merge in unknown profile, we ought to set counts as + unsafe. */ + if (!src->count.initialized_p () +@@ -412,11 +431,21 @@ + fprintf (symtab->dump_file, "Merging profiles of %s to %s\n", + src->dump_name (), dst->dump_name ()); + } ++ profile_count orig_count = dst->count; ++ + if (dst->count.initialized_p () && dst->count.ipa () == dst->count) + dst->count += src->count.ipa (); + else + dst->count = src->count.ipa (); + ++ /* First handle functions with no gimple body. */ ++ if (dst->thunk.thunk_p || dst->alias ++ || src->thunk.thunk_p || src->alias) ++ { ++ scale_ipa_profile_for_fn (dst, orig_count); ++ return; ++ } ++ + /* This is ugly. We need to get both function bodies into memory. + If declaration is merged, we need to duplicate it to be able + to load body that is being replaced. This makes symbol table +@@ -641,7 +670,10 @@ + src->release_body (); + ipa_update_overall_fn_summary (dst); + } +- /* TODO: if there is no match, we can scale up. */ ++ /* We can't update CFG profile, but we can scale IPA profile. CFG ++ will be scaled according to dst->count after IPA passes. */ ++ else ++ scale_ipa_profile_for_fn (dst, orig_count); + src->decl = oldsrcdecl; + } + +Index: gcc/tree-ssa-propagate.h +=================================================================== +--- a/src/gcc/tree-ssa-propagate.h (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/tree-ssa-propagate.h (.../branches/gcc-8-branch) +@@ -94,9 +94,7 @@ + private: + /* Internal implementation details. */ + void simulate_stmt (gimple *stmt); +- void process_ssa_edge_worklist (void); + void simulate_block (basic_block); +- + }; + + class substitute_and_fold_engine +Index: gcc/tree-ssa-alias.c +=================================================================== +--- a/src/gcc/tree-ssa-alias.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/tree-ssa-alias.c (.../branches/gcc-8-branch) +@@ -2346,7 +2346,7 @@ + + /* Be conservative with non-call exceptions when the address might + be NULL. */ +- if (flag_non_call_exceptions && pi->pt.null) ++ if (cfun->can_throw_non_call_exceptions && pi->pt.null) + return false; + + /* Check that ptr points relative to obj. */ +Index: gcc/lto-wrapper.c +=================================================================== +--- a/src/gcc/lto-wrapper.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/lto-wrapper.c (.../branches/gcc-8-branch) +@@ -408,6 +408,11 @@ + It is a common mistake to mix few -fPIC compiled objects into otherwise + non-PIC code. We do not want to build everything with PIC then. + ++ Similarly we merge PIE options, however in addition we keep ++ -fPIC + -fPIE = -fPIE ++ -fpic + -fPIE = -fpie ++ -fPIC/-fpic + -fpie = -fpie ++ + It would be good to warn on mismatches, but it is bit hard to do as + we do not know what nothing translates to. */ + +@@ -415,12 +420,39 @@ + if ((*decoded_options)[j].opt_index == OPT_fPIC + || (*decoded_options)[j].opt_index == OPT_fpic) + { +- if (!pic_option +- || (pic_option->value > 0) != ((*decoded_options)[j].value > 0)) +- remove_option (decoded_options, j, decoded_options_count); +- else if (pic_option->opt_index == OPT_fPIC +- && (*decoded_options)[j].opt_index == OPT_fpic) ++ /* -fno-pic in one unit implies -fno-pic everywhere. */ ++ if ((*decoded_options)[j].value == 0) ++ j++; ++ /* If we have no pic option or merge in -fno-pic, we still may turn ++ existing pic/PIC mode into pie/PIE if -fpie/-fPIE is present. */ ++ else if ((pic_option && pic_option->value == 0) ++ || !pic_option) + { ++ if (pie_option) ++ { ++ bool big = (*decoded_options)[j].opt_index == OPT_fPIC ++ && pie_option->opt_index == OPT_fPIE; ++ (*decoded_options)[j].opt_index = big ? OPT_fPIE : OPT_fpie; ++ if (pie_option->value) ++ (*decoded_options)[j].canonical_option[0] = big ? "-fPIE" : "-fpie"; ++ else ++ (*decoded_options)[j].canonical_option[0] = big ? "-fno-pie" : "-fno-pie"; ++ (*decoded_options)[j].value = pie_option->value; ++ j++; ++ } ++ else if (pic_option) ++ { ++ (*decoded_options)[j] = *pic_option; ++ j++; ++ } ++ /* We do not know if target defaults to pic or not, so just remove ++ option if it is missing in one unit but enabled in other. */ ++ else ++ remove_option (decoded_options, j, decoded_options_count); ++ } ++ else if (pic_option->opt_index == OPT_fpic ++ && (*decoded_options)[j].opt_index == OPT_fPIC) ++ { + (*decoded_options)[j] = *pic_option; + j++; + } +@@ -430,12 +462,43 @@ + else if ((*decoded_options)[j].opt_index == OPT_fPIE + || (*decoded_options)[j].opt_index == OPT_fpie) + { +- if (!pie_option +- || pie_option->value != (*decoded_options)[j].value) +- remove_option (decoded_options, j, decoded_options_count); +- else if (pie_option->opt_index == OPT_fPIE +- && (*decoded_options)[j].opt_index == OPT_fpie) ++ /* -fno-pie in one unit implies -fno-pie everywhere. */ ++ if ((*decoded_options)[j].value == 0) ++ j++; ++ /* If we have no pie option or merge in -fno-pie, we still preserve ++ PIE/pie if pic/PIC is present. */ ++ else if ((pie_option && pie_option->value == 0) ++ || !pie_option) + { ++ /* If -fPIC/-fpic is given, merge it with -fPIE/-fpie. */ ++ if (pic_option) ++ { ++ if (pic_option->opt_index == OPT_fpic ++ && (*decoded_options)[j].opt_index == OPT_fPIE) ++ { ++ (*decoded_options)[j].opt_index = OPT_fpie; ++ (*decoded_options)[j].canonical_option[0] ++ = pic_option->value ? "-fpie" : "-fno-pie"; ++ } ++ else if (!pic_option->value) ++ (*decoded_options)[j].canonical_option[0] = "-fno-pie"; ++ (*decoded_options)[j].value = pic_option->value; ++ j++; ++ } ++ else if (pie_option) ++ { ++ (*decoded_options)[j] = *pie_option; ++ j++; ++ } ++ /* Because we always append pic/PIE options this code path should ++ not happen unless the LTO object was built by old lto1 which ++ did not contain that logic yet. */ ++ else ++ remove_option (decoded_options, j, decoded_options_count); ++ } ++ else if (pie_option->opt_index == OPT_fpie ++ && (*decoded_options)[j].opt_index == OPT_fPIE) ++ { + (*decoded_options)[j] = *pie_option; + j++; + } +Index: gcc/ipa-inline.c +=================================================================== +--- a/src/gcc/ipa-inline.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/ipa-inline.c (.../branches/gcc-8-branch) +@@ -260,6 +260,12 @@ + if (!caller || !callee) + return true; + ++ /* Allow inlining always_inline functions into no_sanitize_address ++ functions. */ ++ if (!sanitize_flags_p (SANITIZE_ADDRESS, caller) ++ && lookup_attribute ("always_inline", DECL_ATTRIBUTES (callee))) ++ return true; ++ + return ((sanitize_flags_p (SANITIZE_ADDRESS, caller) + == sanitize_flags_p (SANITIZE_ADDRESS, callee)) + && (sanitize_flags_p (SANITIZE_POINTER_COMPARE, caller) +Index: gcc/dwarf2out.c +=================================================================== +--- a/src/gcc/dwarf2out.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/dwarf2out.c (.../branches/gcc-8-branch) +@@ -304,6 +304,10 @@ + #define FUNC_BEGIN_LABEL "LFB" + #endif + ++#ifndef FUNC_SECOND_SECT_LABEL ++#define FUNC_SECOND_SECT_LABEL "LFSB" ++#endif ++ + #ifndef FUNC_END_LABEL + #define FUNC_END_LABEL "LFE" + #endif +@@ -1219,21 +1223,24 @@ + void + dwarf2out_switch_text_section (void) + { ++ char label[MAX_ARTIFICIAL_LABEL_BYTES]; + section *sect; + dw_fde_ref fde = cfun->fde; + + gcc_assert (cfun && fde && fde->dw_fde_second_begin == NULL); + ++ ASM_GENERATE_INTERNAL_LABEL (label, FUNC_SECOND_SECT_LABEL, ++ current_function_funcdef_no); ++ ++ fde->dw_fde_second_begin = ggc_strdup (label); + if (!in_cold_section_p) + { + fde->dw_fde_end = crtl->subsections.cold_section_end_label; +- fde->dw_fde_second_begin = crtl->subsections.hot_section_label; + fde->dw_fde_second_end = crtl->subsections.hot_section_end_label; + } + else + { + fde->dw_fde_end = crtl->subsections.hot_section_end_label; +- fde->dw_fde_second_begin = crtl->subsections.cold_section_label; + fde->dw_fde_second_end = crtl->subsections.cold_section_end_label; + } + have_multiple_function_sections = true; +@@ -8156,6 +8163,11 @@ + decl_table_entry **slot = NULL; + struct decl_table_entry *entry = NULL; + ++ /* If DIE refers to a stub unfold that so we get the appropriate ++ DIE registered as orig in decl_table. */ ++ if (dw_die_ref c = get_AT_ref (die, DW_AT_signature)) ++ die = c; ++ + if (decl_table) + { + /* Check if the entry has already been copied to UNIT. */ +@@ -8709,6 +8721,33 @@ + FOR_EACH_CHILD (die, c, copy_decls_walk (unit, c, decl_table)); + } + ++/* Collect skeleton dies in DIE created by break_out_comdat_types already ++ and record them in DECL_TABLE. */ ++ ++static void ++collect_skeleton_dies (dw_die_ref die, decl_hash_type *decl_table) ++{ ++ dw_die_ref c; ++ ++ if (dw_attr_node *a = get_AT (die, DW_AT_signature)) ++ { ++ dw_die_ref targ = AT_ref (a); ++ gcc_assert (targ->die_mark == 0 && targ->comdat_type_p); ++ decl_table_entry **slot ++ = decl_table->find_slot_with_hash (targ, ++ htab_hash_pointer (targ), ++ INSERT); ++ gcc_assert (*slot == HTAB_EMPTY_ENTRY); ++ /* Record in DECL_TABLE that TARG has been already copied ++ by remove_child_or_replace_with_skeleton. */ ++ decl_table_entry *entry = XCNEW (struct decl_table_entry); ++ entry->orig = targ; ++ entry->copy = die; ++ *slot = entry; ++ } ++ FOR_EACH_CHILD (die, c, collect_skeleton_dies (c, decl_table)); ++} ++ + /* Copy declarations for "unworthy" types into the new comdat section. + Incomplete types, modified types, and certain other types aren't broken + out into comdat sections of their own, so they don't have a signature, +@@ -8720,6 +8759,7 @@ + { + mark_dies (unit); + decl_hash_type decl_table (10); ++ collect_skeleton_dies (unit, &decl_table); + copy_decls_walk (unit, unit, &decl_table); + unmark_dies (unit); + } +@@ -9013,8 +9053,10 @@ + struct external_ref *ref_p; + gcc_assert (AT_ref (a)->comdat_type_p || AT_ref (a)->die_id.die_symbol); + +- ref_p = lookup_external_ref (extern_map, c); +- if (ref_p->stub && ref_p->stub != die) ++ if (is_type_die (c) ++ && (ref_p = lookup_external_ref (extern_map, c)) ++ && ref_p->stub && ref_p->stub != die ++ && a->dw_attr != DW_AT_signature) + change_AT_die_ref (a, ref_p->stub); + else + /* We aren't changing this reference, so mark it external. */ +@@ -11060,7 +11102,9 @@ + static inline bool + want_pubnames (void) + { +- if (debug_info_level <= DINFO_LEVEL_TERSE) ++ if (debug_info_level <= DINFO_LEVEL_TERSE ++ /* Names and types go to the early debug part only. */ ++ || in_lto_p) + return false; + if (debug_generate_pub_sections != -1) + return debug_generate_pub_sections; +@@ -13136,6 +13180,8 @@ + && TYPE_PRECISION (sizetype) == TYPE_PRECISION (size_type_node) + && TYPE_UNSIGNED (sizetype) == TYPE_UNSIGNED (size_type_node)) + qualified_type = size_type_node; ++ if (type == sizetype) ++ type = qualified_type; + } + + /* If we do, then we can just use its DIE, if it exists. */ +@@ -14391,6 +14437,10 @@ + } + } + ++/* True if handling a former CONST by mem_loc_descriptor piecewise. */ ++ ++static bool in_const_p; ++ + /* Helper function for const_ok_for_output. */ + + static bool +@@ -14413,6 +14463,7 @@ + one in a constant pool entry, so testing SYMBOL_REF_TLS_MODEL + rather than DECL_THREAD_LOCAL_P is not just an optimization. */ + if (flag_checking ++ && !in_const_p + && (XVECLEN (rtl, 0) == 0 + || GET_CODE (XVECEXP (rtl, 0, 0)) != SYMBOL_REF + || SYMBOL_REF_TLS_MODEL (XVECEXP (rtl, 0, 0)) == TLS_MODEL_NONE)) +@@ -14436,13 +14487,6 @@ + if (CONST_POLY_INT_P (rtl)) + return false; + +- if (targetm.const_not_ok_for_debug_p (rtl)) +- { +- expansion_failed (NULL_TREE, rtl, +- "Expression rejected for debug by the backend.\n"); +- return false; +- } +- + /* FIXME: Refer to PR60655. It is possible for simplification + of rtl expressions in var tracking to produce such expressions. + We should really identify / validate expressions +@@ -14455,6 +14499,41 @@ + case NOT: + case NEG: + return false; ++ case PLUS: ++ { ++ /* Make sure SYMBOL_REFs/UNSPECs are at most in one of the ++ operands. */ ++ subrtx_var_iterator::array_type array; ++ bool first = false; ++ FOR_EACH_SUBRTX_VAR (iter, array, XEXP (rtl, 0), ALL) ++ if (SYMBOL_REF_P (*iter) ++ || LABEL_P (*iter) ++ || GET_CODE (*iter) == UNSPEC) ++ { ++ first = true; ++ break; ++ } ++ if (!first) ++ return true; ++ FOR_EACH_SUBRTX_VAR (iter, array, XEXP (rtl, 1), ALL) ++ if (SYMBOL_REF_P (*iter) ++ || LABEL_P (*iter) ++ || GET_CODE (*iter) == UNSPEC) ++ return false; ++ return true; ++ } ++ case MINUS: ++ { ++ /* Disallow negation of SYMBOL_REFs or UNSPECs when they ++ appear in the second operand of MINUS. */ ++ subrtx_var_iterator::array_type array; ++ FOR_EACH_SUBRTX_VAR (iter, array, XEXP (rtl, 1), ALL) ++ if (SYMBOL_REF_P (*iter) ++ || LABEL_P (*iter) ++ || GET_CODE (*iter) == UNSPEC) ++ return false; ++ return true; ++ } + default: + return true; + } +@@ -15598,6 +15677,7 @@ + pool. */ + case CONST: + case SYMBOL_REF: ++ case UNSPEC: + if (!is_a (mode, &int_mode) + || (GET_MODE_SIZE (int_mode) > DWARF2_ADDR_SIZE + #ifdef POINTERS_EXTEND_UNSIGNED +@@ -15605,6 +15685,43 @@ + #endif + )) + break; ++ ++ if (GET_CODE (rtl) == UNSPEC) ++ { ++ /* If delegitimize_address couldn't do anything with the UNSPEC, we ++ can't express it in the debug info. This can happen e.g. with some ++ TLS UNSPECs. Allow UNSPECs formerly from CONST that the backend ++ approves. */ ++ bool not_ok = false; ++ ++ if (!in_const_p) ++ break; ++ ++ subrtx_var_iterator::array_type array; ++ FOR_EACH_SUBRTX_VAR (iter, array, rtl, ALL) ++ if (*iter != rtl && !CONSTANT_P (*iter)) ++ { ++ not_ok = true; ++ break; ++ } ++ ++ if (not_ok) ++ break; ++ ++ FOR_EACH_SUBRTX_VAR (iter, array, rtl, ALL) ++ if (!const_ok_for_output_1 (*iter)) ++ { ++ not_ok = true; ++ break; ++ } ++ ++ if (not_ok) ++ break; ++ ++ rtl = gen_rtx_CONST (GET_MODE (rtl), rtl); ++ goto symref; ++ } ++ + if (GET_CODE (rtl) == SYMBOL_REF + && SYMBOL_REF_TLS_MODEL (rtl) != TLS_MODEL_NONE) + { +@@ -15652,8 +15769,13 @@ + } + break; + default: +- mem_loc_result = mem_loc_descriptor (XEXP (rtl, 0), int_mode, +- mem_mode, initialized); ++ { ++ bool save_in_const_p = in_const_p; ++ in_const_p = true; ++ mem_loc_result = mem_loc_descriptor (XEXP (rtl, 0), int_mode, ++ mem_mode, initialized); ++ in_const_p = save_in_const_p; ++ } + break; + } + break; +@@ -16273,7 +16395,6 @@ + case VEC_CONCAT: + case VEC_DUPLICATE: + case VEC_SERIES: +- case UNSPEC: + case HIGH: + case FMA: + case STRICT_LOW_PART: +@@ -16281,9 +16402,6 @@ + case CONST_FIXED: + case CLRSB: + case CLOBBER: +- /* If delegitimize_address couldn't do anything with the UNSPEC, we +- can't express it in the debug info. This can happen e.g. with some +- TLS UNSPECs. */ + break; + + case CONST_STRING: +@@ -16737,7 +16855,15 @@ + && DECL_SECTION_NAME (decl)) + secname = DECL_SECTION_NAME (decl); + else if (current_function_decl && DECL_SECTION_NAME (current_function_decl)) +- secname = DECL_SECTION_NAME (current_function_decl); ++ { ++ if (in_cold_section_p) ++ { ++ section *sec = current_function_section (); ++ if (sec->common.flags & SECTION_NAMED) ++ return sec->named.name; ++ } ++ secname = DECL_SECTION_NAME (current_function_decl); ++ } + else if (cfun && in_cold_section_p) + secname = crtl->subsections.cold_section_label; + else +@@ -23872,6 +23998,10 @@ + static inline void + add_call_src_coords_attributes (tree stmt, dw_die_ref die) + { ++ /* We can end up with BUILTINS_LOCATION here. */ ++ if (RESERVED_LOCATION_P (BLOCK_SOURCE_LOCATION (stmt))) ++ return; ++ + expanded_location s = expand_location (BLOCK_SOURCE_LOCATION (stmt)); + + if (dwarf_version >= 3 || !dwarf_strict) +@@ -24922,7 +25052,7 @@ + the TREE node representing the appropriate (containing) type. */ + + /* First output info about the base classes. */ +- if (binfo) ++ if (binfo && early_dwarf) + { + vec *accesses = BINFO_BASE_ACCESSES (binfo); + int i; +@@ -26378,7 +26508,7 @@ + enough so that it lands in its own context. This avoids type + pruning issues later on. */ + if (context_die == NULL || is_declaration_die (context_die)) +- dwarf2out_decl (context); ++ dwarf2out_early_global_decl (context); + } + + /* Emit an abstract origin of a function first. This happens +@@ -28472,7 +28602,7 @@ + debug_str_section = get_section (DEBUG_LTO_STR_SECTION, + DEBUG_STR_SECTION_FLAGS + | SECTION_EXCLUDE, NULL); +- if (!dwarf_split_debug_info && !output_asm_line_debug_info ()) ++ if (!dwarf_split_debug_info) + debug_line_str_section + = get_section (DEBUG_LTO_LINE_STR_SECTION, + DEBUG_STR_SECTION_FLAGS | SECTION_EXCLUDE, NULL); +@@ -31074,6 +31204,11 @@ + + /* Remove indirect string decisions. */ + debug_str_hash->traverse (NULL); ++ if (debug_line_str_hash) ++ { ++ debug_line_str_hash->traverse (NULL); ++ debug_line_str_hash = NULL; ++ } + } + + #if ENABLE_ASSERT_CHECKING +@@ -31082,6 +31217,8 @@ + FOR_EACH_CHILD (die, c, gcc_assert (! c->die_mark)); + } + #endif ++ for (ctnode = comdat_type_list; ctnode != NULL; ctnode = ctnode->next) ++ resolve_addr (ctnode->root_die); + resolve_addr (comp_unit_die ()); + move_marked_base_types (); + +@@ -31330,8 +31467,8 @@ + switch_to_section (debug_loc_section); + if (dwarf_version >= 5) + { +- ASM_GENERATE_INTERNAL_LABEL (l1, DEBUG_LOC_SECTION_LABEL, 1); +- ASM_GENERATE_INTERNAL_LABEL (l2, DEBUG_LOC_SECTION_LABEL, 2); ++ ASM_GENERATE_INTERNAL_LABEL (l1, DEBUG_LOC_SECTION_LABEL, 2); ++ ASM_GENERATE_INTERNAL_LABEL (l2, DEBUG_LOC_SECTION_LABEL, 3); + if (DWARF_INITIAL_LENGTH_SIZE - DWARF_OFFSET_SIZE == 4) + dw2_asm_output_data (4, 0xffffffff, + "Initial length escape value indicating " +@@ -31832,10 +31969,10 @@ + + /* Do not generate DWARF assembler now when not producing LTO bytecode. */ + if ((!flag_generate_lto && !flag_generate_offload) +- /* FIXME: Disable debug info generation for PE-COFF targets since the ++ /* FIXME: Disable debug info generation for (PE-)COFF targets since the + copy_lto_debug_sections operation of the simple object support in + libiberty is not implemented for them yet. */ +- || TARGET_PECOFF) ++ || TARGET_PECOFF || TARGET_COFF) + return; + + /* Now as we are going to output for LTO initialize sections and labels +@@ -31950,6 +32087,13 @@ + /* If we emitted any indirect strings, output the string table too. */ + if (debug_str_hash || skeleton_debug_str_hash) + output_indirect_strings (); ++ if (debug_line_str_hash) ++ { ++ switch_to_section (debug_line_str_section); ++ const enum dwarf_form form = DW_FORM_line_strp; ++ debug_line_str_hash->traverse (form); ++ } + + /* Switch back to the text section. */ + switch_to_section (text_section); +Index: gcc/match.pd +=================================================================== +--- a/src/gcc/match.pd (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/match.pd (.../branches/gcc-8-branch) +@@ -1417,6 +1417,7 @@ + (op:c (plus:c@2 @0 @1) @1) + (if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (@0)) + && TYPE_OVERFLOW_UNDEFINED (TREE_TYPE (@0)) ++ && !TYPE_OVERFLOW_SANITIZED (TREE_TYPE (@0)) + && (CONSTANT_CLASS_P (@0) || single_use (@2))) + (op @0 { build_zero_cst (TREE_TYPE (@0)); })))) + /* For equality, this is also true with wrapping overflow. */ +@@ -3462,8 +3463,8 @@ + /* Disable this optimization if we're casting a function pointer + type on targets that require function pointer canonicalization. */ + && !(targetm.have_canonicalize_funcptr_for_compare () +- && TREE_CODE (TREE_TYPE (@00)) == POINTER_TYPE +- && TREE_CODE (TREE_TYPE (TREE_TYPE (@00))) == FUNCTION_TYPE) ++ && POINTER_TYPE_P (TREE_TYPE (@00)) ++ && FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (@00)))) + && single_use (@0)) + (if (TYPE_PRECISION (TREE_TYPE (@00)) == TYPE_PRECISION (TREE_TYPE (@0)) + && (TREE_CODE (@10) == INTEGER_CST +Index: gcc/expr.c +=================================================================== +--- a/src/gcc/expr.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/expr.c (.../branches/gcc-8-branch) +@@ -1632,14 +1632,6 @@ + if (may_use_call < 0) + return pc_rtx; + +- /* Since x and y are passed to a libcall, mark the corresponding +- tree EXPR as addressable. */ +- tree y_expr = MEM_EXPR (y); +- tree x_expr = MEM_EXPR (x); +- if (y_expr) +- mark_addressable (y_expr); +- if (x_expr) +- mark_addressable (x_expr); + retval = emit_block_copy_via_libcall (x, y, size, + method == BLOCK_OP_TAILCALL); + } +@@ -1885,6 +1877,15 @@ + tree call_expr, dst_tree, src_tree, size_tree; + machine_mode size_mode; + ++ /* Since dst and src are passed to a libcall, mark the corresponding ++ tree EXPR as addressable. */ ++ tree dst_expr = MEM_EXPR (dst); ++ tree src_expr = MEM_EXPR (src); ++ if (dst_expr) ++ mark_addressable (dst_expr); ++ if (src_expr) ++ mark_addressable (src_expr); ++ + dst_addr = copy_addr_to_reg (XEXP (dst, 0)); + dst_addr = convert_memory_address (ptr_mode, dst_addr); + dst_tree = make_tree (ptr_type_node, dst_addr); +@@ -5230,6 +5231,21 @@ + emit_move_insn (XEXP (to_rtx, 1), read_complex_part (temp, true)); + } + } ++ /* For calls to functions returning variable length structures, if TO_RTX ++ is not a MEM, go through a MEM because we must not create temporaries ++ of the VLA type. */ ++ else if (!MEM_P (to_rtx) ++ && TREE_CODE (from) == CALL_EXPR ++ && COMPLETE_TYPE_P (TREE_TYPE (from)) ++ && TREE_CODE (TYPE_SIZE (TREE_TYPE (from))) != INTEGER_CST) ++ { ++ rtx temp = assign_stack_temp (GET_MODE (to_rtx), ++ GET_MODE_SIZE (GET_MODE (to_rtx))); ++ result = store_field (temp, bitsize, bitpos, bitregion_start, ++ bitregion_end, mode1, from, get_alias_set (to), ++ nontemporal, reversep); ++ emit_move_insn (to_rtx, temp); ++ } + else + { + if (MEM_P (to_rtx)) +@@ -5970,10 +5986,11 @@ + + static bool + categorize_ctor_elements_1 (const_tree ctor, HOST_WIDE_INT *p_nz_elts, ++ HOST_WIDE_INT *p_unique_nz_elts, + HOST_WIDE_INT *p_init_elts, bool *p_complete) + { + unsigned HOST_WIDE_INT idx; +- HOST_WIDE_INT nz_elts, init_elts, num_fields; ++ HOST_WIDE_INT nz_elts, unique_nz_elts, init_elts, num_fields; + tree value, purpose, elt_type; + + /* Whether CTOR is a valid constant initializer, in accordance with what +@@ -5983,6 +6000,7 @@ + bool const_p = const_from_elts_p ? true : TREE_STATIC (ctor); + + nz_elts = 0; ++ unique_nz_elts = 0; + init_elts = 0; + num_fields = 0; + elt_type = NULL_TREE; +@@ -6007,12 +6025,13 @@ + { + case CONSTRUCTOR: + { +- HOST_WIDE_INT nz = 0, ic = 0; ++ HOST_WIDE_INT nz = 0, unz = 0, ic = 0; + +- bool const_elt_p = categorize_ctor_elements_1 (value, &nz, &ic, +- p_complete); ++ bool const_elt_p = categorize_ctor_elements_1 (value, &nz, &unz, ++ &ic, p_complete); + + nz_elts += mult * nz; ++ unique_nz_elts += unz; + init_elts += mult * ic; + + if (const_from_elts_p && const_p) +@@ -6024,21 +6043,31 @@ + case REAL_CST: + case FIXED_CST: + if (!initializer_zerop (value)) +- nz_elts += mult; ++ { ++ nz_elts += mult; ++ unique_nz_elts++; ++ } + init_elts += mult; + break; + + case STRING_CST: + nz_elts += mult * TREE_STRING_LENGTH (value); ++ unique_nz_elts += TREE_STRING_LENGTH (value); + init_elts += mult * TREE_STRING_LENGTH (value); + break; + + case COMPLEX_CST: + if (!initializer_zerop (TREE_REALPART (value))) +- nz_elts += mult; ++ { ++ nz_elts += mult; ++ unique_nz_elts++; ++ } + if (!initializer_zerop (TREE_IMAGPART (value))) +- nz_elts += mult; +- init_elts += mult; ++ { ++ nz_elts += mult; ++ unique_nz_elts++; ++ } ++ init_elts += 2 * mult; + break; + + case VECTOR_CST: +@@ -6050,7 +6079,10 @@ + { + tree v = VECTOR_CST_ELT (value, i); + if (!initializer_zerop (v)) +- nz_elts += mult; ++ { ++ nz_elts += mult; ++ unique_nz_elts++; ++ } + init_elts += mult; + } + } +@@ -6060,6 +6092,7 @@ + { + HOST_WIDE_INT tc = count_type_elements (elt_type, false); + nz_elts += mult * tc; ++ unique_nz_elts += tc; + init_elts += mult * tc; + + if (const_from_elts_p && const_p) +@@ -6079,6 +6112,7 @@ + *p_complete = false; + + *p_nz_elts += nz_elts; ++ *p_unique_nz_elts += unique_nz_elts; + *p_init_elts += init_elts; + + return const_p; +@@ -6087,6 +6121,11 @@ + /* Examine CTOR to discover: + * how many scalar fields are set to nonzero values, + and place it in *P_NZ_ELTS; ++ * the same, but counting RANGE_EXPRs as multiplier of 1 instead of ++ high - low + 1 (this can be useful for callers to determine ctors ++ that could be cheaply initialized with - perhaps nested - loops ++ compared to copied from huge read-only data), ++ and place it in *P_UNIQUE_NZ_ELTS; + * how many scalar fields in total are in CTOR, + and place it in *P_ELT_COUNT. + * whether the constructor is complete -- in the sense that every +@@ -6098,13 +6137,16 @@ + + bool + categorize_ctor_elements (const_tree ctor, HOST_WIDE_INT *p_nz_elts, ++ HOST_WIDE_INT *p_unique_nz_elts, + HOST_WIDE_INT *p_init_elts, bool *p_complete) + { + *p_nz_elts = 0; ++ *p_unique_nz_elts = 0; + *p_init_elts = 0; + *p_complete = true; + +- return categorize_ctor_elements_1 (ctor, p_nz_elts, p_init_elts, p_complete); ++ return categorize_ctor_elements_1 (ctor, p_nz_elts, p_unique_nz_elts, ++ p_init_elts, p_complete); + } + + /* TYPE is initialized by a constructor with NUM_ELTS elements, the last +@@ -6135,7 +6177,7 @@ + return count_type_elements (type, true) == num_elts; + } + +-/* Return 1 if EXP contains mostly (3/4) zeros. */ ++/* Return 1 if EXP contains mostly (3/4) zeros. */ + + static int + mostly_zeros_p (const_tree exp) +@@ -6142,10 +6184,11 @@ + { + if (TREE_CODE (exp) == CONSTRUCTOR) + { +- HOST_WIDE_INT nz_elts, init_elts; ++ HOST_WIDE_INT nz_elts, unz_elts, init_elts; + bool complete_p; + +- categorize_ctor_elements (exp, &nz_elts, &init_elts, &complete_p); ++ categorize_ctor_elements (exp, &nz_elts, &unz_elts, &init_elts, ++ &complete_p); + return !complete_p || nz_elts < init_elts / 4; + } + +@@ -6159,10 +6202,11 @@ + { + if (TREE_CODE (exp) == CONSTRUCTOR) + { +- HOST_WIDE_INT nz_elts, init_elts; ++ HOST_WIDE_INT nz_elts, unz_elts, init_elts; + bool complete_p; + +- categorize_ctor_elements (exp, &nz_elts, &init_elts, &complete_p); ++ categorize_ctor_elements (exp, &nz_elts, &unz_elts, &init_elts, ++ &complete_p); + return nz_elts == 0; + } + +@@ -8773,8 +8817,8 @@ + != INTEGER_CST check. Handle it. */ + if (GET_MODE (op0) == VOIDmode && GET_MODE (op1) == VOIDmode) + { +- op0 = convert_modes (innermode, mode, op0, true); +- op1 = convert_modes (innermode, mode, op1, false); ++ op0 = convert_modes (mode, innermode, op0, true); ++ op1 = convert_modes (mode, innermode, op1, false); + return REDUCE_BIT_FIELD (expand_mult (mode, op0, op1, + target, unsignedp)); + } +@@ -8796,7 +8840,7 @@ + if (TREE_CODE (treeop0) != INTEGER_CST) + { + if (find_widening_optab_handler (this_optab, mode, innermode) +- != CODE_FOR_nothing) ++ != CODE_FOR_nothing) + { + expand_operands (treeop0, treeop1, NULL_RTX, &op0, &op1, + EXPAND_NORMAL); +@@ -8805,9 +8849,9 @@ + if (GET_MODE (op0) == VOIDmode && GET_MODE (op1) == VOIDmode) + { + widen_mult_const: +- op0 = convert_modes (innermode, mode, op0, zextend_p); ++ op0 = convert_modes (mode, innermode, op0, zextend_p); + op1 +- = convert_modes (innermode, mode, op1, ++ = convert_modes (mode, innermode, op1, + TYPE_UNSIGNED (TREE_TYPE (treeop1))); + return REDUCE_BIT_FIELD (expand_mult (mode, op0, op1, + target, +@@ -8818,21 +8862,19 @@ + return REDUCE_BIT_FIELD (temp); + } + if (find_widening_optab_handler (other_optab, mode, innermode) +- != CODE_FOR_nothing ++ != CODE_FOR_nothing + && innermode == word_mode) + { + rtx htem, hipart; + op0 = expand_normal (treeop0); +- if (TREE_CODE (treeop1) == INTEGER_CST) +- op1 = convert_modes (word_mode, mode, +- expand_normal (treeop1), +- TYPE_UNSIGNED (TREE_TYPE (treeop1))); +- else +- op1 = expand_normal (treeop1); +- /* op0 and op1 might still be constant, despite the above ++ op1 = expand_normal (treeop1); ++ /* op0 and op1 might be constants, despite the above + != INTEGER_CST check. Handle it. */ + if (GET_MODE (op0) == VOIDmode && GET_MODE (op1) == VOIDmode) + goto widen_mult_const; ++ if (TREE_CODE (treeop1) == INTEGER_CST) ++ op1 = convert_modes (mode, word_mode, op1, ++ TYPE_UNSIGNED (TREE_TYPE (treeop1))); + temp = expand_binop (mode, other_optab, op0, op1, target, + unsignedp, OPTAB_LIB_WIDEN); + hipart = gen_highpart (word_mode, temp); +@@ -11532,12 +11574,10 @@ + /* We won't bother with store-flag operations involving function pointers + when function pointers must be canonicalized before comparisons. */ + if (targetm.have_canonicalize_funcptr_for_compare () +- && ((TREE_CODE (TREE_TYPE (arg0)) == POINTER_TYPE +- && (TREE_CODE (TREE_TYPE (TREE_TYPE (arg0))) +- == FUNCTION_TYPE)) +- || (TREE_CODE (TREE_TYPE (arg1)) == POINTER_TYPE +- && (TREE_CODE (TREE_TYPE (TREE_TYPE (arg1))) +- == FUNCTION_TYPE)))) ++ && ((POINTER_TYPE_P (TREE_TYPE (arg0)) ++ && FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (arg0)))) ++ || (POINTER_TYPE_P (TREE_TYPE (arg1)) ++ && FUNC_OR_METHOD_TYPE_P (TREE_TYPE (TREE_TYPE (arg1)))))) + return 0; + + STRIP_NOPS (arg0); +Index: gcc/expr.h +=================================================================== +--- a/src/gcc/expr.h (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/expr.h (.../branches/gcc-8-branch) +@@ -308,7 +308,8 @@ + extern unsigned HOST_WIDE_INT highest_pow2_factor (const_tree); + + extern bool categorize_ctor_elements (const_tree, HOST_WIDE_INT *, +- HOST_WIDE_INT *, bool *); ++ HOST_WIDE_INT *, HOST_WIDE_INT *, ++ bool *); + + extern void expand_operands (tree, tree, rtx, rtx*, rtx*, + enum expand_modifier); +Index: gcc/go/gofrontend/expressions.cc +=================================================================== +--- a/src/gcc/go/gofrontend/expressions.cc (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/go/gofrontend/expressions.cc (.../branches/gcc-8-branch) +@@ -8166,7 +8166,7 @@ + if (arg_type->is_error()) + return false; + if (arg_type->is_abstract()) +- return false; ++ arg_type = arg_type->make_non_abstract_type(); + if (this->seen_) + return false; + +Index: gcc/opts.c +=================================================================== +--- a/src/gcc/opts.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/opts.c (.../branches/gcc-8-branch) +@@ -657,9 +657,18 @@ + /* For -O1 only do loop invariant motion for very small loops. */ + maybe_set_param_value + (PARAM_LOOP_INVARIANT_MAX_BBS_IN_LOOP, +- opt2 ? default_param_value (PARAM_LOOP_INVARIANT_MAX_BBS_IN_LOOP) : 1000, ++ opt2 ? default_param_value (PARAM_LOOP_INVARIANT_MAX_BBS_IN_LOOP) ++ : default_param_value (PARAM_LOOP_INVARIANT_MAX_BBS_IN_LOOP) / 10, + opts->x_param_values, opts_set->x_param_values); + ++ /* For -O1 reduce the maximum number of active local stores for RTL DSE ++ since this can consume huge amounts of memory (PR89115). */ ++ maybe_set_param_value ++ (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES, ++ opt2 ? default_param_value (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES) ++ : default_param_value (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES) / 10, ++ opts->x_param_values, opts_set->x_param_values); ++ + /* At -Ofast, allow store motion to introduce potential race conditions. */ + maybe_set_param_value + (PARAM_ALLOW_STORE_DATA_RACES, +Index: gcc/tree-ssa-loop-ivcanon.c +=================================================================== +--- a/src/gcc/tree-ssa-loop-ivcanon.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/tree-ssa-loop-ivcanon.c (.../branches/gcc-8-branch) +@@ -367,8 +367,8 @@ + size->non_call_stmts_on_hot_path++; + if (((gimple_code (stmt) == GIMPLE_COND + && (!constant_after_peeling (gimple_cond_lhs (stmt), stmt, loop) +- || constant_after_peeling (gimple_cond_rhs (stmt), stmt, +- loop))) ++ || !constant_after_peeling (gimple_cond_rhs (stmt), stmt, ++ loop))) + || (gimple_code (stmt) == GIMPLE_SWITCH + && !constant_after_peeling (gimple_switch_index ( + as_a (stmt)), +Index: gcc/ada/adaint.c +=================================================================== +--- a/src/gcc/ada/adaint.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/ada/adaint.c (.../branches/gcc-8-branch) +@@ -3231,9 +3231,13 @@ + #endif + + #if defined (__APPLE__) +-#include +-#include +-#include ++# if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1060 ++# include ++# include ++# include ++# else ++# include ++# endif + + /* System-wide thread identifier. Note it could be truncated on 32 bit + hosts. +@@ -3241,6 +3245,7 @@ + void * + __gnat_lwp_self (void) + { ++#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1060 + thread_identifier_info_data_t data; + mach_msg_type_number_t count = THREAD_IDENTIFIER_INFO_COUNT; + kern_return_t kret; +@@ -3251,6 +3256,9 @@ + return (void *)(uintptr_t)data.thread_id; + else + return 0; ++#else ++ return (void *)pthread_mach_thread_np (pthread_self ()); ++#endif + } + #endif + +Index: gcc/ada/libgnarl/s-linux__sparc.ads +=================================================================== +--- a/src/gcc/ada/libgnarl/s-linux__sparc.ads (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/ada/libgnarl/s-linux__sparc.ads (.../branches/gcc-8-branch) +@@ -70,7 +70,7 @@ + EINVAL : constant := 22; + ENOMEM : constant := 12; + EPERM : constant := 1; +- ETIMEDOUT : constant := 110; ++ ETIMEDOUT : constant := 60; + + ------------- + -- Signals -- +Index: gcc/ada/libgnarl/s-osinte__solaris.ads +=================================================================== +--- a/src/gcc/ada/libgnarl/s-osinte__solaris.ads (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/ada/libgnarl/s-osinte__solaris.ads (.../branches/gcc-8-branch) +@@ -536,17 +536,18 @@ + end record; + pragma Convention (C, record_type_3); + ++ type upad64_t is new Interfaces.Unsigned_64; ++ + type mutex_t is record + flags : record_type_3; +- lock : String (1 .. 8); +- data : String (1 .. 8); ++ lock : upad64_t; ++ data : upad64_t; + end record; + pragma Convention (C, mutex_t); + + type cond_t is record +- flag : array_type_9; +- Xtype : unsigned_long; +- data : String (1 .. 8); ++ flags : record_type_3; ++ data : upad64_t; + end record; + pragma Convention (C, cond_t); + +Index: gcc/ada/ChangeLog +=================================================================== +--- a/src/gcc/ada/ChangeLog (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/ada/ChangeLog (.../branches/gcc-8-branch) +@@ -1,3 +1,92 @@ ++2019-02-08 Eric Botcazou ++ ++ * gcc-interface/utils.c (max_size) : Be prepared for an ++ operand with VOID_TYPE. ++ ++2019-02-08 Eric Botcazou ++ ++ * gcc-interface/trans.c (Loop_Statement_to_gnu): Replace tests on ++ individual flag_unswitch_loops and flag_tree_loop_vectorize switches ++ with test on global optimize switch. ++ (Raise_Error_to_gnu): Likewise. ++ ++2019-02-07 Eric Botcazou ++ ++ * libgnarl/s-linux__sparc.ads (ETIMEDOUT): Set to correct value. ++ ++2019-01-27 Eric Botcazou ++ ++ * gcc-interface/decl.c (array_type_has_nonaliased_component): Return ++ the same value for every dimension of a multidimensional array type. ++ ++2019-01-26 Eric Botcazou ++ ++ * gcc-interface/trans.c (gnat_to_gnu) : Use ++ DECL_SIZE_UNIT instead of TYPE_SIZE_UNIT for the size to be assigned ++ by a call to memset if the LHS is a DECL. ++ ++2019-01-26 Eric Botcazou ++ ++ * gcc-interface/trans.c (struct loop_info_d): Remove artificial field. ++ (Loop_Statement_to_gnu): Do not set it. ++ ++2019-01-26 Eric Botcazou ++ ++ * gcc-interface/decl.c (annotate_value) : Use test on ++ the sign bit instead of on the sign of the value. ++ : Turn addition of negative constant into subtraction. ++ : Add test for degenerate case. ++ : Simplify. ++ ++2018-12-23 Iain Sandoe ++ ++ * adaint.c [__APPLE__] (__gnat_lwp_self): Ensure that the system ++ interface used is available on the target. ++ ++2018-11-15 Eric Botcazou ++ ++ * gcc-interface/misc.c (gnat_init_gcc_eh): Do not override the switch ++ -fnon-call-exceptions passed on the command line in -gnatp mode. ++ ++2018-11-13 Eric Botcazou ++ ++ * gcc-interface/misc.c (gnat_init_gcc_eh): Set -fnon-call-exceptions ++ for the runtime on platforms where System.Machine_Overflow is true. ++ ++2018-11-08 Eric Botcazou ++ ++ * fe.h (Suppress_Checks): Declare. ++ * gcc-interface/misc.c (gnat_init_gcc_eh): Set -fnon-call-exceptions ++ only if checks are not suppressed and -faggressive-loop-optimizations ++ only if they are. ++ * gcc-interface/trans.c (struct loop_info_d): Remove has_checks and ++ warned_aggressive_loop_optimizations fields. ++ (gigi): Do not clear warn_aggressive_loop_optimizations here. ++ (Raise_Error_to_gnu): Do not set has_checks. ++ (gnat_to_gnu) : Remove support for aggressive ++ loop optimizations. ++ ++2018-10-22 Eric Botcazou ++ ++ * gcc-interface/utils.c (unchecked_convert): Use local variables for ++ the biased and reverse SSO attributes of both types. ++ Further extend the processing of integral types in the presence of ++ reverse SSO to all scalar types. ++ ++2018-10-22 Eric Botcazou ++ ++ * gcc-interface/trans.c (Pragma_to_gnu) : Use ++ a simple memory constraint in all cases. ++ ++2018-09-13 Eric Botcazou ++ ++ Backport from mainline ++ 2018-07-31 Eric Botcazou ++ ++ * libgnarl/s-osinte__solaris.ads (upad64_t): New private type. ++ (mutex_t): Use it for 'lock' and 'data' components. ++ (cond_t): Likewise for 'data' and use single 'flags' component. ++ + 2018-07-26 Release Manager + + * GCC 8.2.0 released. +Index: gcc/ada/gcc-interface/utils.c +=================================================================== +--- a/src/gcc/ada/gcc-interface/utils.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/ada/gcc-interface/utils.c (.../branches/gcc-8-branch) +@@ -3616,8 +3616,11 @@ + + /* EXP is an expression for the size of an object. If this size contains + discriminant references, replace them with the maximum (if MAX_P) or +- minimum (if !MAX_P) possible value of the discriminant. */ ++ minimum (if !MAX_P) possible value of the discriminant. + ++ Note that the expression may have already been gimplified,in which case ++ COND_EXPRs have VOID_TYPE and no operands, and this must be handled. */ ++ + tree + max_size (tree exp, bool max_p) + { +@@ -3672,12 +3675,16 @@ + return build_int_cst (type, max_p ? 1 : 0); + + case tcc_unary: ++ op0 = TREE_OPERAND (exp, 0); ++ + if (code == NON_LVALUE_EXPR) +- return max_size (TREE_OPERAND (exp, 0), max_p); ++ return max_size (op0, max_p); + +- op0 = max_size (TREE_OPERAND (exp, 0), +- code == NEGATE_EXPR ? !max_p : max_p); ++ if (VOID_TYPE_P (TREE_TYPE (op0))) ++ return max_p ? TYPE_MAX_VALUE (type) : TYPE_MIN_VALUE (type); + ++ op0 = max_size (op0, code == NEGATE_EXPR ? !max_p : max_p); ++ + if (op0 == TREE_OPERAND (exp, 0)) + return exp; + +@@ -5106,8 +5113,16 @@ + tree etype = TREE_TYPE (expr); + enum tree_code ecode = TREE_CODE (etype); + enum tree_code code = TREE_CODE (type); ++ const bool ebiased ++ = (ecode == INTEGER_TYPE && TYPE_BIASED_REPRESENTATION_P (etype)); ++ const bool biased ++ = (code == INTEGER_TYPE && TYPE_BIASED_REPRESENTATION_P (type)); ++ const bool ereverse ++ = (AGGREGATE_TYPE_P (etype) && TYPE_REVERSE_STORAGE_ORDER (etype)); ++ const bool reverse ++ = (AGGREGATE_TYPE_P (type) && TYPE_REVERSE_STORAGE_ORDER (type)); + tree tem; +- int c; ++ int c = 0; + + /* If the expression is already of the right type, we are done. */ + if (etype == type) +@@ -5123,7 +5138,7 @@ + || (ecode == RECORD_TYPE && TYPE_JUSTIFIED_MODULAR_P (etype)))) + || code == UNCONSTRAINED_ARRAY_TYPE) + { +- if (ecode == INTEGER_TYPE && TYPE_BIASED_REPRESENTATION_P (etype)) ++ if (ebiased) + { + tree ntype = copy_type (etype); + TYPE_BIASED_REPRESENTATION_P (ntype) = 0; +@@ -5131,7 +5146,7 @@ + expr = build1 (NOP_EXPR, ntype, expr); + } + +- if (code == INTEGER_TYPE && TYPE_BIASED_REPRESENTATION_P (type)) ++ if (biased) + { + tree rtype = copy_type (type); + TYPE_BIASED_REPRESENTATION_P (rtype) = 0; +@@ -5160,30 +5175,35 @@ + Finally, for the sake of consistency, we do the unchecked conversion + to an integral type with reverse storage order as soon as the source + type is an aggregate type with reverse storage order, even if there +- are no considerations of precision or size involved. */ +- else if (INTEGRAL_TYPE_P (type) +- && TYPE_RM_SIZE (type) +- && (tree_int_cst_compare (TYPE_RM_SIZE (type), +- TYPE_SIZE (type)) < 0 +- || (AGGREGATE_TYPE_P (etype) +- && TYPE_REVERSE_STORAGE_ORDER (etype)))) ++ are no considerations of precision or size involved. Ultimately, we ++ further extend this processing to any scalar type. */ ++ else if ((INTEGRAL_TYPE_P (type) ++ && TYPE_RM_SIZE (type) ++ && ((c = tree_int_cst_compare (TYPE_RM_SIZE (type), ++ TYPE_SIZE (type))) < 0 ++ || ereverse)) ++ || (SCALAR_FLOAT_TYPE_P (type) && ereverse)) + { + tree rec_type = make_node (RECORD_TYPE); +- unsigned HOST_WIDE_INT prec = TREE_INT_CST_LOW (TYPE_RM_SIZE (type)); + tree field_type, field; + +- if (AGGREGATE_TYPE_P (etype)) +- TYPE_REVERSE_STORAGE_ORDER (rec_type) +- = TYPE_REVERSE_STORAGE_ORDER (etype); ++ TYPE_REVERSE_STORAGE_ORDER (rec_type) = ereverse; + +- if (type_unsigned_for_rm (type)) +- field_type = make_unsigned_type (prec); ++ if (c < 0) ++ { ++ const unsigned HOST_WIDE_INT prec ++ = TREE_INT_CST_LOW (TYPE_RM_SIZE (type)); ++ if (type_unsigned_for_rm (type)) ++ field_type = make_unsigned_type (prec); ++ else ++ field_type = make_signed_type (prec); ++ SET_TYPE_RM_SIZE (field_type, TYPE_RM_SIZE (type)); ++ } + else +- field_type = make_signed_type (prec); +- SET_TYPE_RM_SIZE (field_type, TYPE_RM_SIZE (type)); ++ field_type = type; + + field = create_field_decl (get_identifier ("OBJ"), field_type, rec_type, +- NULL_TREE, bitsize_zero_node, 1, 0); ++ NULL_TREE, bitsize_zero_node, c < 0, 0); + + finish_record_type (rec_type, field, 1, false); + +@@ -5198,31 +5218,35 @@ + + The same considerations as above apply if the target type is an aggregate + type with reverse storage order and we also proceed similarly. */ +- else if (INTEGRAL_TYPE_P (etype) +- && TYPE_RM_SIZE (etype) +- && (tree_int_cst_compare (TYPE_RM_SIZE (etype), +- TYPE_SIZE (etype)) < 0 +- || (AGGREGATE_TYPE_P (type) +- && TYPE_REVERSE_STORAGE_ORDER (type)))) ++ else if ((INTEGRAL_TYPE_P (etype) ++ && TYPE_RM_SIZE (etype) ++ && ((c = tree_int_cst_compare (TYPE_RM_SIZE (etype), ++ TYPE_SIZE (etype))) < 0 ++ || reverse)) ++ || (SCALAR_FLOAT_TYPE_P (etype) && reverse)) + { + tree rec_type = make_node (RECORD_TYPE); +- unsigned HOST_WIDE_INT prec = TREE_INT_CST_LOW (TYPE_RM_SIZE (etype)); + vec *v; + vec_alloc (v, 1); + tree field_type, field; + +- if (AGGREGATE_TYPE_P (type)) +- TYPE_REVERSE_STORAGE_ORDER (rec_type) +- = TYPE_REVERSE_STORAGE_ORDER (type); ++ TYPE_REVERSE_STORAGE_ORDER (rec_type) = reverse; + +- if (type_unsigned_for_rm (etype)) +- field_type = make_unsigned_type (prec); ++ if (c < 0) ++ { ++ const unsigned HOST_WIDE_INT prec ++ = TREE_INT_CST_LOW (TYPE_RM_SIZE (etype)); ++ if (type_unsigned_for_rm (etype)) ++ field_type = make_unsigned_type (prec); ++ else ++ field_type = make_signed_type (prec); ++ SET_TYPE_RM_SIZE (field_type, TYPE_RM_SIZE (etype)); ++ } + else +- field_type = make_signed_type (prec); +- SET_TYPE_RM_SIZE (field_type, TYPE_RM_SIZE (etype)); ++ field_type = etype; + + field = create_field_decl (get_identifier ("OBJ"), field_type, rec_type, +- NULL_TREE, bitsize_zero_node, 1, 0); ++ NULL_TREE, bitsize_zero_node, c < 0, 0); + + finish_record_type (rec_type, field, 1, false); + +@@ -5321,8 +5345,8 @@ + if the input is also an integral type and both are unsigned or both are + signed and have the same precision. */ + if (!notrunc_p ++ && !biased + && INTEGRAL_TYPE_P (type) +- && !(code == INTEGER_TYPE && TYPE_BIASED_REPRESENTATION_P (type)) + && TYPE_RM_SIZE (type) + && tree_int_cst_compare (TYPE_RM_SIZE (type), TYPE_SIZE (type)) < 0 + && !(INTEGRAL_TYPE_P (etype) +Index: gcc/ada/gcc-interface/decl.c +=================================================================== +--- a/src/gcc/ada/gcc-interface/decl.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/ada/gcc-interface/decl.c (.../branches/gcc-8-branch) +@@ -6099,12 +6099,6 @@ + static bool + array_type_has_nonaliased_component (tree gnu_type, Entity_Id gnat_type) + { +- /* If the array type is not the innermost dimension of the GNAT type, +- then it has a non-aliased component. */ +- if (TREE_CODE (TREE_TYPE (gnu_type)) == ARRAY_TYPE +- && TYPE_MULTI_ARRAY_P (TREE_TYPE (gnu_type))) +- return true; +- + /* If the array type has an aliased component in the front-end sense, + then it also has an aliased component in the back-end sense. */ + if (Has_Aliased_Components (gnat_type)) +@@ -6115,15 +6109,17 @@ + if (Is_Derived_Type (gnat_type)) + { + tree gnu_parent_type = gnat_to_gnu_type (Etype (gnat_type)); +- int index; + if (TREE_CODE (gnu_parent_type) == UNCONSTRAINED_ARRAY_TYPE) + gnu_parent_type + = TREE_TYPE (TREE_TYPE (TYPE_FIELDS (TREE_TYPE (gnu_parent_type)))); +- for (index = Number_Dimensions (gnat_type) - 1; index > 0; index--) +- gnu_parent_type = TREE_TYPE (gnu_parent_type); + return TYPE_NONALIASED_COMPONENT (gnu_parent_type); + } + ++ /* For a multi-dimensional array type, find the component type. */ ++ while (TREE_CODE (TREE_TYPE (gnu_type)) == ARRAY_TYPE ++ && TYPE_MULTI_ARRAY_P (TREE_TYPE (gnu_type))) ++ gnu_type = TREE_TYPE (gnu_type); ++ + /* Consider that an array of pointers has an aliased component, which is + sort of logical and helps with Taft Amendment types in LTO mode. */ + if (POINTER_TYPE_P (TREE_TYPE (gnu_type))) +@@ -8087,8 +8083,9 @@ + { + case INTEGER_CST: + /* For negative values, build NEGATE_EXPR of the opposite. Such values +- can appear for discriminants in expressions for variants. */ +- if (tree_int_cst_sgn (gnu_size) < 0) ++ can appear for discriminants in expressions for variants. Note that, ++ sizetype being unsigned, we don't directly use tree_int_cst_sgn. */ ++ if (tree_int_cst_sign_bit (gnu_size)) + { + tree t = wide_int_to_tree (sizetype, -wi::to_wide (gnu_size)); + tcode = Negate_Expr; +@@ -8160,8 +8157,21 @@ + case EQ_EXPR: tcode = Eq_Expr; break; + case NE_EXPR: tcode = Ne_Expr; break; + ++ case PLUS_EXPR: ++ /* Turn addition of negative constant into subtraction. */ ++ if (TREE_CODE (TREE_OPERAND (gnu_size, 1)) == INTEGER_CST ++ && tree_int_cst_sign_bit (TREE_OPERAND (gnu_size, 1))) ++ { ++ tcode = Minus_Expr; ++ ops[0] = annotate_value (TREE_OPERAND (gnu_size, 0)); ++ wide_int op1 = -wi::to_wide (TREE_OPERAND (gnu_size, 1)); ++ ops[1] = annotate_value (wide_int_to_tree (sizetype, op1)); ++ break; ++ } ++ ++ /* ... fall through ... */ ++ + case MULT_EXPR: +- case PLUS_EXPR: + tcode = (TREE_CODE (gnu_size) == MULT_EXPR ? Mult_Expr : Plus_Expr); + /* Fold conversions from bytes to bits into inner operations. */ + if (TREE_CODE (TREE_OPERAND (gnu_size, 1)) == INTEGER_CST +@@ -8171,6 +8181,7 @@ + if (TREE_CODE (inner_op) == TREE_CODE (gnu_size) + && TREE_CODE (TREE_OPERAND (inner_op, 1)) == INTEGER_CST) + { ++ ops[0] = annotate_value (TREE_OPERAND (inner_op, 0)); + tree inner_op_op1 = TREE_OPERAND (inner_op, 1); + tree gnu_size_op1 = TREE_OPERAND (gnu_size, 1); + widest_int op1; +@@ -8178,10 +8189,13 @@ + op1 = (wi::to_widest (inner_op_op1) + * wi::to_widest (gnu_size_op1)); + else +- op1 = (wi::to_widest (inner_op_op1) +- + wi::to_widest (gnu_size_op1)); +- ops[1] = UI_From_gnu (wide_int_to_tree (sizetype, op1)); +- ops[0] = annotate_value (TREE_OPERAND (inner_op, 0)); ++ { ++ op1 = (wi::to_widest (inner_op_op1) ++ + wi::to_widest (gnu_size_op1)); ++ if (wi::zext (op1, TYPE_PRECISION (sizetype)) == 0) ++ return ops[0]; ++ } ++ ops[1] = annotate_value (wide_int_to_tree (sizetype, op1)); + } + } + break; +@@ -8189,18 +8203,12 @@ + case BIT_AND_EXPR: + tcode = Bit_And_Expr; + /* For negative values in sizetype, build NEGATE_EXPR of the opposite. +- Such values appear in expressions with aligning patterns. Note that, +- since sizetype is unsigned, we have to jump through some hoops. */ ++ Such values can appear in expressions with aligning patterns. */ + if (TREE_CODE (TREE_OPERAND (gnu_size, 1)) == INTEGER_CST) + { +- tree op1 = TREE_OPERAND (gnu_size, 1); +- wide_int signed_op1 = wi::sext (wi::to_wide (op1), +- TYPE_PRECISION (sizetype)); +- if (wi::neg_p (signed_op1)) +- { +- op1 = wide_int_to_tree (sizetype, wi::neg (signed_op1)); +- ops[1] = annotate_value (build1 (NEGATE_EXPR, sizetype, op1)); +- } ++ wide_int op1 = wi::sext (wi::to_wide (TREE_OPERAND (gnu_size, 1)), ++ TYPE_PRECISION (sizetype)); ++ ops[1] = annotate_value (wide_int_to_tree (sizetype, op1)); + } + break; + +Index: gcc/ada/gcc-interface/trans.c +=================================================================== +--- a/src/gcc/ada/gcc-interface/trans.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/ada/gcc-interface/trans.c (.../branches/gcc-8-branch) +@@ -199,9 +199,6 @@ + tree low_bound; + tree high_bound; + vec *checks; +- bool artificial; +- bool has_checks; +- bool warned_aggressive_loop_optimizations; + }; + + typedef struct loop_info_d *loop_info; +@@ -668,10 +665,6 @@ + /* Now translate the compilation unit proper. */ + Compilation_Unit_to_gnu (gnat_root); + +- /* Disable -Waggressive-loop-optimizations since we implement our own +- version of the warning. */ +- warn_aggressive_loop_optimizations = 0; +- + /* Then process the N_Validate_Unchecked_Conversion nodes. We do this at + the very end to avoid having to second-guess the front-end when we run + into dummy nodes during the regular processing. */ +@@ -1276,32 +1269,18 @@ + { + Node_Id gnat_expr = Expression (gnat_temp); + tree gnu_expr = gnat_to_gnu (gnat_expr); +- int use_address; +- machine_mode mode; +- scalar_int_mode int_mode; + tree asm_constraint = NULL_TREE; + #ifdef ASM_COMMENT_START + char *comment; + #endif ++ gnu_expr = maybe_unconstrained_array (gnu_expr); ++ gnat_mark_addressable (gnu_expr); + +- if (TREE_CODE (gnu_expr) == UNCONSTRAINED_ARRAY_REF) +- gnu_expr = TREE_OPERAND (gnu_expr, 0); +- +- /* Use the value only if it fits into a normal register, +- otherwise use the address. */ +- mode = TYPE_MODE (TREE_TYPE (gnu_expr)); +- use_address = (!is_a (mode, &int_mode) +- || GET_MODE_SIZE (int_mode) > UNITS_PER_WORD); +- +- if (use_address) +- gnu_expr = build_unary_op (ADDR_EXPR, NULL_TREE, gnu_expr); +- + #ifdef ASM_COMMENT_START + comment = concat (ASM_COMMENT_START, + " inspection point: ", + Get_Name_String (Chars (gnat_expr)), +- use_address ? " address" : "", +- " is in %0", ++ " is at %0", + NULL); + asm_constraint = build_string (strlen (comment), comment); + free (comment); +@@ -1311,8 +1290,8 @@ + NULL_TREE, + tree_cons + (build_tree_list (NULL_TREE, +- build_string (1, "g")), +- gnu_expr, NULL_TREE), ++ build_string (1, "m")), ++ gnu_expr, NULL_TREE), + NULL_TREE, NULL_TREE); + ASM_VOLATILE_P (gnu_expr) = 1; + set_expr_location_from_node (gnu_expr, gnat_node); +@@ -2875,7 +2854,6 @@ + + /* Save the statement for later reuse. */ + gnu_loop_info->stmt = gnu_loop_stmt; +- gnu_loop_info->artificial = !Comes_From_Source (gnat_node); + + /* Set the condition under which the loop must keep going. + For the case "LOOP .... END LOOP;" the condition is always true. */ +@@ -3138,7 +3116,7 @@ + unswitching is enabled, do not require the loop bounds to be also + invariant, as their evaluation will still be ahead of the loop. */ + if (vec_safe_length (gnu_loop_info->checks) > 0 +- && (make_invariant (&gnu_low, &gnu_high) || flag_unswitch_loops)) ++ && (make_invariant (&gnu_low, &gnu_high) || optimize >= 3)) + { + struct range_check_info_d *rci; + unsigned int i, n_remaining_checks = 0; +@@ -3191,7 +3169,7 @@ + /* Note that loop unswitching can only be applied a small number of + times to a given loop (PARAM_MAX_UNSWITCH_LEVEL default to 3). */ + if (IN_RANGE (n_remaining_checks, 1, 3) +- && optimize > 1 ++ && optimize >= 2 + && !optimize_size) + FOR_EACH_VEC_ELT (*gnu_loop_info->checks, i, rci) + if (rci->invariant_cond != boolean_false_node) +@@ -3198,7 +3176,7 @@ + { + TREE_OPERAND (rci->inserted_cond, 0) = rci->invariant_cond; + +- if (flag_unswitch_loops) ++ if (optimize >= 3) + add_stmt_with_node_force (rci->inserted_cond, gnat_node); + } + } +@@ -3205,8 +3183,7 @@ + + /* Second, if loop vectorization is enabled and the iterations of the + loop can easily be proved as independent, mark the loop. */ +- if (optimize +- && flag_tree_loop_vectorize ++ if (optimize >= 3 + && independent_iterations_p (LOOP_STMT_BODY (gnu_loop_stmt))) + LOOP_STMT_IVDEP (gnu_loop_stmt) = 1; + +@@ -5726,9 +5703,8 @@ + rci->inserted_cond + = build1 (SAVE_EXPR, boolean_type_node, boolean_true_node); + vec_safe_push (loop->checks, rci); +- loop->has_checks = true; + gnu_cond = build_noreturn_cond (gnat_to_gnu (gnat_cond)); +- if (flag_unswitch_loops) ++ if (optimize >= 3) + gnu_cond = build_binary_op (TRUTH_ANDIF_EXPR, + boolean_type_node, + rci->inserted_cond, +@@ -5739,14 +5715,6 @@ + gnu_cond, + rci->inserted_cond); + } +- +- /* Or else, if aggressive loop optimizations are enabled, we just +- record that there are checks applied to iteration variables. */ +- else if (optimize +- && flag_aggressive_loop_optimizations +- && inside_loop_p () +- && (loop = find_loop_for (gnu_index))) +- loop->has_checks = true; + } + break; + +@@ -6364,45 +6332,9 @@ + gcc_assert (TREE_CODE (gnu_type) == ARRAY_TYPE); + gnat_temp = gnat_expr_array[i]; + gnu_expr = maybe_character_value (gnat_to_gnu (gnat_temp)); +- struct loop_info_d *loop; + + gnu_result + = build_binary_op (ARRAY_REF, NULL_TREE, gnu_result, gnu_expr); +- +- /* Array accesses are bound-checked so they cannot trap, but this +- is valid only if they are not hoisted ahead of the check. We +- need to mark them as no-trap to get decent loop optimizations +- in the presence of -fnon-call-exceptions, so we do it when we +- know that the original expression had no side-effects. */ +- if (TREE_CODE (gnu_result) == ARRAY_REF +- && !(Nkind (gnat_temp) == N_Identifier +- && Ekind (Entity (gnat_temp)) == E_Constant)) +- TREE_THIS_NOTRAP (gnu_result) = 1; +- +- /* If aggressive loop optimizations are enabled, we warn for loops +- overrunning a simple array of size 1 not at the end of a record. +- This is aimed to catch misuses of the trailing array idiom. */ +- if (optimize +- && flag_aggressive_loop_optimizations +- && inside_loop_p () +- && TREE_CODE (TREE_TYPE (gnu_type)) != ARRAY_TYPE +- && TREE_CODE (gnu_array_object) != ARRAY_REF +- && tree_int_cst_equal (TYPE_MIN_VALUE (TYPE_DOMAIN (gnu_type)), +- TYPE_MAX_VALUE (TYPE_DOMAIN (gnu_type))) +- && !array_at_struct_end_p (gnu_result) +- && (loop = find_loop_for (gnu_expr)) +- && !loop->artificial +- && !loop->has_checks +- && tree_int_cst_equal (TYPE_MIN_VALUE (TYPE_DOMAIN (gnu_type)), +- loop->low_bound) +- && can_be_lower_p (loop->low_bound, loop->high_bound) +- && !loop->warned_aggressive_loop_optimizations +- && warning (OPT_Waggressive_loop_optimizations, +- "out-of-bounds access may be optimized away")) +- { +- inform (EXPR_LOCATION (loop->stmt), "containing loop"); +- loop->warned_aggressive_loop_optimizations = true; +- } + } + + gnu_result_type = get_unpadded_type (Etype (gnat_node)); +@@ -7051,12 +6983,17 @@ + = real_zerop (gnu_rhs) + ? integer_zero_node + : fold_convert (integer_type_node, gnu_rhs); +- tree to = gnu_lhs; +- tree type = TREE_TYPE (to); +- tree size +- = SUBSTITUTE_PLACEHOLDER_IN_EXPR (TYPE_SIZE_UNIT (type), to); +- tree to_ptr = build_fold_addr_expr (to); ++ tree dest = build_fold_addr_expr (gnu_lhs); + tree t = builtin_decl_explicit (BUILT_IN_MEMSET); ++ /* Be extra careful not to write too much data. */ ++ tree size; ++ if (TREE_CODE (gnu_lhs) == COMPONENT_REF) ++ size = DECL_SIZE_UNIT (TREE_OPERAND (gnu_lhs, 1)); ++ else if (DECL_P (gnu_lhs)) ++ size = DECL_SIZE_UNIT (gnu_lhs); ++ else ++ size = TYPE_SIZE_UNIT (TREE_TYPE (gnu_lhs)); ++ size = SUBSTITUTE_PLACEHOLDER_IN_EXPR (size, gnu_lhs); + if (TREE_CODE (value) == INTEGER_CST && !integer_zerop (value)) + { + tree mask +@@ -7064,7 +7001,7 @@ + ((HOST_WIDE_INT) 1 << BITS_PER_UNIT) - 1); + value = int_const_binop (BIT_AND_EXPR, value, mask); + } +- gnu_result = build_call_expr (t, 3, to_ptr, value, size); ++ gnu_result = build_call_expr (t, 3, dest, value, size); + } + + /* Otherwise build a regular assignment. */ +Index: gcc/ada/gcc-interface/misc.c +=================================================================== +--- a/src/gcc/ada/gcc-interface/misc.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/ada/gcc-interface/misc.c (.../branches/gcc-8-branch) +@@ -395,7 +395,7 @@ + using_eh_for_cleanups (); + + /* Turn on -fexceptions, -fnon-call-exceptions and -fdelete-dead-exceptions. +- The first one triggers the generation of the necessary exception tables. ++ The first one activates the support for exceptions in the compiler. + The second one is useful for two reasons: 1/ we map some asynchronous + signals like SEGV to exceptions, so we need to ensure that the insns + which can lead to such signals are correctly attached to the exception +@@ -405,10 +405,26 @@ + for such calls to actually raise in Ada. + The third one is an optimization that makes it possible to delete dead + instructions that may throw exceptions, most notably loads and stores, +- as permitted in Ada. */ ++ as permitted in Ada. ++ Turn off -faggressive-loop-optimizations because it may optimize away ++ out-of-bound array accesses that we want to be able to catch. ++ If checks are disabled, we use the same settings as the C++ compiler, ++ except for the runtime on platforms where S'Machine_Overflow is true ++ because the runtime depends on FP (hardware) checks being properly ++ handled despite being compiled in -gnatp mode. */ + flag_exceptions = 1; +- flag_non_call_exceptions = 1; + flag_delete_dead_exceptions = 1; ++ if (Suppress_Checks) ++ { ++ if (!global_options_set.x_flag_non_call_exceptions) ++ flag_non_call_exceptions = Machine_Overflows_On_Target && GNAT_Mode; ++ } ++ else ++ { ++ flag_non_call_exceptions = 1; ++ flag_aggressive_loop_optimizations = 0; ++ warn_aggressive_loop_optimizations = 0; ++ } + + init_eh (); + } +Index: gcc/ada/fe.h +=================================================================== +--- a/src/gcc/ada/fe.h (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/ada/fe.h (.../branches/gcc-8-branch) +@@ -181,6 +181,7 @@ + #define GNAT_Mode opt__gnat_mode + #define List_Representation_Info opt__list_representation_info + #define No_Strict_Aliasing_CP opt__no_strict_aliasing ++#define Suppress_Checks opt__suppress_checks + + typedef enum { + Front_End_SJLJ, Back_End_ZCX, Back_End_SJLJ +@@ -195,6 +196,7 @@ + extern Boolean GNAT_Mode; + extern Int List_Representation_Info; + extern Boolean No_Strict_Aliasing_CP; ++extern Boolean Suppress_Checks; + + #define ZCX_Exceptions opt__zcx_exceptions + #define SJLJ_Exceptions opt__sjlj_exceptions +Index: gcc/common/config/i386/i386-common.c +=================================================================== +--- a/src/gcc/common/config/i386/i386-common.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/common/config/i386/i386-common.c (.../branches/gcc-8-branch) +@@ -59,7 +59,7 @@ + #define OPTION_MASK_ISA_FXSR_SET OPTION_MASK_ISA_FXSR + #define OPTION_MASK_ISA_XSAVE_SET OPTION_MASK_ISA_XSAVE + #define OPTION_MASK_ISA_XSAVEOPT_SET \ +- (OPTION_MASK_ISA_XSAVEOPT | OPTION_MASK_ISA_XSAVE) ++ (OPTION_MASK_ISA_XSAVEOPT | OPTION_MASK_ISA_XSAVE_SET) + #define OPTION_MASK_ISA_AVX512F_SET \ + (OPTION_MASK_ISA_AVX512F | OPTION_MASK_ISA_AVX2_SET) + #define OPTION_MASK_ISA_AVX512CD_SET \ +@@ -95,9 +95,9 @@ + #define OPTION_MASK_ISA_PREFETCHWT1_SET OPTION_MASK_ISA_PREFETCHWT1 + #define OPTION_MASK_ISA_CLFLUSHOPT_SET OPTION_MASK_ISA_CLFLUSHOPT + #define OPTION_MASK_ISA_XSAVES_SET \ +- (OPTION_MASK_ISA_XSAVES | OPTION_MASK_ISA_XSAVE) ++ (OPTION_MASK_ISA_XSAVES | OPTION_MASK_ISA_XSAVE_SET) + #define OPTION_MASK_ISA_XSAVEC_SET \ +- (OPTION_MASK_ISA_XSAVEC | OPTION_MASK_ISA_XSAVE) ++ (OPTION_MASK_ISA_XSAVEC | OPTION_MASK_ISA_XSAVE_SET) + #define OPTION_MASK_ISA_CLWB_SET OPTION_MASK_ISA_CLWB + + /* SSE4 includes both SSE4.1 and SSE4.2. -msse4 should be the same +@@ -183,7 +183,8 @@ + #define OPTION_MASK_ISA_FMA_UNSET OPTION_MASK_ISA_FMA + #define OPTION_MASK_ISA_FXSR_UNSET OPTION_MASK_ISA_FXSR + #define OPTION_MASK_ISA_XSAVE_UNSET \ +- (OPTION_MASK_ISA_XSAVE | OPTION_MASK_ISA_XSAVEOPT_UNSET) ++ (OPTION_MASK_ISA_XSAVE | OPTION_MASK_ISA_XSAVEOPT_UNSET \ ++ | OPTION_MASK_ISA_XSAVES_UNSET | OPTION_MASK_ISA_XSAVEC_UNSET) + #define OPTION_MASK_ISA_XSAVEOPT_UNSET OPTION_MASK_ISA_XSAVEOPT + #define OPTION_MASK_ISA_AVX2_UNSET \ + (OPTION_MASK_ISA_AVX2 | OPTION_MASK_ISA_AVX512F_UNSET) +Index: gcc/asan.c +=================================================================== +--- a/src/gcc/asan.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/asan.c (.../branches/gcc-8-branch) +@@ -253,7 +253,7 @@ + /* Set of variable declarations that are going to be guarded by + use-after-scope sanitizer. */ + +-static hash_set *asan_handled_variables = NULL; ++hash_set *asan_handled_variables = NULL; + + hash_set *asan_used_labels = NULL; + +Index: gcc/asan.h +=================================================================== +--- a/src/gcc/asan.h (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/asan.h (.../branches/gcc-8-branch) +@@ -110,6 +110,8 @@ + + extern bool asan_sanitize_allocas_p (void); + ++extern hash_set *asan_handled_variables; ++ + /* Return TRUE if builtin with given FCODE will be intercepted by + libasan. */ + +Index: gcc/gimple-ssa-strength-reduction.c +=================================================================== +--- a/src/gcc/gimple-ssa-strength-reduction.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/gimple-ssa-strength-reduction.c (.../branches/gcc-8-branch) +@@ -1268,7 +1268,7 @@ + c->next_interp = c2->cand_num; + c2->first_interp = c->cand_num; + } +- else if (TREE_CODE (rhs2) == INTEGER_CST) ++ else if (TREE_CODE (rhs2) == INTEGER_CST && !integer_zerop (rhs2)) + { + /* Record an interpretation for the multiply-immediate. */ + c = create_mul_imm_cand (gs, rhs1, rhs2, speed); +@@ -2779,17 +2779,23 @@ + for (i = 0; i < gimple_phi_num_args (phi); i++) + { + tree arg = gimple_phi_arg_def (phi, i); ++ gimple *arg_def = SSA_NAME_DEF_STMT (arg); + +- if (!operand_equal_p (arg, phi_cand->base_expr, 0)) ++ if (gimple_code (arg_def) == GIMPLE_PHI) ++ record_phi_increments_1 (basis, arg_def); ++ else + { +- gimple *arg_def = SSA_NAME_DEF_STMT (arg); ++ widest_int diff; + +- if (gimple_code (arg_def) == GIMPLE_PHI) +- record_phi_increments_1 (basis, arg_def); ++ if (operand_equal_p (arg, phi_cand->base_expr, 0)) ++ { ++ diff = -basis->index; ++ record_increment (phi_cand, diff, PHI_ADJUST); ++ } + else + { + slsr_cand_t arg_cand = base_cand_from_table (arg); +- widest_int diff = arg_cand->index - basis->index; ++ diff = arg_cand->index - basis->index; + record_increment (arg_cand, diff, PHI_ADJUST); + } + } +@@ -2864,29 +2870,43 @@ + for (i = 0; i < gimple_phi_num_args (phi); i++) + { + tree arg = gimple_phi_arg_def (phi, i); ++ gimple *arg_def = SSA_NAME_DEF_STMT (arg); + +- if (!operand_equal_p (arg, phi_cand->base_expr, 0)) ++ if (gimple_code (arg_def) == GIMPLE_PHI) + { +- gimple *arg_def = SSA_NAME_DEF_STMT (arg); +- +- if (gimple_code (arg_def) == GIMPLE_PHI) ++ int feeding_savings = 0; ++ tree feeding_var = gimple_phi_result (arg_def); ++ cost += phi_incr_cost_1 (c, incr, arg_def, &feeding_savings); ++ if (uses_consumed_by_stmt (feeding_var, phi)) ++ *savings += feeding_savings; ++ } ++ else ++ { ++ widest_int diff; ++ slsr_cand_t arg_cand; ++ ++ /* When the PHI argument is just a pass-through to the base ++ expression of the hidden basis, the difference is zero minus ++ the index of the basis. There is no potential savings by ++ eliminating a statement in this case. */ ++ if (operand_equal_p (arg, phi_cand->base_expr, 0)) + { +- int feeding_savings = 0; +- tree feeding_var = gimple_phi_result (arg_def); +- cost += phi_incr_cost_1 (c, incr, arg_def, &feeding_savings); +- if (uses_consumed_by_stmt (feeding_var, phi)) +- *savings += feeding_savings; ++ arg_cand = (slsr_cand_t)NULL; ++ diff = -basis->index; + } + else + { +- slsr_cand_t arg_cand = base_cand_from_table (arg); +- widest_int diff = arg_cand->index - basis->index; +- +- if (incr == diff) ++ arg_cand = base_cand_from_table (arg); ++ diff = arg_cand->index - basis->index; ++ } ++ ++ if (incr == diff) ++ { ++ tree basis_lhs = gimple_assign_lhs (basis->cand_stmt); ++ cost += add_cost (true, TYPE_MODE (TREE_TYPE (basis_lhs))); ++ if (arg_cand) + { +- tree basis_lhs = gimple_assign_lhs (basis->cand_stmt); + tree lhs = gimple_assign_lhs (arg_cand->cand_stmt); +- cost += add_cost (true, TYPE_MODE (TREE_TYPE (basis_lhs))); + if (uses_consumed_by_stmt (lhs, phi)) + *savings += stmt_cost (arg_cand->cand_stmt, true); + } +@@ -3228,23 +3248,26 @@ + for (i = 0; i < gimple_phi_num_args (phi); i++) + { + tree arg = gimple_phi_arg_def (phi, i); ++ gimple *arg_def = SSA_NAME_DEF_STMT (arg); + +- if (!operand_equal_p (arg, phi_cand->base_expr, 0)) ++ if (gimple_code (arg_def) == GIMPLE_PHI) ++ ncd = ncd_with_phi (c, incr, as_a (arg_def), ncd, where); ++ else + { +- gimple *arg_def = SSA_NAME_DEF_STMT (arg); ++ widest_int diff; + +- if (gimple_code (arg_def) == GIMPLE_PHI) +- ncd = ncd_with_phi (c, incr, as_a (arg_def), ncd, +- where); +- else ++ if (operand_equal_p (arg, phi_cand->base_expr, 0)) ++ diff = -basis->index; ++ else + { + slsr_cand_t arg_cand = base_cand_from_table (arg); +- widest_int diff = arg_cand->index - basis->index; +- basic_block pred = gimple_phi_arg_edge (phi, i)->src; +- +- if ((incr == diff) || (!address_arithmetic_p && incr == -diff)) +- ncd = ncd_for_two_cands (ncd, pred, *where, NULL, where); ++ diff = arg_cand->index - basis->index; + } ++ ++ basic_block pred = gimple_phi_arg_edge (phi, i)->src; ++ ++ if ((incr == diff) || (!address_arithmetic_p && incr == -diff)) ++ ncd = ncd_for_two_cands (ncd, pred, *where, NULL, where); + } + } + +@@ -3515,51 +3538,53 @@ + return false; + + tree arg = gimple_phi_arg_def (phi, i); ++ gimple *arg_def = SSA_NAME_DEF_STMT (arg); + +- if (!operand_equal_p (arg, phi_cand->base_expr, 0)) ++ if (gimple_code (arg_def) == GIMPLE_PHI) + { +- gimple *arg_def = SSA_NAME_DEF_STMT (arg); ++ if (!all_phi_incrs_profitable_1 (c, as_a (arg_def), spread) ++ || *spread > MAX_SPREAD) ++ return false; ++ } ++ else ++ { ++ int j; ++ widest_int increment; + +- if (gimple_code (arg_def) == GIMPLE_PHI) +- { +- if (!all_phi_incrs_profitable_1 (c, as_a (arg_def), +- spread) +- || *spread > MAX_SPREAD) +- return false; +- } ++ if (operand_equal_p (arg, phi_cand->base_expr, 0)) ++ increment = -basis->index; + else + { +- int j; + slsr_cand_t arg_cand = base_cand_from_table (arg); +- widest_int increment = arg_cand->index - basis->index; ++ increment = arg_cand->index - basis->index; ++ } + +- if (!address_arithmetic_p && wi::neg_p (increment)) +- increment = -increment; ++ if (!address_arithmetic_p && wi::neg_p (increment)) ++ increment = -increment; + +- j = incr_vec_index (increment); ++ j = incr_vec_index (increment); + +- if (dump_file && (dump_flags & TDF_DETAILS)) +- { +- fprintf (dump_file, " Conditional candidate %d, phi: ", +- c->cand_num); +- print_gimple_stmt (dump_file, phi, 0); +- fputs (" increment: ", dump_file); +- print_decs (increment, dump_file); +- if (j < 0) +- fprintf (dump_file, +- "\n Not replaced; incr_vec overflow.\n"); +- else { +- fprintf (dump_file, "\n cost: %d\n", incr_vec[j].cost); +- if (profitable_increment_p (j)) +- fputs (" Replacing...\n", dump_file); +- else +- fputs (" Not replaced.\n", dump_file); +- } +- } ++ if (dump_file && (dump_flags & TDF_DETAILS)) ++ { ++ fprintf (dump_file, " Conditional candidate %d, phi: ", ++ c->cand_num); ++ print_gimple_stmt (dump_file, phi, 0); ++ fputs (" increment: ", dump_file); ++ print_decs (increment, dump_file); ++ if (j < 0) ++ fprintf (dump_file, ++ "\n Not replaced; incr_vec overflow.\n"); ++ else { ++ fprintf (dump_file, "\n cost: %d\n", incr_vec[j].cost); ++ if (profitable_increment_p (j)) ++ fputs (" Replacing...\n", dump_file); ++ else ++ fputs (" Not replaced.\n", dump_file); ++ } ++ } + +- if (j < 0 || !profitable_increment_p (j)) +- return false; +- } ++ if (j < 0 || !profitable_increment_p (j)) ++ return false; + } + } + +Index: gcc/fortran/openmp.c +=================================================================== +--- a/src/gcc/fortran/openmp.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/fortran/openmp.c (.../branches/gcc-8-branch) +@@ -1705,22 +1705,17 @@ + locus old_loc2 = gfc_current_locus; + do + { +- if (!c->sched_simd +- && gfc_match ("simd") == MATCH_YES) ++ if (gfc_match ("simd") == MATCH_YES) + { + c->sched_simd = true; + nmodifiers++; + } +- else if (!c->sched_monotonic +- && !c->sched_nonmonotonic +- && gfc_match ("monotonic") == MATCH_YES) ++ else if (gfc_match ("monotonic") == MATCH_YES) + { + c->sched_monotonic = true; + nmodifiers++; + } +- else if (!c->sched_monotonic +- && !c->sched_nonmonotonic +- && gfc_match ("nonmonotonic") == MATCH_YES) ++ else if (gfc_match ("nonmonotonic") == MATCH_YES) + { + c->sched_nonmonotonic = true; + nmodifiers++; +@@ -1731,7 +1726,7 @@ + gfc_current_locus = old_loc2; + break; + } +- if (nmodifiers == 0 ++ if (nmodifiers == 1 + && gfc_match (" , ") == MATCH_YES) + continue; + else if (gfc_match (" : ") == MATCH_YES) +@@ -4068,6 +4063,30 @@ + gfc_warning (0, "INTEGER expression of SCHEDULE clause's chunk_size " + "at %L must be positive", &expr->where); + } ++ if (omp_clauses->sched_kind != OMP_SCHED_NONE ++ && omp_clauses->sched_nonmonotonic) ++ { ++ if (omp_clauses->sched_kind != OMP_SCHED_DYNAMIC ++ && omp_clauses->sched_kind != OMP_SCHED_GUIDED) ++ { ++ const char *p; ++ switch (omp_clauses->sched_kind) ++ { ++ case OMP_SCHED_STATIC: p = "STATIC"; break; ++ case OMP_SCHED_RUNTIME: p = "RUNTIME"; break; ++ case OMP_SCHED_AUTO: p = "AUTO"; break; ++ default: gcc_unreachable (); ++ } ++ gfc_error ("NONMONOTONIC modifier specified for %s schedule kind " ++ "at %L", p, &code->loc); ++ } ++ else if (omp_clauses->sched_monotonic) ++ gfc_error ("Both MONOTONIC and NONMONOTONIC schedule modifiers " ++ "specified at %L", &code->loc); ++ else if (omp_clauses->ordered) ++ gfc_error ("NONMONOTONIC schedule modifier specified with ORDERED " ++ "clause at %L", &code->loc); ++ } + + /* Check that no symbol appears on multiple clauses, except that + a symbol can appear on both firstprivate and lastprivate. */ +Index: gcc/fortran/interface.c +=================================================================== +--- a/src/gcc/fortran/interface.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/fortran/interface.c (.../branches/gcc-8-branch) +@@ -692,6 +692,15 @@ + if (ts1->type == BT_VOID || ts2->type == BT_VOID) + return true; + ++ /* Special case for our C interop types. There should be a better ++ way of doing this... */ ++ ++ if (((ts1->type == BT_INTEGER && ts2->type == BT_DERIVED) ++ || (ts1->type == BT_DERIVED && ts2->type == BT_INTEGER)) ++ && ts1->u.derived && ts2->u.derived ++ && ts1->u.derived == ts2->u.derived) ++ return true; ++ + /* The _data component is not always present, therefore check for its + presence before assuming, that its derived->attr is available. + When the _data component is not present, then nevertheless the +@@ -735,6 +744,13 @@ + if (s2->attr.ext_attr & (1 << EXT_ATTR_NO_ARG_CHECK)) + return true; + ++ return gfc_compare_types (&s1->ts, &s2->ts) || s2->ts.type == BT_ASSUMED; ++} ++ ++ ++static bool ++compare_type_characteristics (gfc_symbol *s1, gfc_symbol *s2) ++{ + /* TYPE and CLASS of the same declared type are type compatible, + but have different characteristics. */ + if ((s1->ts.type == BT_CLASS && s2->ts.type == BT_DERIVED) +@@ -741,7 +757,7 @@ + || (s1->ts.type == BT_DERIVED && s2->ts.type == BT_CLASS)) + return false; + +- return gfc_compare_types (&s1->ts, &s2->ts) || s2->ts.type == BT_ASSUMED; ++ return compare_type (s1, s2); + } + + +@@ -1291,7 +1307,8 @@ + /* Check type and rank. */ + if (type_must_agree) + { +- if (!compare_type (s1, s2) || !compare_type (s2, s1)) ++ if (!compare_type_characteristics (s1, s2) ++ || !compare_type_characteristics (s2, s1)) + { + snprintf (errmsg, err_len, "Type mismatch in argument '%s' (%s/%s)", + s1->name, gfc_typename (&s1->ts), gfc_typename (&s2->ts)); +@@ -1510,7 +1527,7 @@ + return true; + + /* Check type and rank. */ +- if (!compare_type (r1, r2)) ++ if (!compare_type_characteristics (r1, r2)) + { + snprintf (errmsg, err_len, "Type mismatch in function result (%s/%s)", + gfc_typename (&r1->ts), gfc_typename (&r2->ts)); +Index: gcc/fortran/intrinsic.c +=================================================================== +--- a/src/gcc/fortran/intrinsic.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/fortran/intrinsic.c (.../branches/gcc-8-branch) +@@ -4939,6 +4939,8 @@ + if (ts->type == BT_UNKNOWN) + goto bad; + ++ expr->do_not_warn = ! wflag; ++ + /* NULL and zero size arrays get their type here, unless they already have a + typespec. */ + if ((expr->expr_type == EXPR_NULL +@@ -4953,6 +4955,13 @@ + if (expr->ts.type == BT_UNKNOWN) + goto bad; + ++ /* In building an array constructor, gfortran can end up here when no ++ conversion is required for an intrinsic type. We need to let derived ++ types drop through. */ ++ if (from_ts.type != BT_DERIVED ++ && (from_ts.type == ts->type && from_ts.kind == ts->kind)) ++ return true; ++ + if (expr->ts.type == BT_DERIVED && ts->type == BT_DERIVED + && gfc_compare_types (&expr->ts, ts)) + return true; +Index: gcc/fortran/trans-expr.c +=================================================================== +--- a/src/gcc/fortran/trans-expr.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/fortran/trans-expr.c (.../branches/gcc-8-branch) +@@ -394,7 +394,7 @@ + e->ref = NULL; + } + +- base_expr = gfc_expr_to_initialize (e); ++ base_expr = gfc_copy_expr (e); + + /* Restore the original tail expression. */ + if (class_ref) +@@ -1505,7 +1505,6 @@ + gfc_start_block (&block); + + lhs = gfc_copy_expr (code->expr1); +- gfc_add_data_component (lhs); + + rhs = gfc_copy_expr (code->expr1); + gfc_add_vptr_component (rhs); +@@ -1523,11 +1522,15 @@ + { + gfc_array_spec *tmparr = gfc_get_array_spec (); + *tmparr = *CLASS_DATA (code->expr1)->as; ++ /* Adding the array ref to the class expression results in correct ++ indexing to the dynamic type. */ + gfc_add_full_array_ref (lhs, tmparr); + tmp = gfc_trans_class_array_init_assign (rhs, lhs, code->expr1); + } + else + { ++ /* Scalar initialization needs the _data component. */ ++ gfc_add_data_component (lhs); + sz = gfc_copy_expr (code->expr1); + gfc_add_vptr_component (sz); + gfc_add_size_component (sz); +@@ -2234,7 +2237,8 @@ + if (!cl->length) + { + gfc_expr* expr_flat; +- gcc_assert (expr); ++ if (!expr) ++ return; + expr_flat = gfc_copy_expr (expr); + flatten_array_ctors_without_strlen (expr_flat); + gfc_resolve_expr (expr_flat); +@@ -3015,6 +3019,83 @@ + if (gfc_conv_cst_int_power (se, lse.expr, rse.expr)) + return; + ++ if (INTEGER_CST_P (lse.expr) ++ && TREE_CODE (TREE_TYPE (rse.expr)) == INTEGER_TYPE) ++ { ++ wi::tree_to_wide_ref wlhs = wi::to_wide (lse.expr); ++ HOST_WIDE_INT v; ++ v = wlhs.to_shwi (); ++ if (v == 1) ++ { ++ /* 1**something is always 1. */ ++ se->expr = build_int_cst (TREE_TYPE (lse.expr), 1); ++ return; ++ } ++ else if (v == 2 || v == 4 || v == 8 || v == 16) ++ { ++ /* 2**n = 1<expr = fold_build3_loc (input_location, COND_EXPR, type, cond2, ++ build_int_cst (type, 0), cond); ++ return; ++ } ++ else if (v == -1) ++ { ++ /* (-1)**n is 1 - ((n & 1) << 1) */ ++ tree type; ++ tree tmp; ++ ++ type = TREE_TYPE (lse.expr); ++ tmp = fold_build2_loc (input_location, BIT_AND_EXPR, type, ++ rse.expr, build_int_cst (type, 1)); ++ tmp = fold_build2_loc (input_location, LSHIFT_EXPR, type, ++ tmp, build_int_cst (type, 1)); ++ tmp = fold_build2_loc (input_location, MINUS_EXPR, type, ++ build_int_cst (type, 1), tmp); ++ se->expr = tmp; ++ return; ++ } ++ } ++ + gfc_int4_type_node = gfc_get_int_type (4); + + /* In case of integer operands with kinds 1 or 2, we call the integer kind 4 +@@ -5666,6 +5747,16 @@ + break; + } + ++ if (e->ts.type == BT_DERIVED && fsym && fsym->ts.type == BT_CLASS) ++ { ++ /* The derived type is passed to gfc_deallocate_alloc_comp. ++ Therefore, class actuals can be handled correctly but derived ++ types passed to class formals need the _data component. */ ++ tmp = gfc_class_data_get (tmp); ++ if (!CLASS_DATA (fsym)->attr.dimension) ++ tmp = build_fold_indirect_ref_loc (input_location, tmp); ++ } ++ + if (e->expr_type == EXPR_OP + && e->value.op.op == INTRINSIC_PARENTHESES + && e->value.op.op1->expr_type == EXPR_VARIABLE) +@@ -5677,16 +5768,6 @@ + gfc_add_expr_to_block (&se->post, local_tmp); + } + +- if (e->ts.type == BT_DERIVED && fsym && fsym->ts.type == BT_CLASS) +- { +- /* The derived type is passed to gfc_deallocate_alloc_comp. +- Therefore, class actuals can handled correctly but derived +- types passed to class formals need the _data component. */ +- tmp = gfc_class_data_get (tmp); +- if (!CLASS_DATA (fsym)->attr.dimension) +- tmp = build_fold_indirect_ref_loc (input_location, tmp); +- } +- + tmp = gfc_deallocate_alloc_comp (e->ts.u.derived, tmp, parm_rank); + + gfc_prepend_expr_to_block (&post, tmp); +@@ -10203,19 +10284,27 @@ + /* When assigning a character function result to a deferred-length variable, + the function call must happen before the (re)allocation of the lhs - + otherwise the character length of the result is not known. +- NOTE: This relies on having the exact dependence of the length type ++ NOTE 1: This relies on having the exact dependence of the length type + parameter available to the caller; gfortran saves it in the .mod files. +- NOTE ALSO: The concatenation operation generates a temporary pointer, ++ NOTE 2: Vector array references generate an index temporary that must ++ not go outside the loop. Otherwise, variables should not generate ++ a pre block. ++ NOTE 3: The concatenation operation generates a temporary pointer, + whose allocation must go to the innermost loop. +- NOTE ALSO (2): A character conversion may generate a temporary, too. */ ++ NOTE 4: Elemental functions may generate a temporary, too. */ + if (flag_realloc_lhs + && expr2->ts.type == BT_CHARACTER && expr1->ts.deferred + && !(lss != gfc_ss_terminator +- && ((expr2->expr_type == EXPR_OP +- && expr2->value.op.op == INTRINSIC_CONCAT) ++ && rss != gfc_ss_terminator ++ && ((expr2->expr_type == EXPR_VARIABLE && expr2->rank) + || (expr2->expr_type == EXPR_FUNCTION ++ && expr2->value.function.esym != NULL ++ && expr2->value.function.esym->attr.elemental) ++ || (expr2->expr_type == EXPR_FUNCTION + && expr2->value.function.isym != NULL +- && expr2->value.function.isym->id == GFC_ISYM_CONVERSION)))) ++ && expr2->value.function.isym->elemental) ++ || (expr2->expr_type == EXPR_OP ++ && expr2->value.op.op == INTRINSIC_CONCAT)))) + gfc_add_block_to_block (&block, &rse.pre); + + /* Nullify the allocatable components corresponding to those of the lhs +Index: gcc/fortran/trans-array.c +=================================================================== +--- a/src/gcc/fortran/trans-array.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/fortran/trans-array.c (.../branches/gcc-8-branch) +@@ -849,10 +849,22 @@ + else + { + /* If none of the fancy stuff works, the span is the element +- size of the array. */ ++ size of the array. Attempt to deal with unbounded character ++ types if possible. Otherwise, return NULL_TREE. */ + tmp = gfc_get_element_type (TREE_TYPE (desc)); +- tmp = fold_convert (gfc_array_index_type, +- size_in_bytes (tmp)); ++ if (tmp && TREE_CODE (tmp) == ARRAY_TYPE ++ && TYPE_MAX_VALUE (TYPE_DOMAIN (tmp)) == NULL_TREE) ++ { ++ if (expr->expr_type == EXPR_VARIABLE ++ && expr->ts.type == BT_CHARACTER) ++ tmp = fold_convert (gfc_array_index_type, ++ gfc_get_expr_charlen (expr)); ++ else ++ tmp = NULL_TREE; ++ } ++ else ++ tmp = fold_convert (gfc_array_index_type, ++ size_in_bytes (tmp)); + } + return tmp; + } +@@ -3414,11 +3426,7 @@ + if (is_pointer_array (info->descriptor)) + { + if (TREE_CODE (info->descriptor) == COMPONENT_REF) +- { +- decl = gfc_evaluate_now (info->descriptor, &se->pre); +- GFC_DECL_PTR_ARRAY_P (decl) = 1; +- TREE_USED (decl) = 1; +- } ++ decl = info->descriptor; + else if (TREE_CODE (info->descriptor) == INDIRECT_REF) + decl = TREE_OPERAND (info->descriptor, 0); + +@@ -3659,11 +3667,7 @@ + && is_pointer_array (se->expr)) + { + if (TREE_CODE (se->expr) == COMPONENT_REF) +- { +- decl = gfc_evaluate_now (se->expr, &se->pre); +- GFC_DECL_PTR_ARRAY_P (decl) = 1; +- TREE_USED (decl) = 1; +- } ++ decl = se->expr; + else if (TREE_CODE (se->expr) == INDIRECT_REF) + decl = TREE_OPERAND (se->expr, 0); + else +@@ -5317,7 +5321,8 @@ + gfc_expr ** lower, gfc_expr ** upper, stmtblock_t * pblock, + stmtblock_t * descriptor_block, tree * overflow, + tree expr3_elem_size, tree *nelems, gfc_expr *expr3, +- tree expr3_desc, bool e3_is_array_constr, gfc_expr *expr) ++ tree expr3_desc, bool e3_is_array_constr, gfc_expr *expr, ++ tree *element_size) + { + tree type; + tree tmp; +@@ -5324,7 +5329,6 @@ + tree size; + tree offset; + tree stride; +- tree element_size; + tree or_expr; + tree thencase; + tree elsecase; +@@ -5551,10 +5555,10 @@ + tmp = TYPE_SIZE_UNIT (gfc_get_element_type (type)); + + /* Convert to size_t. */ +- element_size = fold_convert (size_type_node, tmp); ++ *element_size = fold_convert (size_type_node, tmp); + + if (rank == 0) +- return element_size; ++ return *element_size; + + *nelems = gfc_evaluate_now (stride, pblock); + stride = fold_convert (size_type_node, stride); +@@ -5564,7 +5568,7 @@ + dividing. */ + tmp = fold_build2_loc (input_location, TRUNC_DIV_EXPR, + size_type_node, +- TYPE_MAX_VALUE (size_type_node), element_size); ++ TYPE_MAX_VALUE (size_type_node), *element_size); + cond = gfc_unlikely (fold_build2_loc (input_location, LT_EXPR, + logical_type_node, tmp, stride), + PRED_FORTRAN_OVERFLOW); +@@ -5571,7 +5575,7 @@ + tmp = fold_build3_loc (input_location, COND_EXPR, integer_type_node, cond, + integer_one_node, integer_zero_node); + cond = gfc_unlikely (fold_build2_loc (input_location, EQ_EXPR, +- logical_type_node, element_size, ++ logical_type_node, *element_size, + build_int_cst (size_type_node, 0)), + PRED_FORTRAN_SIZE_ZERO); + tmp = fold_build3_loc (input_location, COND_EXPR, integer_type_node, cond, +@@ -5581,7 +5585,7 @@ + *overflow = gfc_evaluate_now (tmp, pblock); + + size = fold_build2_loc (input_location, MULT_EXPR, size_type_node, +- stride, element_size); ++ stride, *element_size); + + if (poffset != NULL) + { +@@ -5659,6 +5663,8 @@ + tree var_overflow = NULL_TREE; + tree cond; + tree set_descriptor; ++ tree not_prev_allocated = NULL_TREE; ++ tree element_size = NULL_TREE; + stmtblock_t set_descriptor_block; + stmtblock_t elseblock; + gfc_expr **lower; +@@ -5767,7 +5773,7 @@ + &offset, lower, upper, + &se->pre, &set_descriptor_block, &overflow, + expr3_elem_size, nelems, expr3, e3_arr_desc, +- e3_is_array_constr, expr); ++ e3_is_array_constr, expr, &element_size); + + if (dimension) + { +@@ -5796,8 +5802,6 @@ + } + } + +- gfc_start_block (&elseblock); +- + /* Allocate memory to store the data. */ + if (POINTER_TYPE_P (TREE_TYPE (se->expr))) + se->expr = build_fold_indirect_ref_loc (input_location, se->expr); +@@ -5813,6 +5817,19 @@ + pointer = gfc_conv_descriptor_data_get (se->expr); + STRIP_NOPS (pointer); + ++ if (allocatable) ++ { ++ not_prev_allocated = gfc_create_var (logical_type_node, ++ "not_prev_allocated"); ++ tmp = fold_build2_loc (input_location, EQ_EXPR, ++ logical_type_node, pointer, ++ build_int_cst (TREE_TYPE (pointer), 0)); ++ ++ gfc_add_modify (&se->pre, not_prev_allocated, tmp); ++ } ++ ++ gfc_start_block (&elseblock); ++ + /* The allocatable variant takes the old pointer as first argument. */ + if (allocatable) + gfc_allocate_allocatable (&elseblock, pointer, size, token, +@@ -5839,20 +5856,11 @@ + + gfc_add_expr_to_block (&se->pre, tmp); + +- /* Update the array descriptors. */ ++ /* Update the array descriptor with the offset and the span. */ + if (dimension) +- gfc_conv_descriptor_offset_set (&set_descriptor_block, se->expr, offset); +- +- /* Pointer arrays need the span field to be set. */ +- if (is_pointer_array (se->expr) +- || (expr->ts.type == BT_CLASS +- && CLASS_DATA (expr)->attr.class_pointer)) + { +- if (expr3 && expr3_elem_size != NULL_TREE) +- tmp = expr3_elem_size; +- else +- tmp = TYPE_SIZE_UNIT (gfc_get_element_type (TREE_TYPE (se->expr))); +- tmp = fold_convert (gfc_array_index_type, tmp); ++ gfc_conv_descriptor_offset_set (&set_descriptor_block, se->expr, offset); ++ tmp = fold_convert (gfc_array_index_type, element_size); + gfc_conv_descriptor_span_set (&set_descriptor_block, se->expr, tmp); + } + +@@ -5862,6 +5870,11 @@ + cond = fold_build2_loc (input_location, EQ_EXPR, + logical_type_node, status, + build_int_cst (TREE_TYPE (status), 0)); ++ ++ if (not_prev_allocated != NULL_TREE) ++ cond = fold_build2_loc (input_location, TRUTH_OR_EXPR, ++ logical_type_node, cond, not_prev_allocated); ++ + gfc_add_expr_to_block (&se->pre, + fold_build3_loc (input_location, COND_EXPR, void_type_node, + cond, +@@ -7062,7 +7075,8 @@ + + /* ....and set the span field. */ + tmp = gfc_get_array_span (desc, expr); +- gfc_conv_descriptor_span_set (&se->pre, se->expr, tmp); ++ if (tmp != NULL_TREE) ++ gfc_conv_descriptor_span_set (&se->pre, se->expr, tmp); + } + else if (se->want_pointer) + { +@@ -7329,13 +7343,9 @@ + desc = info->descriptor; + if (se->direct_byref && !se->byref_noassign) + { +- /* For pointer assignments we fill in the destination.... */ ++ /* For pointer assignments we fill in the destination. */ + parm = se->expr; + parmtype = TREE_TYPE (parm); +- +- /* ....and set the span field. */ +- tmp = gfc_get_array_span (desc, expr); +- gfc_conv_descriptor_span_set (&loop.pre, parm, tmp); + } + else + { +@@ -7373,6 +7383,11 @@ + } + } + ++ /* Set the span field. */ ++ tmp = gfc_get_array_span (desc, expr); ++ if (tmp != NULL_TREE) ++ gfc_conv_descriptor_span_set (&loop.pre, parm, tmp); ++ + offset = gfc_index_zero_node; + + /* The following can be somewhat confusing. We have two +@@ -9505,8 +9520,12 @@ + + sym = expr->symtree->n.sym; + ++ if (sym->attr.associate_var && !expr->ref) ++ return false; ++ + /* An allocatable class variable with no reference. */ + if (sym->ts.type == BT_CLASS ++ && !sym->attr.associate_var + && CLASS_DATA (sym)->attr.allocatable + && expr->ref && expr->ref->type == REF_COMPONENT + && strcmp (expr->ref->u.c.component->name, "_data") == 0 +@@ -9515,9 +9534,10 @@ + + /* An allocatable variable. */ + if (sym->attr.allocatable +- && expr->ref +- && expr->ref->type == REF_ARRAY +- && expr->ref->u.ar.type == AR_FULL) ++ && !sym->attr.associate_var ++ && expr->ref ++ && expr->ref->type == REF_ARRAY ++ && expr->ref->u.ar.type == AR_FULL) + return true; + + /* All that can be left are allocatable components. */ +@@ -9932,6 +9952,15 @@ + tmp = concat_str_length (expr2); + expr2->ts.u.cl->backend_decl = gfc_evaluate_now (tmp, &fblock); + } ++ else if (!tmp && expr2->ts.u.cl->length) ++ { ++ gfc_se tmpse; ++ gfc_init_se (&tmpse, NULL); ++ gfc_conv_expr_type (&tmpse, expr2->ts.u.cl->length, ++ gfc_charlen_type_node); ++ tmp = tmpse.expr; ++ expr2->ts.u.cl->backend_decl = gfc_evaluate_now (tmp, &fblock); ++ } + tmp = fold_convert (TREE_TYPE (expr1->ts.u.cl->backend_decl), tmp); + } + +Index: gcc/fortran/decl.c +=================================================================== +--- a/src/gcc/fortran/decl.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/fortran/decl.c (.../branches/gcc-8-branch) +@@ -564,6 +564,7 @@ + gfc_match_data (void) + { + gfc_data *new_data; ++ gfc_expr *e; + match m; + + /* Before parsing the rest of a DATA statement, check F2008:c1206. */ +@@ -600,6 +601,30 @@ + goto cleanup; + } + ++ /* Check for an entity with an allocatable component, which is not ++ allowed. */ ++ e = new_data->var->expr; ++ if (e) ++ { ++ bool invalid; ++ ++ invalid = false; ++ for (gfc_ref *ref = e->ref; ref; ref = ref->next) ++ if ((ref->type == REF_COMPONENT ++ && ref->u.c.component->attr.allocatable) ++ || (ref->type == REF_ARRAY ++ && e->symtree->n.sym->attr.pointer != 1 ++ && ref->u.ar.as && ref->u.ar.as->type == AS_DEFERRED)) ++ invalid = true; ++ ++ if (invalid) ++ { ++ gfc_error ("Allocatable component or deferred-shaped array " ++ "near %C in DATA statement"); ++ goto cleanup; ++ } ++ } ++ + m = top_val_list (new_data); + if (m != MATCH_YES) + goto cleanup; +@@ -2741,6 +2766,22 @@ + param->value = gfc_copy_expr (initializer); + } + ++ /* Before adding a possible initilizer, do a simple check for compatibility ++ of lhs and rhs types. Assigning a REAL value to a derive type is not a ++ good thing. */ ++ if (current_ts.type == BT_DERIVED && initializer ++ && (gfc_numeric_ts (&initializer->ts) ++ || initializer->ts.type == BT_LOGICAL ++ || initializer->ts.type == BT_CHARACTER)) ++ { ++ gfc_error ("Incompatible initialization between a derive type " ++ "entity and an entity with %qs type at %C", ++ gfc_typename (&initializer->ts)); ++ m = MATCH_ERROR; ++ goto cleanup; ++ } ++ ++ + /* Add the initializer. Note that it is fine if initializer is + NULL here, because we sometimes also need to check if a + declaration *must* have an initialization expression. */ +@@ -7314,9 +7355,11 @@ + gfc_error ("Missing required parentheses before BIND(C) at %C"); + return MATCH_ERROR; + } +- if (!gfc_add_is_bind_c (&(entry->attr), entry->name, +- &(entry->declared_at), 1)) +- return MATCH_ERROR; ++ ++ if (!gfc_add_is_bind_c (&(entry->attr), entry->name, ++ &(entry->declared_at), 1)) ++ return MATCH_ERROR; ++ + } + + if (!gfc_current_ns->parent +@@ -7400,6 +7443,14 @@ + return MATCH_ERROR; + } + ++ /* F2018:C1546 An elemental procedure shall not have the BIND attribute. */ ++ if (proc->attr.elemental && entry->attr.is_bind_c) ++ { ++ gfc_error ("ENTRY statement at %L with BIND(C) prohibited in an " ++ "elemental procedure", &entry->declared_at); ++ return MATCH_ERROR; ++ } ++ + entry->attr.recursive = proc->attr.recursive; + entry->attr.elemental = proc->attr.elemental; + entry->attr.pure = proc->attr.pure; +@@ -10557,7 +10608,8 @@ + + done: + if (ba->access == ACCESS_UNKNOWN) +- ba->access = gfc_typebound_default_access; ++ ba->access = ppc ? gfc_current_block()->component_access ++ : gfc_typebound_default_access; + + if (ppc && !seen_ptr) + { +Index: gcc/fortran/array.c +=================================================================== +--- a/src/gcc/fortran/array.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/fortran/array.c (.../branches/gcc-8-branch) +@@ -1246,7 +1246,9 @@ + { + c = gfc_constructor_first (head); + for (; c; c = gfc_constructor_next (c)) +- gfc_convert_type (c->expr, &ts, 1); ++ if (!gfc_convert_type (c->expr, &ts, 1) ++ && c->expr->ts.type != BT_UNKNOWN) ++ return MATCH_ERROR; + } + } + else +Index: gcc/fortran/trans-openmp.c +=================================================================== +--- a/src/gcc/fortran/trans-openmp.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/fortran/trans-openmp.c (.../branches/gcc-8-branch) +@@ -149,7 +149,8 @@ + variables at all (they can't be redefined), but they can nevertheless appear + in parallel/task regions and for default(none) purposes treat them as shared. + For vtables likely the same handling is desirable. */ +- if (VAR_P (decl) && TREE_READONLY (decl) && TREE_STATIC (decl)) ++ if (VAR_P (decl) && TREE_READONLY (decl) ++ && (TREE_STATIC (decl) || DECL_EXTERNAL (decl))) + return OMP_CLAUSE_DEFAULT_SHARED; + + return OMP_CLAUSE_DEFAULT_UNSPECIFIED; +@@ -460,7 +461,8 @@ + + if ((! GFC_DESCRIPTOR_TYPE_P (type) + || GFC_TYPE_ARRAY_AKIND (type) != GFC_ARRAY_ALLOCATABLE) +- && !GFC_DECL_GET_SCALAR_ALLOCATABLE (OMP_CLAUSE_DECL (clause))) ++ && (!GFC_DECL_GET_SCALAR_ALLOCATABLE (OMP_CLAUSE_DECL (clause)) ++ || !POINTER_TYPE_P (type))) + { + if (gfc_has_alloc_comps (type, OMP_CLAUSE_DECL (clause))) + { +@@ -567,7 +569,8 @@ + + if ((! GFC_DESCRIPTOR_TYPE_P (type) + || GFC_TYPE_ARRAY_AKIND (type) != GFC_ARRAY_ALLOCATABLE) +- && !GFC_DECL_GET_SCALAR_ALLOCATABLE (OMP_CLAUSE_DECL (clause))) ++ && (!GFC_DECL_GET_SCALAR_ALLOCATABLE (OMP_CLAUSE_DECL (clause)) ++ || !POINTER_TYPE_P (type))) + { + if (gfc_has_alloc_comps (type, OMP_CLAUSE_DECL (clause))) + { +@@ -667,7 +670,8 @@ + + if ((! GFC_DESCRIPTOR_TYPE_P (type) + || GFC_TYPE_ARRAY_AKIND (type) != GFC_ARRAY_ALLOCATABLE) +- && !GFC_DECL_GET_SCALAR_ALLOCATABLE (OMP_CLAUSE_DECL (clause))) ++ && (!GFC_DECL_GET_SCALAR_ALLOCATABLE (OMP_CLAUSE_DECL (clause)) ++ || !POINTER_TYPE_P (type))) + { + if (gfc_has_alloc_comps (type, OMP_CLAUSE_DECL (clause))) + { +@@ -905,7 +909,8 @@ + + if ((! GFC_DESCRIPTOR_TYPE_P (type) + || GFC_TYPE_ARRAY_AKIND (type) != GFC_ARRAY_ALLOCATABLE) +- && !GFC_DECL_GET_SCALAR_ALLOCATABLE (OMP_CLAUSE_DECL (clause))) ++ && (!GFC_DECL_GET_SCALAR_ALLOCATABLE (OMP_CLAUSE_DECL (clause)) ++ || !POINTER_TYPE_P (type))) + { + gcc_assert (TREE_CODE (type) == ARRAY_TYPE); + if (!TYPE_DOMAIN (type) +@@ -989,7 +994,8 @@ + + if ((! GFC_DESCRIPTOR_TYPE_P (type) + || GFC_TYPE_ARRAY_AKIND (type) != GFC_ARRAY_ALLOCATABLE) +- && !GFC_DECL_GET_SCALAR_ALLOCATABLE (OMP_CLAUSE_DECL (clause))) ++ && (!GFC_DECL_GET_SCALAR_ALLOCATABLE (OMP_CLAUSE_DECL (clause)) ++ || !POINTER_TYPE_P (type))) + { + if (gfc_has_alloc_comps (type, OMP_CLAUSE_DECL (clause))) + return gfc_walk_alloc_comps (decl, NULL_TREE, +Index: gcc/fortran/gfortran.h +=================================================================== +--- a/src/gcc/fortran/gfortran.h (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/fortran/gfortran.h (.../branches/gcc-8-branch) +@@ -191,7 +191,8 @@ + /* Arithmetic results. */ + enum arith + { ARITH_OK = 1, ARITH_OVERFLOW, ARITH_UNDERFLOW, ARITH_NAN, +- ARITH_DIV0, ARITH_INCOMMENSURATE, ARITH_ASYMMETRIC, ARITH_PROHIBIT ++ ARITH_DIV0, ARITH_INCOMMENSURATE, ARITH_ASYMMETRIC, ARITH_PROHIBIT, ++ ARITH_WRONGCONCAT + }; + + /* Statements. */ +@@ -2143,6 +2144,9 @@ + /* Will require finalization after use. */ + unsigned int must_finalize : 1; + ++ /* Set this if no warning should be given somewhere in a lower level. */ ++ ++ unsigned int do_not_warn : 1; + /* If an expression comes from a Hollerith constant or compile-time + evaluation of a transfer statement, it may have a prescribed target- + memory representation, and these cannot always be backformed from +@@ -3345,7 +3349,7 @@ + void gfc_free_close (gfc_close *); + bool gfc_resolve_close (gfc_close *); + void gfc_free_filepos (gfc_filepos *); +-bool gfc_resolve_filepos (gfc_filepos *); ++bool gfc_resolve_filepos (gfc_filepos *, locus *); + void gfc_free_inquire (gfc_inquire *); + bool gfc_resolve_inquire (gfc_inquire *); + void gfc_free_dt (gfc_dt *); +Index: gcc/fortran/ChangeLog +=================================================================== +--- a/src/gcc/fortran/ChangeLog (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/fortran/ChangeLog (.../branches/gcc-8-branch) +@@ -1,3 +1,413 @@ ++2019-02-07 Jakub Jelinek ++ ++ Backported from mainline ++ 2019-02-01 Jakub Jelinek ++ ++ PR fortran/83246 ++ PR fortran/89084 ++ * trans-decl.c (generate_local_decl): Add referenced FL_PARAMETERs ++ if sym->ns->construct_entities rather than if ++ sym->ns->parent->code->op == EXEC_BLOCK. ++ ++ 2019-01-19 Jakub Jelinek ++ ++ PR fortran/88902 ++ * trans-decl.c (gfc_get_symbol_decl): Don't add length to function ++ or parent function if it has been added there already. ++ ++2019-02-05 Thomas Koenig ++ ++ PR fortran/67679 ++ Backport from trunk ++ * trans-array.c (gfc_array_allocate): For setting the bounds on ++ the new array, add a condition for a not previously allocated ++ variable. ++ ++2019-02-03 Paul Thomas ++ ++ Backport from trunk ++ PR fortran/88393 ++ * trans-expr.c (gfc_conv_procedure_call): For derived entities, ++ passed in parentheses to class formals, invert the order of ++ copying allocatable components to taking the _data of the ++ class expression. ++ ++2019-02-03 Paul Thomas ++ ++ Backport from trunk ++ PR fortran/88980 ++ * trans-array.c (gfc_array_init_size): Add element_size to the ++ arguments. ++ (gfc_array_allocate): Remove the recalculation of the size of ++ the element and use element_size from the call to the above. ++ Unconditionally set the span field of the descriptor. ++ ++2019-02-03 Paul Thomas ++ ++ Backport from trunk ++ PR fortran/88685 ++ * expr.c (is_subref_array): Move the check for class pointer ++ dummy arrays to after the reference check. If we haven't seen ++ an array reference other than an element and a component is not ++ class or derived, return false. ++ ++2019-02-02 Thomas Koenig ++ ++ PR fortran/88298 ++ Backport from trunk ++ * arith.c (gfc_int2int): Do not warn if src->do_not_warn is set. ++ * gfortran.h (gfc_expr): Add flag do_not_warn. ++ * intrinsic.c (gfc_convert_type_warn): Set expr->do_not_warn if ++ no warning is desired. ++ ++2019-02-02 Thomas Koenig ++ ++ PR fortran/57048 ++ Backport from trunk ++ * interface.c (gfc_compare_types): If a derived type and an ++ integer both have a derived type, and they are identical, ++ this is a C binding type and compares equal. ++ ++2019-01-27 Paul Thomas ++ ++ Backport from trunk ++ PR fortran/56386 ++ PR fortran/58906 ++ PR fortran/77385 ++ PR fortran/80260 ++ PR fortran/82077 ++ * resolve.c (resolve_variable): Fix up expressions with array ++ associate names, where the parser did not detect that this is ++ array and there was no array part_ref in the expression. ++ * trans-expr.c (gfc_find_and_cut_at_last_class_ref): base_expr ++ should be a copy of e and not the initialization expr. ++ ++2019-01-25 Paul Thomas ++ ++ PR fortran/87336 ++ * trans-array.c (gfc_get_array_span): Try to get the element ++ length of incomplete types. Return NULL_TREE otherwise. ++ (gfc_conv_expr_descriptor): Only set the 'span' field if the ++ above does not return NULL_TREE. Set 'span' field if possible ++ for all new descriptors. ++ ++2019-01-15 Steven G. Kargl ++ ++ PR fortran/81849 ++ * resolve.c (resolve_symbol): Host associated varaibles can appear ++ in the specification statement of a RESULT array. ++ ++2019-01-15 Dominique d'Humieres ++ ++ PR fortran/88803 ++ * gfortran.texi: Replace @xref with @ref and adjust the sentence. ++ ++2019-01-11 Steven G. Kargl ++ ++ PR fortran/35031 ++ * decl.c (gfc_match_entry): Check for F2018:C1546. Fix nearby ++ mis-indentation. ++ ++2019-01-08 Jakub Jelinek ++ ++ Backported from mainline ++ 2018-12-12 Jakub Jelinek ++ ++ PR fortran/88463 ++ * trans-openmp.c (gfc_omp_predetermined_sharing): Handle TREE_READONLY ++ VAR_DECLs with DECL_EXTERNAL like those with TREE_STATIC. ++ ++ 2018-12-07 Jakub Jelinek ++ ++ PR fortran/88377 ++ * trans-openmp.c (gfc_omp_clause_default_ctor, ++ gfc_omp_clause_copy_ctor, gfc_omp_clause_assign_op, ++ gfc_omp_clause_linear_ctor, gfc_omp_clause_dtor): Only consider ++ GFC_DECL_GET_SCALAR_ALLOCATABLE vars as scalar allocatables if they ++ have pointer type. ++ ++2018-12-23 Paul Thomas ++ ++ Backport from trunk ++ PR fortran/77703 ++ * resolve.c (get_temp_from_expr): Use the string length of ++ constant character expressions. ++ ++2018-12-23 Paul Thomas ++ ++ Backport from trunk ++ PR fortran/77325 ++ * trans-array.c (gfc_alloc_allocatable_for_assignment): If the ++ rhs has a charlen expression, convert that and use it. ++ * trans-expr.c (gfc_trans_assignment_1): The rse.pre for the ++ assignment of deferred character array vars to a realocatable ++ lhs should not be added to the exterior block since vector ++ indices, for example, generate temporaries indexed within the ++ loop. ++ ++2018-12-22 Steven G . Kargl ++ ++ PR fortran/85798 ++ * decl.c (gfc_match_data): If a component of a derived type entity ++ appears in data statement, check that does not have the allocatable ++ attribute. ++ ++2018-12-22 Thomas Koenig ++ ++ Backport from trunk ++ PR fortran/85544 ++ * frontend-passes.c (optimize_power): Remove. ++ (optimize_op): Remove call to optimize_power. ++ * trans-expr.c (gfc_conv_power_op): Handle cases of 1**integer, ++ (2|4|8|16) ** integer and (-1) ** integer. ++ ++2018-12-22 Steven G. Kargl ++ ++ PR fortran/88169 ++ * module.c (mio_namelist): Remove an error condition/message that ++ is contrary to the Fortran standard. ++ ++2018-12-21 Paul Thomas ++ ++ PR fortran/87359 ++ * trans-array.c (gfc_is_reallocatable_lhs): Correct the problem ++ introduced by r264358, which prevented components of associate ++ names from being reallocated on assignment. ++ ++2018-12-16 Steven G. Kargl ++ ++ PR fortran/88116 ++ PR fortran/88467 ++ * array.c (gfc_match_array_constructor): Check return value of ++ gfc_convert_type(). Skip constructor elements with BT_UNKNOWN, ++ which need to go through resolution. ++ * intrinsic.c (gfc_convert_type_warn): Return early if the types ++ martch (i.e., no conversion is required). ++ * simplify.c (gfc_convert_constant): Remove a gfc_internal_error, ++ and return gfc_bad_expr. ++ ++2018-12-15 Steven G. Kargl ++ ++ PR fortran/88138 ++ * decl.c (variable_decl): Check that a derived isn't being assigned ++ an incompatible entity in an initialization. ++ ++2018-12-11 Steven G. Kargl ++ ++ PR fortran/88155 ++ * primary.c (gfc_match_structure_constructor): Set the locus of ++ an expression to avoid a NULL pointer dereference. ++ ++2018-12-11 Steven G. Kargl ++ ++ PR fortran/88249 ++ * gfortran.h: Update prototype for gfc_resolve_filepos(). ++ * io.c (gfc_resolve_filepos): Check for UNIT number if ERR= is present. ++ Use passed in locus for error message. ++ * resolve.c (gfc_resolve_code): Pass locus in gfc_resolve_filepos() ++ call. ++ ++2018-12-10 Steven G. Kargl ++ ++ PR fortran/87922 ++ * io.c (gfc_match_open): Additional checks on ASYNCHRONOUS. ++ ++2018-12-10 Steven G. Kargl ++ ++ PR fortran/88269 ++ * io.c (io_constraint): Update macro. If locus line buffer is NULL, ++ use gfc_current_locus in error messages. ++ (check_io_constraints): Catch missing IO UNIT in write and read ++ statements. io_constraint macro is incompatible here. ++ ++2018-12-09 Steven G. Kargl ++ ++ PR fortran/88205 ++ * io.c (gfc_match_open): Move NEWUNIT checks to after STATUS checks. ++ ++2018-12-09 Steven G. Kargl ++ ++ PR fortran/88206 ++ * match.c (gfc_match_type_spec): REAL can be an intrinsic function. ++ ++2018-12-09 Fritz Reese ++ ++ PR fortran/88228 ++ * resolve.c (resolve_operator): Do not call resolve_function. ++ Break like other cases. ++ ++2018-12-08 Steven G. Kargl ++ ++ PR fortran/88048 ++ * resolve.c (check_data_variable): Named constant cannot be a ++ data object. ++ ++2018-12-08 Steven G. Kargl ++ ++ PR fortran/88025 ++ * expr.c (gfc_apply_init): Remove asserts that cannot trigger. ++ Check for a NULL pointer. ++ ++2018-11-25 Thomas Koenig ++ ++ Backport from trunk ++ PR fortran/88073 ++ * frontend-passes.c (combine_array_constructor): Do not do ++ anything if in a WHERE statement. ++ ++2018-11-24 Paul Thomas ++ ++ Backport from trunk ++ PR fortran/88143 ++ * resolve.c (resolve_variable): Check for associate names with ++ NULL target. ++ ++2018-11-05 Jakub Jelinek ++ ++ Backported from mainline ++ 2018-10-25 Jakub Jelinek ++ ++ PR fortran/87725 ++ * openmp.c (gfc_match_omp_clauses): Parse simd, monotonic and ++ nonmonotonic modifiers regardless of if they have been parsed ++ already or if the opposite one has. Fix up check whether ++ comma after modifier should be parsed. ++ (resolve_omp_clauses): Diagnose schedule modifier restrictions. ++ ++2019-11-03 Tobias Burnus ++ Thomas Koenig ++ ++ Backport from trunk ++ PR fortran/87597 ++ * expr.c (gfc_simplify_expr): Avoid simplifying ++ the 'array' argument to lbound/ubound/lcobound/ ++ ucobound. ++ ++2018-10-08 Paul Thomas ++ ++ PR fortran/83999 ++ Backport from trunk ++ * resolve.c (resolve_fl_procedure): Include class functions in ++ the test that elemental function results be scalar. ++ ++2018-10-08 Paul Thomas ++ ++ Backport from trunk ++ PR fortran/86372 ++ * trans-stmt.c (trans_associate_var): Character associate names ++ with variable string length do not have to be deferred length ++ for the string length to be set, if variable. ++ ++2018-10-06 Thomas Koenig ++ ++ PR fortran/86111 ++ Backport from trunk ++ * gfortran.h (enum arith): Add ARITH_WRONGCONCAT. ++ * arith.h (gfc_arith_error): Issue error for ARITH_WRONGCONCAT. ++ (gfc_arith_concat): If the types of op1 and op2 are not ++ character of if their kinds do not match, issue ARITH_WRONGCONCAT. ++ ++2018-09-18 Janus Weil ++ ++ Backport from trunk ++ PR fortran/85395 ++ * decl.c (match_binding_attributes): Use correct default accessibility ++ for procedure pointer components. ++ ++2018-09-18 Janus Weil ++ ++ Backport from trunk ++ PR fortran/86830 ++ * expr.c (gfc_is_simply_contiguous): Handle type-bound procedure calls ++ with non-polymorphic objects. ++ ++2018-09-18 Paul Thomas ++ ++ Backported from trunk ++ PR fortran/85954 ++ * resolve.c (resolve_assoc_var): If the target expression is a ++ deferred charlen dummy and the associate name shares the ++ charlen, generate a new one. Make sure that new charlens are in ++ the namespace list so that they get cleaned up. ++ * trans-array.c (gfc_is_reallocatable_lhs): Associate names are ++ not reallocatable. ++ * trans-decl.c (gfc_get_symbol_decl): Put deferred character ++ length dummy and result arrays on the deferred initialization ++ list so that the variable length arrays can be correctly dealt ++ with. ++ * trans-expr.c (gfc_conv_string_length): Return if 'expr' is ++ NULL rather than ICEing. ++ ++2018-09-12 Paul Thomas ++ ++ Backported from trunk ++ PR fortran/87284 ++ * trans-expr.c (gfc_trans_class_init_assign): Access to ++ to array elements of the dynamic type requires that the array ++ reference be added to the class expression and not the _data ++ component, unlike scalar expressions. ++ ++2018-09-11 Paul Thomas ++ ++ Backported from trunk ++ PR fortran/87277 ++ * expr.c (is_subref_array): Add the check of dimensionality for ++ class, dummy, pointer arrays. ++ ++2018-09-05 Janus Weil ++ ++ Backported from trunk ++ PR fortran/86116 ++ * interface.c (compare_type): Remove a CLASS/TYPE check. ++ (compare_type_characteristics): New function that behaves like the old ++ 'compare_type'. ++ (gfc_check_dummy_characteristics, gfc_check_result_characteristics): ++ Call 'compare_type_characteristics' instead of 'compare_type'. ++ ++2018-09-04 Jerry DeLisle ++ ++ * simplify.c (gfc_simplify_modulo): Re-arrange code to test ++ whether 'P' is zero and issue an error if it is. ++ ++2018-09-01 Paul Thomas ++ ++ PR fortran/86328 ++ PR fortran/86760 ++ * trans-array.c (gfc_conv_scalarized_array_ref): Do not fix ++ info->descriptor but pass it directly to gfc_build_array_ref. ++ (gfc_conv_array_ref): Likewise for se->expr. ++ * trans.c (gfc_build_array_ref): If 'decl' is a COMPONENT_REF ++ obtain the span field directly from it. ++ ++2018-08-24 Thomas Koenig ++ ++ Backport from trunk ++ PR fortran/86837 ++ * frontend-passes.c (var_in_expr_callback): New function. ++ (var_in_expr): New function. ++ (traverse_io_block): Use var_in_expr instead of ++ gfc_check_dependency for checking if the variable depends on the ++ previous interators. ++ ++2018-08-12 Paul Thomas ++ ++ Backported from trunk ++ PR fortran/86906 ++ * resolve.c (resolve_fl_variable_derived): Check if the derived ++ type is use associated before checking for the host association ++ error. ++ ++2018-07-26 Jakub Jelinek ++ ++ Backported from mainline ++ 2018-07-10 Jakub Jelinek ++ ++ PR fortran/86421 ++ * module.c (omp_declare_simd_clauses): Add LINEAR with _REF, _VAL and ++ _UVAL suffixes. ++ (mio_omp_declare_simd): Save and restore ref, val and uval modifiers ++ on linear clauses. Initialize n->where to gfc_current_locus. ++ + 2018-07-26 Release Manager + + * GCC 8.2.0 released. +Index: gcc/fortran/trans-stmt.c +=================================================================== +--- a/src/gcc/fortran/trans-stmt.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/fortran/trans-stmt.c (.../branches/gcc-8-branch) +@@ -1887,7 +1887,6 @@ + } + + if (sym->ts.type == BT_CHARACTER +- && sym->ts.deferred + && !sym->attr.select_type_temporary + && VAR_P (sym->ts.u.cl->backend_decl) + && se.string_length != sym->ts.u.cl->backend_decl) +Index: gcc/fortran/expr.c +=================================================================== +--- a/src/gcc/fortran/expr.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/fortran/expr.c (.../branches/gcc-8-branch) +@@ -1067,14 +1067,17 @@ + if (e->symtree->n.sym->attr.subref_array_pointer) + return true; + +- if (e->symtree->n.sym->ts.type == BT_CLASS +- && e->symtree->n.sym->attr.dummy +- && CLASS_DATA (e->symtree->n.sym)->attr.class_pointer) +- return true; ++ seen_array = false; + +- seen_array = false; + for (ref = e->ref; ref; ref = ref->next) + { ++ /* If we haven't seen the array reference and this is an intrinsic, ++ what follows cannot be a subreference array. */ ++ if (!seen_array && ref->type == REF_COMPONENT ++ && ref->u.c.component->ts.type != BT_CLASS ++ && !gfc_bt_struct (ref->u.c.component->ts.type)) ++ return false; ++ + if (ref->type == REF_ARRAY + && ref->u.ar.type != AR_ELEMENT) + seen_array = true; +@@ -1083,6 +1086,13 @@ + && ref->type != REF_ARRAY) + return seen_array; + } ++ ++ if (e->symtree->n.sym->ts.type == BT_CLASS ++ && e->symtree->n.sym->attr.dummy ++ && CLASS_DATA (e->symtree->n.sym)->attr.dimension ++ && CLASS_DATA (e->symtree->n.sym)->attr.class_pointer) ++ return true; ++ + return false; + } + +@@ -1930,7 +1940,20 @@ + break; + + case EXPR_FUNCTION: +- for (ap = p->value.function.actual; ap; ap = ap->next) ++ // For array-bound functions, we don't need to optimize ++ // the 'array' argument. In particular, if the argument ++ // is a PARAMETER, simplifying might convert an EXPR_VARIABLE ++ // into an EXPR_ARRAY; the latter has lbound = 1, the former ++ // can have any lbound. ++ ap = p->value.function.actual; ++ if (p->value.function.isym && ++ (p->value.function.isym->id == GFC_ISYM_LBOUND ++ || p->value.function.isym->id == GFC_ISYM_UBOUND ++ || p->value.function.isym->id == GFC_ISYM_LCOBOUND ++ || p->value.function.isym->id == GFC_ISYM_UCOBOUND)) ++ ap = ap->next; ++ ++ for ( ; ap; ap = ap->next) + if (!gfc_simplify_expr (ap->expr, type)) + return false; + +@@ -4273,12 +4296,10 @@ + { + if (ts->type == BT_CHARACTER && !attr->pointer && init + && ts->u.cl +- && ts->u.cl->length && ts->u.cl->length->expr_type == EXPR_CONSTANT) ++ && ts->u.cl->length ++ && ts->u.cl->length->expr_type == EXPR_CONSTANT ++ && ts->u.cl->length->ts.type == BT_INTEGER) + { +- gcc_assert (ts->u.cl && ts->u.cl->length); +- gcc_assert (ts->u.cl->length->expr_type == EXPR_CONSTANT); +- gcc_assert (ts->u.cl->length->ts.type == BT_INTEGER); +- + HOST_WIDE_INT len = gfc_mpz_get_hwi (ts->u.cl->length->value.integer); + + if (init->expr_type == EXPR_CONSTANT) +@@ -5360,16 +5381,13 @@ + return expr->value.function.esym->result->attr.contiguous; + else + { +- /* We have to jump through some hoops if this is a vtab entry. */ +- gfc_symbol *s; +- gfc_ref *r, *rc; ++ /* Type-bound procedures. */ ++ gfc_symbol *s = expr->symtree->n.sym; ++ if (s->ts.type != BT_CLASS && s->ts.type != BT_DERIVED) ++ return false; + +- s = expr->symtree->n.sym; +- if (s->ts.type != BT_CLASS) +- return false; +- +- rc = NULL; +- for (r = expr->ref; r; r = r->next) ++ gfc_ref *rc = NULL; ++ for (gfc_ref *r = expr->ref; r; r = r->next) + if (r->type == REF_COMPONENT) + rc = r; + +Index: gcc/fortran/module.c +=================================================================== +--- a/src/gcc/fortran/module.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/fortran/module.c (.../branches/gcc-8-branch) +@@ -3697,7 +3697,6 @@ + mio_namelist (gfc_symbol *sym) + { + gfc_namelist *n, *m; +- const char *check_name; + + mio_lparen (); + +@@ -3708,17 +3707,6 @@ + } + else + { +- /* This departure from the standard is flagged as an error. +- It does, in fact, work correctly. TODO: Allow it +- conditionally? */ +- if (sym->attr.flavor == FL_NAMELIST) +- { +- check_name = find_use_name (sym->name, false); +- if (check_name && strcmp (check_name, sym->name) != 0) +- gfc_error ("Namelist %s cannot be renamed by USE " +- "association to %s", sym->name, check_name); +- } +- + m = NULL; + while (peek_atom () != ATOM_RPAREN) + { +@@ -4100,6 +4088,9 @@ + minit ("UNIFORM", 3), + minit ("LINEAR", 4), + minit ("ALIGNED", 5), ++ minit ("LINEAR_REF", 33), ++ minit ("LINEAR_VAL", 34), ++ minit ("LINEAR_UVAL", 35), + minit (NULL, -1) + }; + +@@ -4142,7 +4133,10 @@ + } + for (n = ods->clauses->lists[OMP_LIST_LINEAR]; n; n = n->next) + { +- mio_name (4, omp_declare_simd_clauses); ++ if (n->u.linear_op == OMP_LINEAR_DEFAULT) ++ mio_name (4, omp_declare_simd_clauses); ++ else ++ mio_name (32 + n->u.linear_op, omp_declare_simd_clauses); + mio_symbol_ref (&n->sym); + mio_expr (&n->expr); + } +@@ -4183,11 +4177,20 @@ + case 4: + case 5: + *ptrs[t - 3] = n = gfc_get_omp_namelist (); ++ finish_namelist: ++ n->where = gfc_current_locus; + ptrs[t - 3] = &n->next; + mio_symbol_ref (&n->sym); + if (t != 3) + mio_expr (&n->expr); + break; ++ case 33: ++ case 34: ++ case 35: ++ *ptrs[1] = n = gfc_get_omp_namelist (); ++ n->u.linear_op = (enum gfc_omp_linear_op) (t - 32); ++ t = 4; ++ goto finish_namelist; + } + } + } +Index: gcc/fortran/trans.c +=================================================================== +--- a/src/gcc/fortran/trans.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/fortran/trans.c (.../branches/gcc-8-branch) +@@ -407,7 +407,12 @@ + if (vptr) + span = gfc_vptr_size_get (vptr); + else if (decl) +- span = get_array_span (type, decl); ++ { ++ if (TREE_CODE (decl) == COMPONENT_REF) ++ span = gfc_conv_descriptor_span_get (decl); ++ else ++ span = get_array_span (type, decl); ++ } + + /* If a non-null span has been generated reference the element with + pointer arithmetic. */ +Index: gcc/fortran/io.c +=================================================================== +--- a/src/gcc/fortran/io.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/fortran/io.c (.../branches/gcc-8-branch) +@@ -2150,33 +2150,6 @@ + + warn = (open->err || open->iostat) ? true : false; + +- /* Checks on NEWUNIT specifier. */ +- if (open->newunit) +- { +- if (open->unit) +- { +- gfc_error ("UNIT specifier not allowed with NEWUNIT at %C"); +- goto cleanup; +- } +- +- if (!open->file && open->status) +- { +- if (open->status->expr_type == EXPR_CONSTANT +- && gfc_wide_strncasecmp (open->status->value.character.string, +- "scratch", 7) != 0) +- { +- gfc_error ("NEWUNIT specifier must have FILE= " +- "or STATUS='scratch' at %C"); +- goto cleanup; +- } +- } +- } +- else if (!open->unit) +- { +- gfc_error ("OPEN statement at %C must have UNIT or NEWUNIT specified"); +- goto cleanup; +- } +- + /* Checks on the ACCESS specifier. */ + if (open->access && open->access->expr_type == EXPR_CONSTANT) + { +@@ -2232,6 +2205,21 @@ + if (!is_char_type ("ASYNCHRONOUS", open->asynchronous)) + goto cleanup; + ++ if (open->asynchronous->ts.kind != 1) ++ { ++ gfc_error ("ASYNCHRONOUS= specifier at %L must be of default " ++ "CHARACTER kind", &open->asynchronous->where); ++ return MATCH_ERROR; ++ } ++ ++ if (open->asynchronous->expr_type == EXPR_ARRAY ++ || open->asynchronous->expr_type == EXPR_STRUCTURE) ++ { ++ gfc_error ("ASYNCHRONOUS= specifier at %L must be scalar", ++ &open->asynchronous->where); ++ return MATCH_ERROR; ++ } ++ + if (open->asynchronous->expr_type == EXPR_CONSTANT) + { + static const char * asynchronous[] = { "YES", "NO", NULL }; +@@ -2501,6 +2489,33 @@ + } + } + ++ /* Checks on NEWUNIT specifier. */ ++ if (open->newunit) ++ { ++ if (open->unit) ++ { ++ gfc_error ("UNIT specifier not allowed with NEWUNIT at %C"); ++ goto cleanup; ++ } ++ ++ if (!open->file && open->status) ++ { ++ if (open->status->expr_type == EXPR_CONSTANT ++ && gfc_wide_strncasecmp (open->status->value.character.string, ++ "scratch", 7) != 0) ++ { ++ gfc_error ("NEWUNIT specifier must have FILE= " ++ "or STATUS='scratch' at %C"); ++ goto cleanup; ++ } ++ } ++ } ++ else if (!open->unit) ++ { ++ gfc_error ("OPEN statement at %C must have UNIT or NEWUNIT specified"); ++ goto cleanup; ++ } ++ + /* Things that are not allowed for unformatted I/O. */ + if (open->form && open->form->expr_type == EXPR_CONSTANT + && (open->delim || open->decimal || open->encoding || open->round +@@ -2834,22 +2849,21 @@ + + + bool +-gfc_resolve_filepos (gfc_filepos *fp) ++gfc_resolve_filepos (gfc_filepos *fp, locus *where) + { + RESOLVE_TAG (&tag_unit, fp->unit); + RESOLVE_TAG (&tag_iostat, fp->iostat); + RESOLVE_TAG (&tag_iomsg, fp->iomsg); +- if (!gfc_reference_st_label (fp->err, ST_LABEL_TARGET)) +- return false; + +- if (!fp->unit && (fp->iostat || fp->iomsg)) ++ if (!fp->unit && (fp->iostat || fp->iomsg || fp->err)) + { +- locus where; +- where = fp->iostat ? fp->iostat->where : fp->iomsg->where; +- gfc_error ("UNIT number missing in statement at %L", &where); ++ gfc_error ("UNIT number missing in statement at %L", where); + return false; + } + ++ if (!gfc_reference_st_label (fp->err, ST_LABEL_TARGET)) ++ return false; ++ + if (fp->unit->expr_type == EXPR_CONSTANT + && fp->unit->ts.type == BT_INTEGER + && mpz_sgn (fp->unit->value.integer) < 0) +@@ -3678,10 +3692,13 @@ + check_io_constraints (io_kind k, gfc_dt *dt, gfc_code *io_code, + locus *spec_end) + { +-#define io_constraint(condition,msg,arg)\ ++#define io_constraint(condition, msg, arg)\ + if (condition) \ + {\ +- gfc_error(msg,arg);\ ++ if ((arg)->lb != NULL)\ ++ gfc_error ((msg), (arg));\ ++ else\ ++ gfc_error ((msg), &gfc_current_locus);\ + m = MATCH_ERROR;\ + } + +@@ -3741,11 +3758,14 @@ + if (expr && expr->ts.type != BT_CHARACTER) + { + +- io_constraint (gfc_pure (NULL) && (k == M_READ || k == M_WRITE), +- "IO UNIT in %s statement at %C must be " ++ if (gfc_pure (NULL) && (k == M_READ || k == M_WRITE)) ++ { ++ gfc_error ("IO UNIT in %s statement at %C must be " + "an internal file in a PURE procedure", + io_kind_name (k)); +- ++ return MATCH_ERROR; ++ } ++ + if (k == M_READ || k == M_WRITE) + gfc_unset_implicit_pure (NULL); + } +@@ -3793,6 +3813,21 @@ + if (!is_char_type ("ASYNCHRONOUS", dt->asynchronous)) + return MATCH_ERROR; + ++ if (dt->asynchronous->ts.kind != 1) ++ { ++ gfc_error ("ASYNCHRONOUS= specifier at %L must be of default " ++ "CHARACTER kind", &dt->asynchronous->where); ++ return MATCH_ERROR; ++ } ++ ++ if (dt->asynchronous->expr_type == EXPR_ARRAY ++ || dt->asynchronous->expr_type == EXPR_STRUCTURE) ++ { ++ gfc_error ("ASYNCHRONOUS= specifier at %L must be scalar", ++ &dt->asynchronous->where); ++ return MATCH_ERROR; ++ } ++ + if (!compare_to_allowed_values + ("ASYNCHRONOUS", asynchronous, NULL, NULL, + dt->asynchronous->value.character.string, +Index: gcc/fortran/frontend-passes.c +=================================================================== +--- a/src/gcc/fortran/frontend-passes.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/fortran/frontend-passes.c (.../branches/gcc-8-branch) +@@ -1099,6 +1099,31 @@ + return 0; + } + ++/* Callback function to var_in_expr - return true if expr1 and ++ expr2 are identical variables. */ ++static int ++var_in_expr_callback (gfc_expr **e, int *walk_subtrees ATTRIBUTE_UNUSED, ++ void *data) ++{ ++ gfc_expr *expr1 = (gfc_expr *) data; ++ gfc_expr *expr2 = *e; ++ ++ if (expr2->expr_type != EXPR_VARIABLE) ++ return 0; ++ ++ return expr1->symtree->n.sym == expr2->symtree->n.sym; ++} ++ ++/* Return true if expr1 is found in expr2. */ ++ ++static bool ++var_in_expr (gfc_expr *expr1, gfc_expr *expr2) ++{ ++ gcc_assert (expr1->expr_type == EXPR_VARIABLE); ++ ++ return gfc_expr_walker (&expr2, var_in_expr_callback, (void *) expr1); ++} ++ + struct do_stack + { + struct do_stack *prev; +@@ -1251,9 +1276,9 @@ + for (int j = i - 1; j < i; j++) + { + if (iters[j] +- && (gfc_check_dependency (var, iters[j]->start, true) +- || gfc_check_dependency (var, iters[j]->end, true) +- || gfc_check_dependency (var, iters[j]->step, true))) ++ && (var_in_expr (var, iters[j]->start) ++ || var_in_expr (var, iters[j]->end) ++ || var_in_expr (var, iters[j]->step))) + return false; + } + } +@@ -1691,6 +1716,10 @@ + if (iterator_level > 0) + return false; + ++ /* WHERE also doesn't work. */ ++ if (in_where > 0) ++ return false; ++ + op1 = e->value.op.op1; + op2 = e->value.op.op2; + +@@ -1777,84 +1806,6 @@ + return true; + } + +-/* Change (-1)**k into 1-ishift(iand(k,1),1) and +- 2**k into ishift(1,k) */ +- +-static bool +-optimize_power (gfc_expr *e) +-{ +- gfc_expr *op1, *op2; +- gfc_expr *iand, *ishft; +- +- if (e->ts.type != BT_INTEGER) +- return false; +- +- op1 = e->value.op.op1; +- +- if (op1 == NULL || op1->expr_type != EXPR_CONSTANT) +- return false; +- +- if (mpz_cmp_si (op1->value.integer, -1L) == 0) +- { +- gfc_free_expr (op1); +- +- op2 = e->value.op.op2; +- +- if (op2 == NULL) +- return false; +- +- iand = gfc_build_intrinsic_call (current_ns, GFC_ISYM_IAND, +- "_internal_iand", e->where, 2, op2, +- gfc_get_int_expr (e->ts.kind, +- &e->where, 1)); +- +- ishft = gfc_build_intrinsic_call (current_ns, GFC_ISYM_ISHFT, +- "_internal_ishft", e->where, 2, iand, +- gfc_get_int_expr (e->ts.kind, +- &e->where, 1)); +- +- e->value.op.op = INTRINSIC_MINUS; +- e->value.op.op1 = gfc_get_int_expr (e->ts.kind, &e->where, 1); +- e->value.op.op2 = ishft; +- return true; +- } +- else if (mpz_cmp_si (op1->value.integer, 2L) == 0) +- { +- gfc_free_expr (op1); +- +- op2 = e->value.op.op2; +- if (op2 == NULL) +- return false; +- +- ishft = gfc_build_intrinsic_call (current_ns, GFC_ISYM_ISHFT, +- "_internal_ishft", e->where, 2, +- gfc_get_int_expr (e->ts.kind, +- &e->where, 1), +- op2); +- *e = *ishft; +- return true; +- } +- +- else if (mpz_cmp_si (op1->value.integer, 1L) == 0) +- { +- op2 = e->value.op.op2; +- if (op2 == NULL) +- return false; +- +- gfc_free_expr (op1); +- gfc_free_expr (op2); +- +- e->expr_type = EXPR_CONSTANT; +- e->value.op.op1 = NULL; +- e->value.op.op2 = NULL; +- mpz_init_set_si (e->value.integer, 1); +- /* Typespec and location are still OK. */ +- return true; +- } +- +- return false; +-} +- + /* Recursive optimization of operators. */ + + static bool +@@ -1915,9 +1866,6 @@ + case INTRINSIC_DIVIDE: + return combine_array_constructor (e) || changed; + +- case INTRINSIC_POWER: +- return optimize_power (e); +- + default: + break; + } +Index: gcc/fortran/resolve.c +=================================================================== +--- a/src/gcc/fortran/resolve.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/fortran/resolve.c (.../branches/gcc-8-branch) +@@ -3926,7 +3926,7 @@ + if (op2->ts.type != e->ts.type || op2->ts.kind != e->ts.kind) + gfc_convert_type (op2, &e->ts, 1); + e = logical_to_bitwise (e); +- return resolve_function (e); ++ break; + } + + sprintf (msg, _("Operands of logical operator %%<%s%%> at %%L are %s/%s"), +@@ -3942,7 +3942,7 @@ + e->ts.type = BT_INTEGER; + e->ts.kind = op1->ts.kind; + e = logical_to_bitwise (e); +- return resolve_function (e); ++ break; + } + + if (op1->ts.type == BT_LOGICAL) +@@ -5329,7 +5329,7 @@ + the ts' type of the component refs is still array valued, which + can't be translated that way. */ + if (sym->assoc && e->rank == 0 && e->ref && sym->ts.type == BT_CLASS +- && sym->assoc->target->ts.type == BT_CLASS ++ && sym->assoc->target && sym->assoc->target->ts.type == BT_CLASS + && CLASS_DATA (sym->assoc->target)->as) + { + gfc_ref *ref = e->ref; +@@ -5358,6 +5358,23 @@ + gfc_fix_class_refs (e); + if (!sym->attr.dimension && e->ref && e->ref->type == REF_ARRAY) + return false; ++ else if (sym->attr.dimension && (!e->ref || e->ref->type != REF_ARRAY)) ++ { ++ /* This can happen because the parser did not detect that the ++ associate name is an array and the expression had no array ++ part_ref. */ ++ gfc_ref *ref = gfc_get_ref (); ++ ref->type = REF_ARRAY; ++ ref->u.ar = *gfc_get_array_ref(); ++ ref->u.ar.type = AR_FULL; ++ if (sym->as) ++ { ++ ref->u.ar.as = sym->as; ++ ref->u.ar.dimen = sym->as->rank; ++ } ++ ref->next = e->ref; ++ e->ref = ref; ++ } + } + + if (sym->ts.type == BT_DERIVED && sym->ts.u.derived->attr.generic) +@@ -8658,6 +8675,14 @@ + if (!sym->ts.u.cl) + sym->ts.u.cl = target->ts.u.cl; + ++ if (sym->ts.deferred && target->expr_type == EXPR_VARIABLE ++ && target->symtree->n.sym->attr.dummy ++ && sym->ts.u.cl == target->ts.u.cl) ++ { ++ sym->ts.u.cl = gfc_new_charlen (sym->ns, NULL); ++ sym->ts.deferred = 1; ++ } ++ + if (!sym->ts.u.cl->length + && !sym->ts.deferred + && target->expr_type == EXPR_CONSTANT) +@@ -8670,7 +8695,7 @@ + || sym->ts.u.cl->length->expr_type != EXPR_CONSTANT) + && target->expr_type != EXPR_VARIABLE) + { +- sym->ts.u.cl = gfc_get_charlen(); ++ sym->ts.u.cl = gfc_new_charlen (sym->ns, NULL); + sym->ts.deferred = 1; + + /* This is reset in trans-stmt.c after the assignment +@@ -10491,6 +10516,11 @@ + gfc_get_sym_tree (name, ns, &tmp, false); + gfc_add_type (tmp->n.sym, &e->ts, NULL); + ++ if (e->expr_type == EXPR_CONSTANT && e->ts.type == BT_CHARACTER) ++ tmp->n.sym->ts.u.cl->length = gfc_get_int_expr (gfc_charlen_int_kind, ++ NULL, ++ e->value.character.length); ++ + as = NULL; + ref = NULL; + aref = NULL; +@@ -11395,7 +11425,7 @@ + case EXEC_ENDFILE: + case EXEC_REWIND: + case EXEC_FLUSH: +- if (!gfc_resolve_filepos (code->ext.filepos)) ++ if (!gfc_resolve_filepos (code->ext.filepos, &code->loc)) + break; + + resolve_branch (code->ext.filepos->err, code); +@@ -12050,6 +12080,7 @@ + namespace. 14.6.1.3 of the standard and the discussion on + comp.lang.fortran. */ + if (sym->ns != sym->ts.u.derived->ns ++ && !sym->ts.u.derived->attr.use_assoc + && sym->ns->proc_name->attr.if_source != IFSRC_IFBODY) + { + gfc_symbol *s; +@@ -12404,7 +12435,8 @@ + } + + /* An elemental function is required to return a scalar 12.7.1 */ +- if (sym->attr.elemental && sym->attr.function && sym->as) ++ if (sym->attr.elemental && sym->attr.function ++ && (sym->as || (sym->ts.type == BT_CLASS && CLASS_DATA (sym)->as))) + { + gfc_error ("ELEMENTAL function %qs at %L must have a scalar " + "result", sym->name, &sym->declared_at); +@@ -15198,7 +15230,7 @@ + /* Set the formal_arg_flag so that check_conflict will not throw + an error for host associated variables in the specification + expression for an array_valued function. */ +- if (sym->attr.function && sym->as) ++ if ((sym->attr.function || sym->attr.result) && sym->as) + formal_arg_flag = true; + + saved_specification_expr = specification_expr; +@@ -15350,7 +15382,10 @@ + e = e->value.function.actual->expr; + + if (e->expr_type != EXPR_VARIABLE) +- gfc_internal_error ("check_data_variable(): Bad expression"); ++ { ++ gfc_error ("Expecting definable entity near %L", where); ++ return false; ++ } + + sym = e->symtree->n.sym; + +@@ -15358,6 +15393,7 @@ + { + gfc_error ("BLOCK DATA element %qs at %L must be in COMMON", + sym->name, &sym->declared_at); ++ return false; + } + + if (e->ref == NULL && sym->as) +Index: gcc/fortran/trans-decl.c +=================================================================== +--- a/src/gcc/fortran/trans-decl.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/fortran/trans-decl.c (.../branches/gcc-8-branch) +@@ -1543,6 +1543,13 @@ + /* Dummy variables should already have been created. */ + gcc_assert (sym->backend_decl); + ++ /* However, the string length of deferred arrays must be set. */ ++ if (sym->ts.type == BT_CHARACTER ++ && sym->ts.deferred ++ && sym->attr.dimension ++ && sym->attr.allocatable) ++ gfc_defer_symbol_init (sym); ++ + if (sym->attr.pointer && sym->attr.dimension && sym->ts.type != BT_CLASS) + GFC_DECL_PTR_ARRAY_P (sym->backend_decl) = 1; + +@@ -1595,13 +1602,17 @@ + if (VAR_P (length) && DECL_FILE_SCOPE_P (length)) + { + /* Add the string length to the same context as the symbol. */ +- if (DECL_CONTEXT (sym->backend_decl) == current_function_decl) +- gfc_add_decl_to_function (length); +- else +- gfc_add_decl_to_parent_function (length); ++ if (DECL_CONTEXT (length) == NULL_TREE) ++ { ++ if (DECL_CONTEXT (sym->backend_decl) ++ == current_function_decl) ++ gfc_add_decl_to_function (length); ++ else ++ gfc_add_decl_to_parent_function (length); ++ } + +- gcc_assert (DECL_CONTEXT (sym->backend_decl) == +- DECL_CONTEXT (length)); ++ gcc_assert (DECL_CONTEXT (sym->backend_decl) ++ == DECL_CONTEXT (length)); + + gfc_defer_symbol_init (sym); + } +@@ -5709,10 +5720,7 @@ + "imported at %L", sym->name, &sym->declared_at); + } + +- if (sym->ns +- && sym->ns->parent +- && sym->ns->parent->code +- && sym->ns->parent->code->op == EXEC_BLOCK) ++ if (sym->ns && sym->ns->construct_entities) + { + if (sym->attr.referenced) + gfc_get_symbol_decl (sym); +Index: gcc/fortran/match.c +=================================================================== +--- a/src/gcc/fortran/match.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/fortran/match.c (.../branches/gcc-8-branch) +@@ -2208,6 +2208,9 @@ + return MATCH_NO; + } + ++ if (e->expr_type != EXPR_CONSTANT) ++ goto ohno; ++ + gfc_next_char (); /* Burn the ')'. */ + ts->kind = (int) mpz_get_si (e->value.integer); + if (gfc_validate_kind (ts->type, ts->kind , true) == -1) +@@ -2222,6 +2225,8 @@ + } + } + ++ohno: ++ + /* If a type is not matched, simply return MATCH_NO. */ + gfc_current_locus = old_locus; + return MATCH_NO; +Index: gcc/fortran/arith.c +=================================================================== +--- a/src/gcc/fortran/arith.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/fortran/arith.c (.../branches/gcc-8-branch) +@@ -113,6 +113,11 @@ + p = + _("Integer outside symmetric range implied by Standard Fortran at %L"); + break; ++ case ARITH_WRONGCONCAT: ++ p = ++ _("Illegal type in character concatenation at %L"); ++ break; ++ + default: + gfc_internal_error ("gfc_arith_error(): Bad error code"); + } +@@ -982,7 +987,12 @@ + gfc_expr *result; + size_t len; + +- gcc_assert (op1->ts.kind == op2->ts.kind); ++ /* By cleverly playing around with constructors, is is possible ++ to get mismaching types here. */ ++ if (op1->ts.type != BT_CHARACTER || op2->ts.type != BT_CHARACTER ++ || op1->ts.kind != op2->ts.kind) ++ return ARITH_WRONGCONCAT; ++ + result = gfc_get_constant_expr (BT_CHARACTER, op1->ts.kind, + &op1->where); + +@@ -2051,7 +2061,7 @@ + gfc_convert_mpz_to_signed (result->value.integer, + gfc_integer_kinds[k].bit_size); + +- if (warn_conversion && kind < src->ts.kind) ++ if (warn_conversion && !src->do_not_warn && kind < src->ts.kind) + gfc_warning_now (OPT_Wconversion, "Conversion from %qs to %qs at %L", + gfc_typename (&src->ts), gfc_typename (&result->ts), + &src->where); +Index: gcc/fortran/primary.c +=================================================================== +--- a/src/gcc/fortran/primary.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/fortran/primary.c (.../branches/gcc-8-branch) +@@ -3061,6 +3061,7 @@ + e = gfc_get_expr (); + e->symtree = symtree; + e->expr_type = EXPR_FUNCTION; ++ e->where = gfc_current_locus; + + gcc_assert (gfc_fl_struct (sym->attr.flavor) + && symtree->n.sym->attr.flavor == FL_PROCEDURE); +Index: gcc/fortran/simplify.c +=================================================================== +--- a/src/gcc/fortran/simplify.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/fortran/simplify.c (.../branches/gcc-8-branch) +@@ -5509,54 +5509,57 @@ + gfc_expr *result; + int kind; + +- if (a->expr_type != EXPR_CONSTANT || p->expr_type != EXPR_CONSTANT) ++ /* First check p. */ ++ if (p->expr_type != EXPR_CONSTANT) + return NULL; + +- kind = a->ts.kind > p->ts.kind ? a->ts.kind : p->ts.kind; +- result = gfc_get_constant_expr (a->ts.type, kind, &a->where); +- +- switch (a->ts.type) ++ /* p shall not be 0. */ ++ switch (p->ts.type) + { + case BT_INTEGER: + if (mpz_cmp_ui (p->value.integer, 0) == 0) + { +- /* Result is processor-dependent. This processor just opts +- to not handle it at all. */ +- gfc_error ("Second argument of MODULO at %L is zero", &a->where); +- gfc_free_expr (result); ++ gfc_error ("Argument %qs of MODULO at %L shall not be zero", ++ "P", &p->where); + return &gfc_bad_expr; + } +- mpz_fdiv_r (result->value.integer, a->value.integer, p->value.integer); +- + break; +- + case BT_REAL: + if (mpfr_cmp_ui (p->value.real, 0) == 0) + { +- /* Result is processor-dependent. */ +- gfc_error ("Second argument of MODULO at %L is zero", &p->where); +- gfc_free_expr (result); ++ gfc_error ("Argument %qs of MODULO at %L shall not be zero", ++ "P", &p->where); + return &gfc_bad_expr; + } +- +- gfc_set_model_kind (kind); +- mpfr_fmod (result->value.real, a->value.real, p->value.real, +- GFC_RND_MODE); +- if (mpfr_cmp_ui (result->value.real, 0) != 0) +- { +- if (mpfr_signbit (a->value.real) != mpfr_signbit (p->value.real)) +- mpfr_add (result->value.real, result->value.real, p->value.real, +- GFC_RND_MODE); +- } +- else +- mpfr_copysign (result->value.real, result->value.real, +- p->value.real, GFC_RND_MODE); + break; +- + default: + gfc_internal_error ("gfc_simplify_modulo(): Bad arguments"); + } + ++ if (a->expr_type != EXPR_CONSTANT) ++ return NULL; ++ ++ kind = a->ts.kind > p->ts.kind ? a->ts.kind : p->ts.kind; ++ result = gfc_get_constant_expr (a->ts.type, kind, &a->where); ++ ++ if (a->ts.type == BT_INTEGER) ++ mpz_fdiv_r (result->value.integer, a->value.integer, p->value.integer); ++ else ++ { ++ gfc_set_model_kind (kind); ++ mpfr_fmod (result->value.real, a->value.real, p->value.real, ++ GFC_RND_MODE); ++ if (mpfr_cmp_ui (result->value.real, 0) != 0) ++ { ++ if (mpfr_signbit (a->value.real) != mpfr_signbit (p->value.real)) ++ mpfr_add (result->value.real, result->value.real, p->value.real, ++ GFC_RND_MODE); ++ } ++ else ++ mpfr_copysign (result->value.real, result->value.real, ++ p->value.real, GFC_RND_MODE); ++ } ++ + return range_check (result, "MODULO"); + } + +@@ -7995,7 +7998,7 @@ + + default: + oops: +- gfc_internal_error ("gfc_convert_constant(): Unexpected type"); ++ return &gfc_bad_expr; + } + + result = NULL; +Index: gcc/gimple-pretty-print.c +=================================================================== +--- a/src/gcc/gimple-pretty-print.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/gimple-pretty-print.c (.../branches/gcc-8-branch) +@@ -2040,6 +2040,8 @@ + pp_string (buffer, "__asm__"); + if (gimple_asm_volatile_p (gs)) + pp_string (buffer, " __volatile__"); ++ if (gimple_asm_inline_p (gs)) ++ pp_string (buffer, " __inline__"); + if (gimple_asm_nlabels (gs)) + pp_string (buffer, " goto"); + pp_string (buffer, "(\""); +Index: gcc/ipa-devirt.c +=================================================================== +--- a/src/gcc/ipa-devirt.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/ipa-devirt.c (.../branches/gcc-8-branch) +@@ -2615,6 +2615,7 @@ + vec targets; + tree decl_warning; + int type_warning; ++ unsigned int n_odr_types; + bool complete; + bool speculative; + }; +@@ -2640,6 +2641,7 @@ + hstate.add_hwi (odr_query->type->id); + hstate.merge_hash (TYPE_UID (odr_query->context.outer_type)); + hstate.add_hwi (odr_query->context.offset); ++ hstate.add_hwi (odr_query->n_odr_types); + + if (odr_query->context.speculative_outer_type) + { +@@ -2670,7 +2672,9 @@ + == t2->context.maybe_in_construction + && t1->context.maybe_derived_type == t2->context.maybe_derived_type + && (t1->context.speculative_maybe_derived_type +- == t2->context.speculative_maybe_derived_type)); ++ == t2->context.speculative_maybe_derived_type) ++ /* Adding new type may affect outcome of target search. */ ++ && t1->n_odr_types == t2->n_odr_types); + } + + /* Remove entry in polymorphic call target cache hash. */ +@@ -3076,6 +3080,7 @@ + key.otr_token = otr_token; + key.speculative = speculative; + key.context = context; ++ key.n_odr_types = odr_types.length (); + slot = polymorphic_call_target_hash->find_slot (&key, INSERT); + if (cache_token) + *cache_token = (void *)*slot; +@@ -3292,6 +3297,7 @@ + + (*slot)->targets = nodes; + (*slot)->complete = complete; ++ (*slot)->n_odr_types = odr_types.length (); + if (completep) + *completep = complete; + +Index: gcc/function.c +=================================================================== +--- a/src/gcc/function.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/function.c (.../branches/gcc-8-branch) +@@ -6689,7 +6689,7 @@ + output_matched[match] = true; + + start_sequence (); +- emit_move_insn (output, input); ++ emit_move_insn (output, copy_rtx (input)); + insns = get_insns (); + end_sequence (); + emit_insn_before (insns, insn); +Index: gcc/tree-vectorizer.h +=================================================================== +--- a/src/gcc/tree-vectorizer.h (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/tree-vectorizer.h (.../branches/gcc-8-branch) +@@ -1047,32 +1047,22 @@ + } + } + +-/* Return the earlier statement between STMT1 and STMT2. */ ++/* Return TRUE if a statement represented by STMT_INFO is a part of a ++ pattern. */ + +-static inline gimple * +-get_earlier_stmt (gimple *stmt1, gimple *stmt2) ++static inline bool ++is_pattern_stmt_p (stmt_vec_info stmt_info) + { +- unsigned int uid1, uid2; ++ gimple *related_stmt; ++ stmt_vec_info related_stmt_info; + +- if (stmt1 == NULL) +- return stmt2; ++ related_stmt = STMT_VINFO_RELATED_STMT (stmt_info); ++ if (related_stmt ++ && (related_stmt_info = vinfo_for_stmt (related_stmt)) ++ && STMT_VINFO_IN_PATTERN_P (related_stmt_info)) ++ return true; + +- if (stmt2 == NULL) +- return stmt1; +- +- uid1 = gimple_uid (stmt1); +- uid2 = gimple_uid (stmt2); +- +- if (uid1 == 0 || uid2 == 0) +- return NULL; +- +- gcc_checking_assert (uid1 <= stmt_vec_info_vec.length () +- && uid2 <= stmt_vec_info_vec.length ()); +- +- if (uid1 < uid2) +- return stmt1; +- else +- return stmt2; ++ return false; + } + + /* Return the later statement between STMT1 and STMT2. */ +@@ -1088,8 +1078,12 @@ + if (stmt2 == NULL) + return stmt1; + +- uid1 = gimple_uid (stmt1); +- uid2 = gimple_uid (stmt2); ++ stmt_vec_info stmt_info1 = vinfo_for_stmt (stmt1); ++ stmt_vec_info stmt_info2 = vinfo_for_stmt (stmt2); ++ uid1 = gimple_uid (is_pattern_stmt_p (stmt_info1) ++ ? STMT_VINFO_RELATED_STMT (stmt_info1) : stmt1); ++ uid2 = gimple_uid (is_pattern_stmt_p (stmt_info2) ++ ? STMT_VINFO_RELATED_STMT (stmt_info2) : stmt2); + + if (uid1 == 0 || uid2 == 0) + return NULL; +@@ -1103,24 +1097,6 @@ + return stmt2; + } + +-/* Return TRUE if a statement represented by STMT_INFO is a part of a +- pattern. */ +- +-static inline bool +-is_pattern_stmt_p (stmt_vec_info stmt_info) +-{ +- gimple *related_stmt; +- stmt_vec_info related_stmt_info; +- +- related_stmt = STMT_VINFO_RELATED_STMT (stmt_info); +- if (related_stmt +- && (related_stmt_info = vinfo_for_stmt (related_stmt)) +- && STMT_VINFO_IN_PATTERN_P (related_stmt_info)) +- return true; +- +- return false; +-} +- + /* Return true if BB is a loop header. */ + + static inline bool +Index: gcc/stor-layout.c +=================================================================== +--- a/src/gcc/stor-layout.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/stor-layout.c (.../branches/gcc-8-branch) +@@ -1685,14 +1685,21 @@ + { + rli->bitpos = size_binop (PLUS_EXPR, rli->bitpos, DECL_SIZE (field)); + +- /* If we ended a bitfield before the full length of the type then +- pad the struct out to the full length of the last type. */ +- if ((DECL_CHAIN (field) == NULL +- || TREE_CODE (DECL_CHAIN (field)) != FIELD_DECL) +- && DECL_BIT_FIELD_TYPE (field) ++ /* If FIELD is the last field and doesn't end at the full length ++ of the type then pad the struct out to the full length of the ++ last type. */ ++ if (DECL_BIT_FIELD_TYPE (field) + && !integer_zerop (DECL_SIZE (field))) +- rli->bitpos = size_binop (PLUS_EXPR, rli->bitpos, +- bitsize_int (rli->remaining_in_alignment)); ++ { ++ /* We have to scan, because non-field DECLS are also here. */ ++ tree probe = field; ++ while ((probe = DECL_CHAIN (probe))) ++ if (TREE_CODE (probe) == FIELD_DECL) ++ break; ++ if (!probe) ++ rli->bitpos = size_binop (PLUS_EXPR, rli->bitpos, ++ bitsize_int (rli->remaining_in_alignment)); ++ } + + normalize_rli (rli); + } +Index: gcc/gcse.c +=================================================================== +--- a/src/gcc/gcse.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/gcse.c (.../branches/gcc-8-branch) +@@ -1963,14 +1963,11 @@ + return rval; + } + +-/* Generate RTL to copy an EXPR to its `reaching_reg' and return it. */ ++/* Generate RTL to copy an EXP to REG and return it. */ + +-static rtx_insn * +-process_insert_insn (struct gcse_expr *expr) ++rtx_insn * ++prepare_copy_insn (rtx reg, rtx exp) + { +- rtx reg = expr->reaching_reg; +- /* Copy the expression to make sure we don't have any sharing issues. */ +- rtx exp = copy_rtx (expr->expr); + rtx_insn *pat; + + start_sequence (); +@@ -1996,6 +1993,18 @@ + return pat; + } + ++/* Generate RTL to copy an EXPR to its `reaching_reg' and return it. */ ++ ++static rtx_insn * ++process_insert_insn (struct gcse_expr *expr) ++{ ++ rtx reg = expr->reaching_reg; ++ /* Copy the expression to make sure we don't have any sharing issues. */ ++ rtx exp = copy_rtx (expr->expr); ++ ++ return prepare_copy_insn (reg, exp); ++} ++ + /* Add EXPR to the end of basic block BB. + + This is used by both the PRE and code hoisting. */ +Index: gcc/genmatch.c +=================================================================== +--- a/src/gcc/genmatch.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/genmatch.c (.../branches/gcc-8-branch) +@@ -2680,12 +2680,14 @@ + char match_opname[20]; + match_dop->get_name (match_opname); + if (value_match) +- fprintf_indent (f, indent, "if (%s == %s || operand_equal_p (%s, %s, 0))\n", +- opname, match_opname, opname, match_opname); ++ fprintf_indent (f, indent, "if ((%s == %s && ! TREE_SIDE_EFFECTS (%s)) " ++ "|| operand_equal_p (%s, %s, 0))\n", ++ opname, match_opname, opname, opname, match_opname); + else +- fprintf_indent (f, indent, "if (%s == %s || (operand_equal_p (%s, %s, 0) " ++ fprintf_indent (f, indent, "if ((%s == %s && ! TREE_SIDE_EFFECTS (%s)) " ++ "|| (operand_equal_p (%s, %s, 0) " + "&& types_match (%s, %s)))\n", +- opname, match_opname, opname, match_opname, ++ opname, match_opname, opname, opname, match_opname, + opname, match_opname); + fprintf_indent (f, indent + 2, "{\n"); + return 1; +Index: gcc/profile.c +=================================================================== +--- a/src/gcc/profile.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/profile.c (.../branches/gcc-8-branch) +@@ -977,6 +977,25 @@ + return e2->dest->index - e1->dest->index; + } + ++/* Only read execution count for thunks. */ ++ ++void ++read_thunk_profile (struct cgraph_node *node) ++{ ++ tree old = current_function_decl; ++ current_function_decl = node->decl; ++ gcov_type *counts = get_coverage_counts (GCOV_COUNTER_ARCS, 1, 0, 0, NULL); ++ if (counts) ++ { ++ node->callees->count = node->count ++ = profile_count::from_gcov_type (counts[0]); ++ free (counts); ++ } ++ current_function_decl = old; ++ return; ++} ++ ++ + /* Instrument and/or analyze program behavior based on program the CFG. + + This function creates a representation of the control flow graph (of +@@ -997,7 +1016,7 @@ + Main entry point of this file. */ + + void +-branch_prob (void) ++branch_prob (bool thunk) + { + basic_block bb; + unsigned i; +@@ -1012,119 +1031,122 @@ + flow_call_edges_add (NULL); + add_noreturn_fake_exit_edges (); + +- /* We can't handle cyclic regions constructed using abnormal edges. +- To avoid these we replace every source of abnormal edge by a fake +- edge from entry node and every destination by fake edge to exit. +- This keeps graph acyclic and our calculation exact for all normal +- edges except for exit and entrance ones. +- +- We also add fake exit edges for each call and asm statement in the +- basic, since it may not return. */ +- +- FOR_EACH_BB_FN (bb, cfun) ++ if (!thunk) + { +- int need_exit_edge = 0, need_entry_edge = 0; +- int have_exit_edge = 0, have_entry_edge = 0; +- edge e; +- edge_iterator ei; ++ /* We can't handle cyclic regions constructed using abnormal edges. ++ To avoid these we replace every source of abnormal edge by a fake ++ edge from entry node and every destination by fake edge to exit. ++ This keeps graph acyclic and our calculation exact for all normal ++ edges except for exit and entrance ones. + +- /* Functions returning multiple times are not handled by extra edges. +- Instead we simply allow negative counts on edges from exit to the +- block past call and corresponding probabilities. We can't go +- with the extra edges because that would result in flowgraph that +- needs to have fake edges outside the spanning tree. */ ++ We also add fake exit edges for each call and asm statement in the ++ basic, since it may not return. */ + +- FOR_EACH_EDGE (e, ei, bb->succs) ++ FOR_EACH_BB_FN (bb, cfun) + { +- gimple_stmt_iterator gsi; +- gimple *last = NULL; ++ int need_exit_edge = 0, need_entry_edge = 0; ++ int have_exit_edge = 0, have_entry_edge = 0; ++ edge e; ++ edge_iterator ei; + +- /* It may happen that there are compiler generated statements +- without a locus at all. Go through the basic block from the +- last to the first statement looking for a locus. */ +- for (gsi = gsi_last_nondebug_bb (bb); +- !gsi_end_p (gsi); +- gsi_prev_nondebug (&gsi)) ++ /* Functions returning multiple times are not handled by extra edges. ++ Instead we simply allow negative counts on edges from exit to the ++ block past call and corresponding probabilities. We can't go ++ with the extra edges because that would result in flowgraph that ++ needs to have fake edges outside the spanning tree. */ ++ ++ FOR_EACH_EDGE (e, ei, bb->succs) + { +- last = gsi_stmt (gsi); +- if (!RESERVED_LOCATION_P (gimple_location (last))) +- break; ++ gimple_stmt_iterator gsi; ++ gimple *last = NULL; ++ ++ /* It may happen that there are compiler generated statements ++ without a locus at all. Go through the basic block from the ++ last to the first statement looking for a locus. */ ++ for (gsi = gsi_last_nondebug_bb (bb); ++ !gsi_end_p (gsi); ++ gsi_prev_nondebug (&gsi)) ++ { ++ last = gsi_stmt (gsi); ++ if (!RESERVED_LOCATION_P (gimple_location (last))) ++ break; ++ } ++ ++ /* Edge with goto locus might get wrong coverage info unless ++ it is the only edge out of BB. ++ Don't do that when the locuses match, so ++ if (blah) goto something; ++ is not computed twice. */ ++ if (last ++ && gimple_has_location (last) ++ && !RESERVED_LOCATION_P (e->goto_locus) ++ && !single_succ_p (bb) ++ && (LOCATION_FILE (e->goto_locus) ++ != LOCATION_FILE (gimple_location (last)) ++ || (LOCATION_LINE (e->goto_locus) ++ != LOCATION_LINE (gimple_location (last))))) ++ { ++ basic_block new_bb = split_edge (e); ++ edge ne = single_succ_edge (new_bb); ++ ne->goto_locus = e->goto_locus; ++ } ++ if ((e->flags & (EDGE_ABNORMAL | EDGE_ABNORMAL_CALL)) ++ && e->dest != EXIT_BLOCK_PTR_FOR_FN (cfun)) ++ need_exit_edge = 1; ++ if (e->dest == EXIT_BLOCK_PTR_FOR_FN (cfun)) ++ have_exit_edge = 1; + } +- +- /* Edge with goto locus might get wrong coverage info unless +- it is the only edge out of BB. +- Don't do that when the locuses match, so +- if (blah) goto something; +- is not computed twice. */ +- if (last +- && gimple_has_location (last) +- && !RESERVED_LOCATION_P (e->goto_locus) +- && !single_succ_p (bb) +- && (LOCATION_FILE (e->goto_locus) +- != LOCATION_FILE (gimple_location (last)) +- || (LOCATION_LINE (e->goto_locus) +- != LOCATION_LINE (gimple_location (last))))) ++ FOR_EACH_EDGE (e, ei, bb->preds) + { +- basic_block new_bb = split_edge (e); +- edge ne = single_succ_edge (new_bb); +- ne->goto_locus = e->goto_locus; ++ if ((e->flags & (EDGE_ABNORMAL | EDGE_ABNORMAL_CALL)) ++ && e->src != ENTRY_BLOCK_PTR_FOR_FN (cfun)) ++ need_entry_edge = 1; ++ if (e->src == ENTRY_BLOCK_PTR_FOR_FN (cfun)) ++ have_entry_edge = 1; + } +- if ((e->flags & (EDGE_ABNORMAL | EDGE_ABNORMAL_CALL)) +- && e->dest != EXIT_BLOCK_PTR_FOR_FN (cfun)) +- need_exit_edge = 1; +- if (e->dest == EXIT_BLOCK_PTR_FOR_FN (cfun)) +- have_exit_edge = 1; +- } +- FOR_EACH_EDGE (e, ei, bb->preds) +- { +- if ((e->flags & (EDGE_ABNORMAL | EDGE_ABNORMAL_CALL)) +- && e->src != ENTRY_BLOCK_PTR_FOR_FN (cfun)) +- need_entry_edge = 1; +- if (e->src == ENTRY_BLOCK_PTR_FOR_FN (cfun)) +- have_entry_edge = 1; +- } + +- if (need_exit_edge && !have_exit_edge) +- { +- if (dump_file) +- fprintf (dump_file, "Adding fake exit edge to bb %i\n", +- bb->index); +- make_edge (bb, EXIT_BLOCK_PTR_FOR_FN (cfun), EDGE_FAKE); +- } +- if (need_entry_edge && !have_entry_edge) +- { +- if (dump_file) +- fprintf (dump_file, "Adding fake entry edge to bb %i\n", +- bb->index); +- make_edge (ENTRY_BLOCK_PTR_FOR_FN (cfun), bb, EDGE_FAKE); +- /* Avoid bbs that have both fake entry edge and also some +- exit edge. One of those edges wouldn't be added to the +- spanning tree, but we can't instrument any of them. */ +- if (have_exit_edge || need_exit_edge) ++ if (need_exit_edge && !have_exit_edge) + { +- gimple_stmt_iterator gsi; +- gimple *first; +- +- gsi = gsi_start_nondebug_after_labels_bb (bb); +- gcc_checking_assert (!gsi_end_p (gsi)); +- first = gsi_stmt (gsi); +- /* Don't split the bbs containing __builtin_setjmp_receiver +- or ABNORMAL_DISPATCHER calls. These are very +- special and don't expect anything to be inserted before +- them. */ +- if (is_gimple_call (first) +- && (gimple_call_builtin_p (first, BUILT_IN_SETJMP_RECEIVER) +- || (gimple_call_flags (first) & ECF_RETURNS_TWICE) +- || (gimple_call_internal_p (first) +- && (gimple_call_internal_fn (first) +- == IFN_ABNORMAL_DISPATCHER)))) +- continue; +- + if (dump_file) +- fprintf (dump_file, "Splitting bb %i after labels\n", ++ fprintf (dump_file, "Adding fake exit edge to bb %i\n", + bb->index); +- split_block_after_labels (bb); ++ make_edge (bb, EXIT_BLOCK_PTR_FOR_FN (cfun), EDGE_FAKE); + } ++ if (need_entry_edge && !have_entry_edge) ++ { ++ if (dump_file) ++ fprintf (dump_file, "Adding fake entry edge to bb %i\n", ++ bb->index); ++ make_edge (ENTRY_BLOCK_PTR_FOR_FN (cfun), bb, EDGE_FAKE); ++ /* Avoid bbs that have both fake entry edge and also some ++ exit edge. One of those edges wouldn't be added to the ++ spanning tree, but we can't instrument any of them. */ ++ if (have_exit_edge || need_exit_edge) ++ { ++ gimple_stmt_iterator gsi; ++ gimple *first; ++ ++ gsi = gsi_start_nondebug_after_labels_bb (bb); ++ gcc_checking_assert (!gsi_end_p (gsi)); ++ first = gsi_stmt (gsi); ++ /* Don't split the bbs containing __builtin_setjmp_receiver ++ or ABNORMAL_DISPATCHER calls. These are very ++ special and don't expect anything to be inserted before ++ them. */ ++ if (is_gimple_call (first) ++ && (gimple_call_builtin_p (first, BUILT_IN_SETJMP_RECEIVER) ++ || (gimple_call_flags (first) & ECF_RETURNS_TWICE) ++ || (gimple_call_internal_p (first) ++ && (gimple_call_internal_fn (first) ++ == IFN_ABNORMAL_DISPATCHER)))) ++ continue; ++ ++ if (dump_file) ++ fprintf (dump_file, "Splitting bb %i after labels\n", ++ bb->index); ++ split_block_after_labels (bb); ++ } ++ } + } + } + +@@ -1155,8 +1177,19 @@ + on the spanning tree. We insert as many abnormal and critical edges + as possible to minimize number of edge splits necessary. */ + +- find_spanning_tree (el); ++ if (!thunk) ++ find_spanning_tree (el); ++ else ++ { ++ edge e; ++ edge_iterator ei; ++ /* Keep only edge from entry block to be instrumented. */ ++ FOR_EACH_BB_FN (bb, cfun) ++ FOR_EACH_EDGE (e, ei, bb->succs) ++ EDGE_INFO (e)->ignore = true; ++ } + ++ + /* Fake edges that are not on the tree will not be instrumented, so + mark them ignored. */ + for (num_instrumented = i = 0; i < num_edges; i++) +@@ -1195,8 +1228,17 @@ + the checksum in only once place, since it depends on the shape + of the control flow which can change during + various transformations. */ +- cfg_checksum = coverage_compute_cfg_checksum (cfun); +- lineno_checksum = coverage_compute_lineno_checksum (); ++ if (thunk) ++ { ++ /* At stream in time we do not have CFG, so we can not do checksums. */ ++ cfg_checksum = 0; ++ lineno_checksum = 0; ++ } ++ else ++ { ++ cfg_checksum = coverage_compute_cfg_checksum (cfun); ++ lineno_checksum = coverage_compute_lineno_checksum (); ++ } + + /* Write the data from which gcov can reconstruct the basic block + graph and function line numbers (the gcno file). */ +Index: gcc/tree-vect-loop.c +=================================================================== +--- a/src/gcc/tree-vect-loop.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/tree-vect-loop.c (.../branches/gcc-8-branch) +@@ -2391,14 +2391,22 @@ + /* The main loop handles all iterations. */ + LOOP_VINFO_PEELING_FOR_NITER (loop_vinfo) = false; + else if (LOOP_VINFO_NITERS_KNOWN_P (loop_vinfo) +- && LOOP_VINFO_PEELING_FOR_ALIGNMENT (loop_vinfo) > 0) ++ && LOOP_VINFO_PEELING_FOR_ALIGNMENT (loop_vinfo) >= 0) + { +- if (!multiple_p (LOOP_VINFO_INT_NITERS (loop_vinfo) +- - LOOP_VINFO_PEELING_FOR_ALIGNMENT (loop_vinfo), ++ /* Work out the (constant) number of iterations that need to be ++ peeled for reasons other than niters. */ ++ unsigned int peel_niter = LOOP_VINFO_PEELING_FOR_ALIGNMENT (loop_vinfo); ++ if (LOOP_VINFO_PEELING_FOR_GAPS (loop_vinfo)) ++ peel_niter += 1; ++ if (!multiple_p (LOOP_VINFO_INT_NITERS (loop_vinfo) - peel_niter, + LOOP_VINFO_VECT_FACTOR (loop_vinfo))) + LOOP_VINFO_PEELING_FOR_NITER (loop_vinfo) = true; + } + else if (LOOP_VINFO_PEELING_FOR_ALIGNMENT (loop_vinfo) ++ /* ??? When peeling for gaps but not alignment, we could ++ try to check whether the (variable) niters is known to be ++ VF * N + 1. That's something of a niche case though. */ ++ || LOOP_VINFO_PEELING_FOR_GAPS (loop_vinfo) + || !LOOP_VINFO_VECT_FACTOR (loop_vinfo).is_constant (&const_vf) + || ((tree_ctz (LOOP_VINFO_NITERS (loop_vinfo)) + < (unsigned) exact_log2 (const_vf)) +@@ -2805,8 +2813,8 @@ + struct loop *loop = (gimple_bb (phi))->loop_father; + struct loop *vect_loop = LOOP_VINFO_LOOP (loop_info); + enum tree_code code; +- gimple *current_stmt = NULL, *loop_use_stmt = NULL, *first, *next_stmt; +- stmt_vec_info use_stmt_info, current_stmt_info; ++ gimple *loop_use_stmt = NULL; ++ stmt_vec_info use_stmt_info; + tree lhs; + imm_use_iterator imm_iter; + use_operand_p use_p; +@@ -2816,6 +2824,7 @@ + if (loop != vect_loop) + return false; + ++ auto_vec reduc_chain; + lhs = PHI_RESULT (phi); + code = gimple_assign_rhs_code (first_stmt); + while (1) +@@ -2868,18 +2877,9 @@ + + /* Insert USE_STMT into reduction chain. */ + use_stmt_info = vinfo_for_stmt (loop_use_stmt); +- if (current_stmt) +- { +- current_stmt_info = vinfo_for_stmt (current_stmt); +- GROUP_NEXT_ELEMENT (current_stmt_info) = loop_use_stmt; +- GROUP_FIRST_ELEMENT (use_stmt_info) +- = GROUP_FIRST_ELEMENT (current_stmt_info); +- } +- else +- GROUP_FIRST_ELEMENT (use_stmt_info) = loop_use_stmt; ++ reduc_chain.safe_push (use_stmt_info); + + lhs = gimple_assign_lhs (loop_use_stmt); +- current_stmt = loop_use_stmt; + size++; + } + +@@ -2889,9 +2889,9 @@ + /* Swap the operands, if needed, to make the reduction operand be the second + operand. */ + lhs = PHI_RESULT (phi); +- next_stmt = GROUP_FIRST_ELEMENT (vinfo_for_stmt (current_stmt)); +- while (next_stmt) ++ for (unsigned i = 0; i < reduc_chain.length (); ++i) + { ++ gassign *next_stmt = as_a (reduc_chain[i]->stmt); + if (gimple_assign_rhs2 (next_stmt) == lhs) + { + tree op = gimple_assign_rhs1 (next_stmt); +@@ -2916,7 +2916,6 @@ + && !is_loop_header_bb_p (gimple_bb (def_stmt))))) + { + lhs = gimple_assign_lhs (next_stmt); +- next_stmt = GROUP_NEXT_ELEMENT (vinfo_for_stmt (next_stmt)); + continue; + } + +@@ -2964,13 +2963,20 @@ + } + + lhs = gimple_assign_lhs (next_stmt); +- next_stmt = GROUP_NEXT_ELEMENT (vinfo_for_stmt (next_stmt)); + } + ++ /* Build up the actual chain. */ ++ for (unsigned i = 0; i < reduc_chain.length () - 1; ++i) ++ { ++ GROUP_FIRST_ELEMENT (reduc_chain[i]) = reduc_chain[0]->stmt; ++ GROUP_NEXT_ELEMENT (reduc_chain[i]) = reduc_chain[i+1]->stmt; ++ } ++ GROUP_FIRST_ELEMENT (reduc_chain.last ()) = reduc_chain[0]->stmt; ++ GROUP_NEXT_ELEMENT (reduc_chain.last ()) = NULL; ++ + /* Save the chain for further analysis in SLP detection. */ +- first = GROUP_FIRST_ELEMENT (vinfo_for_stmt (current_stmt)); +- LOOP_VINFO_REDUCTION_CHAINS (loop_info).safe_push (first); +- GROUP_SIZE (vinfo_for_stmt (first)) = size; ++ LOOP_VINFO_REDUCTION_CHAINS (loop_info).safe_push (reduc_chain[0]->stmt); ++ GROUP_SIZE (reduc_chain[0]) = size; + + return true; + } +@@ -5558,6 +5564,9 @@ + if (STMT_VINFO_VEC_REDUCTION_TYPE (stmt_info) + == INTEGER_INDUC_COND_REDUCTION) + code = induc_code; ++ else if (STMT_VINFO_VEC_REDUCTION_TYPE (stmt_info) ++ == CONST_COND_REDUCTION) ++ code = STMT_VINFO_VEC_CONST_COND_REDUC_CODE (stmt_info); + else + code = MAX_EXPR; + } +@@ -6312,7 +6321,7 @@ + /* Remove the statement, so that we can use the same code paths + as for statements that we've just created. */ + gimple_stmt_iterator tmp_gsi = gsi_for_stmt (new_stmt); +- gsi_remove (&tmp_gsi, false); ++ gsi_remove (&tmp_gsi, true); + } + + if (i == vec_num - 1) +Index: gcc/ipa.c +=================================================================== +--- a/src/gcc/ipa.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/ipa.c (.../branches/gcc-8-branch) +@@ -854,7 +854,9 @@ + be produced. */ + + static void +-cgraph_build_static_cdtor_1 (char which, tree body, int priority, bool final) ++cgraph_build_static_cdtor_1 (char which, tree body, int priority, bool final, ++ tree optimization, ++ tree target) + { + static int counter = 0; + char which_buf[16]; +@@ -885,6 +887,8 @@ + + TREE_STATIC (decl) = 1; + TREE_USED (decl) = 1; ++ DECL_FUNCTION_SPECIFIC_OPTIMIZATION (decl) = optimization; ++ DECL_FUNCTION_SPECIFIC_TARGET (decl) = target; + DECL_ARTIFICIAL (decl) = 1; + DECL_IGNORED_P (decl) = 1; + DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT (decl) = 1; +@@ -949,7 +953,7 @@ + void + cgraph_build_static_cdtor (char which, tree body, int priority) + { +- cgraph_build_static_cdtor_1 (which, body, priority, false); ++ cgraph_build_static_cdtor_1 (which, body, priority, false, NULL, NULL); + } + + /* When target does not have ctors and dtors, we call all constructor +@@ -1031,7 +1035,9 @@ + gcc_assert (body != NULL_TREE); + /* Generate a function to call all the function of like + priority. */ +- cgraph_build_static_cdtor_1 (ctor_p ? 'I' : 'D', body, priority, true); ++ cgraph_build_static_cdtor_1 (ctor_p ? 'I' : 'D', body, priority, true, ++ DECL_FUNCTION_SPECIFIC_OPTIMIZATION (cdtors[0]), ++ DECL_FUNCTION_SPECIFIC_TARGET (cdtors[0])); + } + } + +Index: gcc/tree-vect-data-refs.c +=================================================================== +--- a/src/gcc/tree-vect-data-refs.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/tree-vect-data-refs.c (.../branches/gcc-8-branch) +@@ -206,14 +206,26 @@ + return true; + + /* STMT_A and STMT_B belong to overlapping groups. All loads in a +- group are emitted at the position of the first scalar load and all ++ group are emitted at the position of the last scalar load and all + stores in a group are emitted at the position of the last scalar store. +- Thus writes will happen no earlier than their current position +- (but could happen later) while reads will happen no later than their +- current position (but could happen earlier). Reordering is therefore +- only possible if the first access is a write. */ +- gimple *earlier_stmt = get_earlier_stmt (stmt_a, stmt_b); +- return !DR_IS_WRITE (STMT_VINFO_DATA_REF (vinfo_for_stmt (earlier_stmt))); ++ Compute that position and check whether the resulting order matches ++ the current one. */ ++ gimple *last_a = GROUP_FIRST_ELEMENT (stmtinfo_a); ++ if (last_a) ++ for (gimple *s = GROUP_NEXT_ELEMENT (vinfo_for_stmt (last_a)); s; ++ s = GROUP_NEXT_ELEMENT (vinfo_for_stmt (s))) ++ last_a = get_later_stmt (last_a, s); ++ else ++ last_a = stmt_a; ++ gimple *last_b = GROUP_FIRST_ELEMENT (stmtinfo_b); ++ if (last_b) ++ for (gimple *s = GROUP_NEXT_ELEMENT (vinfo_for_stmt (last_b)); s; ++ s = GROUP_NEXT_ELEMENT (vinfo_for_stmt (s))) ++ last_b = get_later_stmt (last_b, s); ++ else ++ last_b = stmt_b; ++ return ((get_later_stmt (last_a, last_b) == last_a) ++ == (get_later_stmt (stmt_a, stmt_b) == stmt_a)); + } + + /* A subroutine of vect_analyze_data_ref_dependence. Handle +Index: gcc/gimple-ssa-isolate-paths.c +=================================================================== +--- a/src/gcc/gimple-ssa-isolate-paths.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/gimple-ssa-isolate-paths.c (.../branches/gcc-8-branch) +@@ -270,7 +270,7 @@ + divisor. */ + if (!POINTER_TYPE_P (TREE_TYPE (name))) + { +- if (!flag_non_call_exceptions) ++ if (!cfun->can_throw_non_call_exceptions) + return is_divmod_with_given_divisor (use_stmt, name); + return false; + } +@@ -309,7 +309,7 @@ + bool + stmt_uses_0_or_null_in_undefined_way (gimple *stmt) + { +- if (!flag_non_call_exceptions ++ if (!cfun->can_throw_non_call_exceptions + && is_divmod_with_given_divisor (stmt, integer_zero_node)) + return true; + +Index: gcc/gimplify.c +=================================================================== +--- a/src/gcc/gimplify.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/gimplify.c (.../branches/gcc-8-branch) +@@ -4773,7 +4773,15 @@ + { + struct gimplify_init_ctor_preeval_data preeval_data; + HOST_WIDE_INT num_ctor_elements, num_nonzero_elements; ++ HOST_WIDE_INT num_unique_nonzero_elements; + bool cleared, complete_p, valid_const_initializer; ++ /* Use readonly data for initializers of this or smaller size ++ regardless of the num_nonzero_elements / num_unique_nonzero_elements ++ ratio. */ ++ const HOST_WIDE_INT min_unique_size = 64; ++ /* If num_nonzero_elements / num_unique_nonzero_elements ratio ++ is smaller than this, use readonly data. */ ++ const int unique_nonzero_ratio = 8; + + /* Aggregate types must lower constructors to initialization of + individual elements. The exception is that a CONSTRUCTOR node +@@ -4790,6 +4798,7 @@ + can only do so if it known to be a valid constant initializer. */ + valid_const_initializer + = categorize_ctor_elements (ctor, &num_nonzero_elements, ++ &num_unique_nonzero_elements, + &num_ctor_elements, &complete_p); + + /* If a const aggregate variable is being initialized, then it +@@ -4798,7 +4807,15 @@ + && num_nonzero_elements > 1 + && TREE_READONLY (object) + && VAR_P (object) +- && (flag_merge_constants >= 2 || !TREE_ADDRESSABLE (object))) ++ && (flag_merge_constants >= 2 || !TREE_ADDRESSABLE (object)) ++ /* For ctors that have many repeated nonzero elements ++ represented through RANGE_EXPRs, prefer initializing ++ those through runtime loops over copies of large amounts ++ of data from readonly data section. */ ++ && (num_unique_nonzero_elements ++ > num_nonzero_elements / unique_nonzero_ratio ++ || ((unsigned HOST_WIDE_INT) int_size_in_bytes (type) ++ <= (unsigned HOST_WIDE_INT) min_unique_size))) + { + if (notify_temp_creation) + return GS_ERROR; +@@ -4899,6 +4916,13 @@ + is so large as to make individual moves inefficient. */ + if (size > 0 + && num_nonzero_elements > 1 ++ /* For ctors that have many repeated nonzero elements ++ represented through RANGE_EXPRs, prefer initializing ++ those through runtime loops over copies of large amounts ++ of data from readonly data section. */ ++ && (num_unique_nonzero_elements ++ > num_nonzero_elements / unique_nonzero_ratio ++ || size <= min_unique_size) + && (size < num_nonzero_elements + || !can_move_by_pieces (size, align))) + { +@@ -6360,6 +6384,7 @@ + + gimple_asm_set_volatile (stmt, ASM_VOLATILE_P (expr) || noutputs == 0); + gimple_asm_set_input (stmt, ASM_INPUT_P (expr)); ++ gimple_asm_set_inline (stmt, ASM_INLINE_P (expr)); + + gimplify_seq_add_stmt (pre_p, stmt); + } +@@ -8171,7 +8196,7 @@ + o2 = 0; + o2 += bits_to_bytes_round_down (bitpos2); + if (maybe_lt (o1, o2) +- || (known_eq (o1, 2) ++ || (known_eq (o1, o2) + && maybe_lt (bitpos, bitpos2))) + { + if (ptr) +@@ -9734,9 +9759,26 @@ + t = TREE_VEC_ELT (OMP_FOR_INIT (for_stmt), i); + if (!is_gimple_constant (TREE_OPERAND (t, 1))) + { ++ tree type = TREE_TYPE (TREE_OPERAND (t, 0)); + TREE_OPERAND (t, 1) + = get_initialized_tmp_var (TREE_OPERAND (t, 1), +- pre_p, NULL, false); ++ gimple_seq_empty_p (for_pre_body) ++ ? pre_p : &for_pre_body, NULL, ++ false); ++ /* Reference to pointer conversion is considered useless, ++ but is significant for firstprivate clause. Force it ++ here. */ ++ if (TREE_CODE (type) == POINTER_TYPE ++ && (TREE_CODE (TREE_TYPE (TREE_OPERAND (t, 1))) ++ == REFERENCE_TYPE)) ++ { ++ tree v = create_tmp_var (TYPE_MAIN_VARIANT (type)); ++ tree m = build2 (INIT_EXPR, TREE_TYPE (v), v, ++ TREE_OPERAND (t, 1)); ++ gimplify_and_add (m, gimple_seq_empty_p (for_pre_body) ++ ? pre_p : &for_pre_body); ++ TREE_OPERAND (t, 1) = v; ++ } + tree c = build_omp_clause (input_location, + OMP_CLAUSE_FIRSTPRIVATE); + OMP_CLAUSE_DECL (c) = TREE_OPERAND (t, 1); +@@ -9748,11 +9790,26 @@ + t = TREE_VEC_ELT (OMP_FOR_COND (for_stmt), i); + if (!is_gimple_constant (TREE_OPERAND (t, 1))) + { ++ tree type = TREE_TYPE (TREE_OPERAND (t, 0)); + TREE_OPERAND (t, 1) + = get_initialized_tmp_var (TREE_OPERAND (t, 1), + gimple_seq_empty_p (for_pre_body) + ? pre_p : &for_pre_body, NULL, + false); ++ /* Reference to pointer conversion is considered useless, ++ but is significant for firstprivate clause. Force it ++ here. */ ++ if (TREE_CODE (type) == POINTER_TYPE ++ && (TREE_CODE (TREE_TYPE (TREE_OPERAND (t, 1))) ++ == REFERENCE_TYPE)) ++ { ++ tree v = create_tmp_var (TYPE_MAIN_VARIANT (type)); ++ tree m = build2 (INIT_EXPR, TREE_TYPE (v), v, ++ TREE_OPERAND (t, 1)); ++ gimplify_and_add (m, gimple_seq_empty_p (for_pre_body) ++ ? pre_p : &for_pre_body); ++ TREE_OPERAND (t, 1) = v; ++ } + tree c = build_omp_clause (input_location, + OMP_CLAUSE_FIRSTPRIVATE); + OMP_CLAUSE_DECL (c) = TREE_OPERAND (t, 1); +@@ -10257,8 +10314,17 @@ + seq = &OMP_CLAUSE_LASTPRIVATE_GIMPLE_SEQ (c); + else + seq = &OMP_CLAUSE_LINEAR_GIMPLE_SEQ (c); ++ push_gimplify_context (); + gimplify_assign (decl, t, seq); +- } ++ gimple *bind = NULL; ++ if (gimplify_ctxp->temps) ++ { ++ bind = gimple_build_bind (NULL_TREE, *seq, NULL_TREE); ++ *seq = NULL; ++ gimplify_seq_add_stmt (seq, bind); ++ } ++ pop_gimplify_context (bind); ++ } + } + } + +@@ -11000,9 +11066,36 @@ + + loadstmt = gimple_build_omp_atomic_load (tmp_load, addr); + gimplify_seq_add_stmt (pre_p, loadstmt); +- if (rhs && gimplify_expr (&rhs, pre_p, NULL, is_gimple_val, fb_rvalue) +- != GS_ALL_DONE) +- return GS_ERROR; ++ if (rhs) ++ { ++ /* BIT_INSERT_EXPR is not valid for non-integral bitfield ++ representatives. Use BIT_FIELD_REF on the lhs instead. */ ++ if (TREE_CODE (rhs) == BIT_INSERT_EXPR ++ && !INTEGRAL_TYPE_P (TREE_TYPE (tmp_load))) ++ { ++ tree bitpos = TREE_OPERAND (rhs, 2); ++ tree op1 = TREE_OPERAND (rhs, 1); ++ tree bitsize; ++ tree tmp_store = tmp_load; ++ if (TREE_CODE (*expr_p) == OMP_ATOMIC_CAPTURE_OLD) ++ tmp_store = get_initialized_tmp_var (tmp_load, pre_p, NULL); ++ if (INTEGRAL_TYPE_P (TREE_TYPE (op1))) ++ bitsize = bitsize_int (TYPE_PRECISION (TREE_TYPE (op1))); ++ else ++ bitsize = TYPE_SIZE (TREE_TYPE (op1)); ++ gcc_assert (TREE_OPERAND (rhs, 0) == tmp_load); ++ tree t = build2_loc (EXPR_LOCATION (rhs), ++ MODIFY_EXPR, void_type_node, ++ build3_loc (EXPR_LOCATION (rhs), BIT_FIELD_REF, ++ TREE_TYPE (op1), tmp_store, bitsize, ++ bitpos), op1); ++ gimplify_and_add (t, pre_p); ++ rhs = tmp_store; ++ } ++ if (gimplify_expr (&rhs, pre_p, NULL, is_gimple_val, fb_rvalue) ++ != GS_ALL_DONE) ++ return GS_ERROR; ++ } + + if (TREE_CODE (*expr_p) == OMP_ATOMIC_READ) + rhs = tmp_load; +Index: gcc/graphite-scop-detection.c +=================================================================== +--- a/src/gcc/graphite-scop-detection.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/graphite-scop-detection.c (.../branches/gcc-8-branch) +@@ -555,8 +555,15 @@ + tree niter; + struct tree_niter_desc niter_desc; + +- return single_exit (loop) +- && !(loop_preheader_edge (loop)->flags & EDGE_IRREDUCIBLE_LOOP) ++ /* We can only handle do {} while () style loops correctly. */ ++ edge exit = single_exit (loop); ++ if (!exit ++ || !single_pred_p (loop->latch) ++ || exit->src != single_pred (loop->latch) ++ || !empty_block_p (loop->latch)) ++ return false; ++ ++ return !(loop_preheader_edge (loop)->flags & EDGE_IRREDUCIBLE_LOOP) + && number_of_iterations_exit (loop, single_exit (loop), &niter_desc, false) + && niter_desc.control.no_overflow + && (niter = number_of_latch_executions (loop)) +Index: gcc/calls.c +=================================================================== +--- a/src/gcc/calls.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/calls.c (.../branches/gcc-8-branch) +@@ -1627,6 +1627,9 @@ + if (!fndecl || DECL_BUILT_IN_CLASS (fndecl) != BUILT_IN_NORMAL) + return; + ++ if (!warn_stringop_overflow) ++ return; ++ + bool with_bounds = CALL_WITH_BOUNDS_P (exp); + + unsigned nargs = call_expr_nargs (exp); +@@ -1655,7 +1658,10 @@ + conservatively as the bound for the unbounded function, + and to adjust the range of the bound of the bounded ones. */ + unsigned stride = with_bounds ? 2 : 1; +- for (unsigned argno = 0; argno < nargs && !*lenrng; argno += stride) ++ for (unsigned argno = 0; ++ argno < MIN (nargs, 2 * stride) ++ && !(lenrng[1] && TREE_CODE (lenrng[1]) == INTEGER_CST); ++ argno += stride) + { + tree arg = CALL_EXPR_ARG (exp, argno); + if (!get_attr_nonstring_decl (arg)) +@@ -1693,11 +1699,9 @@ + if (bound) + get_size_range (bound, bndrng); + +- if (*lenrng) ++ if (lenrng[1] && TREE_CODE (lenrng[1]) == INTEGER_CST) + { + /* Add one for the nul. */ +- lenrng[0] = const_binop (PLUS_EXPR, TREE_TYPE (lenrng[0]), +- lenrng[0], size_one_node); + lenrng[1] = const_binop (PLUS_EXPR, TREE_TYPE (lenrng[1]), + lenrng[1], size_one_node); + +Index: gcc/tree-ssa-coalesce.c +=================================================================== +--- a/src/gcc/tree-ssa-coalesce.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/tree-ssa-coalesce.c (.../branches/gcc-8-branch) +@@ -1561,23 +1561,10 @@ + + /* If the types are not the same, see whether they are compatible. This + (for example) allows coalescing when the types are fundamentally the +- same, but just have different names. ++ same, but just have different names. */ ++ if (types_compatible_p (t1, t2)) ++ goto check_modes; + +- In the non-optimized case, we must first test TYPE_CANONICAL because +- we use it to compute the partition_to_base_index of the map. */ +- if (flag_tree_coalesce_vars) +- { +- if (types_compatible_p (t1, t2)) +- goto check_modes; +- } +- else +- { +- if (TYPE_CANONICAL (t1) +- && TYPE_CANONICAL (t1) == TYPE_CANONICAL (t2) +- && types_compatible_p (t1, t2)) +- goto check_modes; +- } +- + return false; + } + +@@ -1701,89 +1688,6 @@ + partition_delete (tentative); + } + +-/* Hashtable helpers. */ +- +-struct tree_int_map_hasher : nofree_ptr_hash +-{ +- static inline hashval_t hash (const tree_int_map *); +- static inline bool equal (const tree_int_map *, const tree_int_map *); +-}; +- +-inline hashval_t +-tree_int_map_hasher::hash (const tree_int_map *v) +-{ +- return tree_map_base_hash (v); +-} +- +-inline bool +-tree_int_map_hasher::equal (const tree_int_map *v, const tree_int_map *c) +-{ +- return tree_int_map_eq (v, c); +-} +- +-/* This routine will initialize the basevar fields of MAP with base +- names. Partitions will share the same base if they have the same +- SSA_NAME_VAR, or, being anonymous variables, the same type. This +- must match gimple_can_coalesce_p in the non-optimized case. */ +- +-static void +-compute_samebase_partition_bases (var_map map) +-{ +- int x, num_part; +- tree var; +- struct tree_int_map *m, *mapstorage; +- +- num_part = num_var_partitions (map); +- hash_table tree_to_index (num_part); +- /* We can have at most num_part entries in the hash tables, so it's +- enough to allocate so many map elements once, saving some malloc +- calls. */ +- mapstorage = m = XNEWVEC (struct tree_int_map, num_part); +- +- /* If a base table already exists, clear it, otherwise create it. */ +- free (map->partition_to_base_index); +- map->partition_to_base_index = (int *) xmalloc (sizeof (int) * num_part); +- +- /* Build the base variable list, and point partitions at their bases. */ +- for (x = 0; x < num_part; x++) +- { +- struct tree_int_map **slot; +- unsigned baseindex; +- var = partition_to_var (map, x); +- if (SSA_NAME_VAR (var) +- && (!VAR_P (SSA_NAME_VAR (var)) +- || !DECL_IGNORED_P (SSA_NAME_VAR (var)))) +- m->base.from = SSA_NAME_VAR (var); +- else +- /* This restricts what anonymous SSA names we can coalesce +- as it restricts the sets we compute conflicts for. +- Using TREE_TYPE to generate sets is the easiest as +- type equivalency also holds for SSA names with the same +- underlying decl. +- +- Check gimple_can_coalesce_p when changing this code. */ +- m->base.from = (TYPE_CANONICAL (TREE_TYPE (var)) +- ? TYPE_CANONICAL (TREE_TYPE (var)) +- : TREE_TYPE (var)); +- /* If base variable hasn't been seen, set it up. */ +- slot = tree_to_index.find_slot (m, INSERT); +- if (!*slot) +- { +- baseindex = m - mapstorage; +- m->to = baseindex; +- *slot = m; +- m++; +- } +- else +- baseindex = (*slot)->to; +- map->partition_to_base_index[x] = baseindex; +- } +- +- map->num_basevars = m - mapstorage; +- +- free (mapstorage); +-} +- + /* Reduce the number of copies by coalescing variables in the function. Return + a partition map with the resulting coalesces. */ + +@@ -1845,10 +1749,7 @@ + + partition_view_bitmap (map, used_in_copies); + +- if (flag_tree_coalesce_vars) +- compute_optimized_partition_bases (map, used_in_copies, cl); +- else +- compute_samebase_partition_bases (map); ++ compute_optimized_partition_bases (map, used_in_copies, cl); + + if (num_var_partitions (map) < 1) + { +Index: gcc/gimple-match-head.c +=================================================================== +--- a/src/gcc/gimple-match-head.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/gimple-match-head.c (.../branches/gcc-8-branch) +@@ -100,11 +100,27 @@ + } + } + ++ /* Limit recursion, there are cases like PR80887 and others, for ++ example when value-numbering presents us with unfolded expressions ++ that we are really not prepared to handle without eventual ++ oscillation like ((_50 + 0) + 8) where _50 gets mapped to _50 ++ itself as available expression. */ ++ static unsigned depth; ++ if (depth > 10) ++ { ++ if (dump_file && (dump_flags & TDF_FOLDING)) ++ fprintf (dump_file, "Aborting expression simplification due to " ++ "deep recursion\n"); ++ return false; ++ } ++ ++ ++depth; + code_helper res_code2; + tree res_ops2[3] = {}; + if (gimple_simplify (&res_code2, res_ops2, seq, valueize, + *res_code, type, res_ops[0])) + { ++ --depth; + *res_code = res_code2; + res_ops[0] = res_ops2[0]; + res_ops[1] = res_ops2[1]; +@@ -111,6 +127,7 @@ + res_ops[2] = res_ops2[2]; + return true; + } ++ --depth; + + return false; + } +@@ -160,11 +177,23 @@ + canonicalized = true; + } + ++ /* Limit recursion, see gimple_resimplify1. */ ++ static unsigned depth; ++ if (depth > 10) ++ { ++ if (dump_file && (dump_flags & TDF_FOLDING)) ++ fprintf (dump_file, "Aborting expression simplification due to " ++ "deep recursion\n"); ++ return false; ++ } ++ ++ ++depth; + code_helper res_code2; + tree res_ops2[3] = {}; + if (gimple_simplify (&res_code2, res_ops2, seq, valueize, + *res_code, type, res_ops[0], res_ops[1])) + { ++ --depth; + *res_code = res_code2; + res_ops[0] = res_ops2[0]; + res_ops[1] = res_ops2[1]; +@@ -171,6 +200,7 @@ + res_ops[2] = res_ops2[2]; + return true; + } ++ --depth; + + return canonicalized; + } +@@ -219,6 +249,17 @@ + canonicalized = true; + } + ++ /* Limit recursion, see gimple_resimplify1. */ ++ static unsigned depth; ++ if (depth > 10) ++ { ++ if (dump_file && (dump_flags & TDF_FOLDING)) ++ fprintf (dump_file, "Aborting expression simplification due to " ++ "deep recursion\n"); ++ return false; ++ } ++ ++ ++depth; + code_helper res_code2; + tree res_ops2[3] = {}; + if (gimple_simplify (&res_code2, res_ops2, seq, valueize, +@@ -225,6 +266,7 @@ + *res_code, type, + res_ops[0], res_ops[1], res_ops[2])) + { ++ --depth; + *res_code = res_code2; + res_ops[0] = res_ops2[0]; + res_ops[1] = res_ops2[1]; +@@ -231,6 +273,7 @@ + res_ops[2] = res_ops2[2]; + return true; + } ++ --depth; + + return canonicalized; + } +Index: gcc/expmed.c +=================================================================== +--- a/src/gcc/expmed.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/expmed.c (.../branches/gcc-8-branch) +@@ -3343,9 +3343,9 @@ + /* Write a REG_EQUAL note on the last insn so that we can cse + multiplication sequences. Note that if ACCUM is a SUBREG, + we've set the inner register and must properly indicate that. */ +- tem = op0, nmode = mode; +- accum_inner = accum; +- if (GET_CODE (accum) == SUBREG) ++ tem = op0, nmode = mode; ++ accum_inner = accum; ++ if (GET_CODE (accum) == SUBREG) + { + accum_inner = SUBREG_REG (accum); + nmode = GET_MODE (accum_inner); +@@ -3352,10 +3352,12 @@ + tem = gen_lowpart (nmode, op0); + } + +- insn = get_last_insn (); +- set_dst_reg_note (insn, REG_EQUAL, +- gen_rtx_MULT (nmode, tem, +- gen_int_mode (val_so_far, nmode)), ++ insn = get_last_insn (); ++ wide_int wval_so_far ++ = wi::uhwi (val_so_far, ++ GET_MODE_PRECISION (as_a (nmode))); ++ rtx c = immed_wide_int_const (wval_so_far, nmode); ++ set_dst_reg_note (insn, REG_EQUAL, gen_rtx_MULT (nmode, tem, c), + accum_inner); + } + } +@@ -4480,6 +4482,11 @@ + HOST_WIDE_INT d = INTVAL (op1); + unsigned HOST_WIDE_INT abs_d; + ++ /* Not prepared to handle division/remainder by ++ 0xffffffffffffffff8000000000000000 etc. */ ++ if (d == HOST_WIDE_INT_MIN && size > HOST_BITS_PER_WIDE_INT) ++ break; ++ + /* Since d might be INT_MIN, we have to cast to + unsigned HOST_WIDE_INT before negating to avoid + undefined signed overflow. */ +@@ -4522,9 +4529,7 @@ + || (optab_handler (sdivmod_optab, int_mode) + != CODE_FOR_nothing))) + ; +- else if (EXACT_POWER_OF_2_OR_ZERO_P (abs_d) +- && (size <= HOST_BITS_PER_WIDE_INT +- || abs_d != (unsigned HOST_WIDE_INT) d)) ++ else if (EXACT_POWER_OF_2_OR_ZERO_P (abs_d)) + { + if (rem_flag) + { +@@ -6038,6 +6043,11 @@ + if (!HAVE_conditional_move) + return 0; + ++ /* Do not turn a trapping comparison into a non-trapping one. */ ++ if ((code != EQ && code != NE && code != UNEQ && code != LTGT) ++ && flag_trapping_math) ++ return 0; ++ + /* Try using a setcc instruction for ORDERED/UNORDERED, followed by a + conditional move. */ + tem = emit_store_flag_1 (subtarget, first_code, op0, op1, mode, 0, +Index: gcc/except.c +=================================================================== +--- a/src/gcc/except.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/except.c (.../branches/gcc-8-branch) +@@ -1755,6 +1755,8 @@ + if (note == NULL) + return; + } ++ else if (is_a (note_or_insn)) ++ return; + note = XEXP (note, 0); + + for (insn = first; insn != last ; insn = NEXT_INSN (insn)) +@@ -1777,6 +1779,8 @@ + if (note == NULL) + return; + } ++ else if (is_a (note_or_insn)) ++ return; + note = XEXP (note, 0); + + for (insn = last; insn != first; insn = PREV_INSN (insn)) +Index: gcc/coverage.c +=================================================================== +--- a/src/gcc/coverage.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/coverage.c (.../branches/gcc-8-branch) +@@ -368,7 +368,7 @@ + else + { + gcc_assert (coverage_node_map_initialized_p ()); +- elt.ident = cgraph_node::get (cfun->decl)->profile_id; ++ elt.ident = cgraph_node::get (current_function_decl)->profile_id; + } + elt.ctr = counter; + entry = counts_hash->find (&elt); +@@ -663,7 +663,8 @@ + gcov_write_unsigned (cfg_checksum); + gcov_write_string (IDENTIFIER_POINTER + (DECL_ASSEMBLER_NAME (current_function_decl))); +- gcov_write_unsigned (DECL_ARTIFICIAL (current_function_decl)); ++ gcov_write_unsigned (DECL_ARTIFICIAL (current_function_decl) ++ && !DECL_LAMBDA_FUNCTION (current_function_decl)); + gcov_write_filename (xloc.file); + gcov_write_unsigned (xloc.line); + gcov_write_unsigned (xloc.column); +@@ -671,7 +672,11 @@ + expanded_location endloc = expand_location (cfun->function_end_locus); + + /* Function can start in a single file and end in another one. */ +- gcov_write_unsigned (endloc.file == xloc.file ? endloc.line : xloc.line); ++ /* Work-around for PR gcov-profile/88045. */ ++ int end_line = endloc.file == xloc.file ? endloc.line : xloc.line; ++ if (xloc.line > end_line) ++ end_line = xloc.line; ++ gcov_write_unsigned (end_line); + gcov_write_length (offset); + + return !gcov_is_error (); +Index: gcc/cfgexpand.c +=================================================================== +--- a/src/gcc/cfgexpand.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/cfgexpand.c (.../branches/gcc-8-branch) +@@ -1157,6 +1157,20 @@ + if (repr_decl == NULL_TREE) + repr_decl = stack_vars[i].decl; + data->asan_decl_vec.safe_push (repr_decl); ++ ++ /* Make sure a representative is unpoison if another ++ variable in the partition is handled by ++ use-after-scope sanitization. */ ++ if (asan_handled_variables != NULL ++ && !asan_handled_variables->contains (repr_decl)) ++ { ++ for (j = i; j != EOC; j = stack_vars[j].next) ++ if (asan_handled_variables->contains (stack_vars[j].decl)) ++ break; ++ if (j != EOC) ++ asan_handled_variables->add (repr_decl); ++ } ++ + data->asan_alignb = MAX (data->asan_alignb, alignb); + if (data->asan_base == NULL) + data->asan_base = gen_reg_rtx (Pmode); +@@ -1259,10 +1273,10 @@ + allocate it, which means that in-frame portion is just a + pointer. ??? We've got a pseudo for sure here, do we + actually dynamically allocate its spilling area if needed? +- ??? Isn't it a problem when POINTER_SIZE also exceeds +- MAX_SUPPORTED_STACK_ALIGNMENT, as on cris and lm32? */ ++ ??? Isn't it a problem when Pmode alignment also exceeds ++ MAX_SUPPORTED_STACK_ALIGNMENT, as can happen on cris and lm32? */ + if (align > MAX_SUPPORTED_STACK_ALIGNMENT) +- align = POINTER_SIZE; ++ align = GET_MODE_ALIGNMENT (Pmode); + + record_alignment_for_reg_var (align); + } +@@ -1383,7 +1397,7 @@ + /* If the variable alignment is very large we'll dynamicaly allocate + it, which means that in-frame portion is just a pointer. */ + if (align > MAX_SUPPORTED_STACK_ALIGNMENT) +- align = POINTER_SIZE; ++ align = GET_MODE_ALIGNMENT (Pmode); + + record_alignment_for_reg_var (align); + +@@ -1610,7 +1624,7 @@ + /* If the variable alignment is very large we'll dynamicaly allocate + it, which means that in-frame portion is just a pointer. */ + if (align > MAX_SUPPORTED_STACK_ALIGNMENT) +- align = POINTER_SIZE; ++ align = GET_MODE_ALIGNMENT (Pmode); + } + + record_alignment_for_reg_var (align); +@@ -6534,6 +6548,14 @@ + find_many_sub_basic_blocks (blocks); + purge_all_dead_edges (); + ++ /* After initial rtl generation, call back to finish generating ++ exception support code. We need to do this before cleaning up ++ the CFG as the code does not expect dead landing pads. */ ++ if (fun->eh->region_tree != NULL) ++ finish_eh_generation (); ++ ++ /* Call expand_stack_alignment after finishing all ++ updates to crtl->preferred_stack_boundary. */ + expand_stack_alignment (); + + /* Fixup REG_EQUIV notes in the prologue if there are tailcalls in this +@@ -6541,12 +6563,6 @@ + if (crtl->tail_call_emit) + fixup_tail_calls (); + +- /* After initial rtl generation, call back to finish generating +- exception support code. We need to do this before cleaning up +- the CFG as the code does not expect dead landing pads. */ +- if (fun->eh->region_tree != NULL) +- finish_eh_generation (); +- + /* BB subdivision may have created basic blocks that are are only reachable + from unlikely bbs but not marked as such in the profile. */ + if (optimize) +Index: gcc/store-motion.c +=================================================================== +--- a/src/gcc/store-motion.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/store-motion.c (.../branches/gcc-8-branch) +@@ -912,8 +912,7 @@ + rtx_insn *insn; + rtx mem, note, set; + +- mem = smexpr->pattern; +- insn = gen_move_insn (reg, SET_SRC (single_set (del))); ++ insn = prepare_copy_insn (reg, SET_SRC (single_set (del))); + + unsigned int i; + rtx_insn *temp; +@@ -946,6 +945,7 @@ + /* Now we must handle REG_EQUAL notes whose contents is equal to the mem; + they are no longer accurate provided that they are reached by this + definition, so drop them. */ ++ mem = smexpr->pattern; + for (; insn != NEXT_INSN (BB_END (bb)); insn = NEXT_INSN (insn)) + if (NONDEBUG_INSN_P (insn)) + { +Index: gcc/cfgcleanup.c +=================================================================== +--- a/src/gcc/cfgcleanup.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/cfgcleanup.c (.../branches/gcc-8-branch) +@@ -1592,10 +1592,13 @@ + if (crtl->shrink_wrapped + && single_succ_p (bb1) + && single_succ (bb1) == EXIT_BLOCK_PTR_FOR_FN (cfun) +- && !JUMP_P (BB_END (bb1)) ++ && (!JUMP_P (BB_END (bb1)) ++ /* Punt if the only successor is a fake edge to exit, the jump ++ must be some weird one. */ ++ || (single_succ_edge (bb1)->flags & EDGE_FAKE) != 0) + && !(CALL_P (BB_END (bb1)) && SIBLING_CALL_P (BB_END (bb1)))) + return false; +- ++ + /* If BB1 has only one successor, we may be looking at either an + unconditional jump, or a fake edge to exit. */ + if (single_succ_p (bb1) +Index: gcc/graphite.h +=================================================================== +--- a/src/gcc/graphite.h (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/graphite.h (.../branches/gcc-8-branch) +@@ -37,6 +37,8 @@ + #include + #include + #include ++#include ++#include + + typedef struct poly_dr *poly_dr_p; + +Index: gcc/tree-predcom.c +=================================================================== +--- a/src/gcc/tree-predcom.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/tree-predcom.c (.../branches/gcc-8-branch) +@@ -2835,7 +2835,7 @@ + return; + + /* Setup UID for all statements in dominance order. */ +- basic_block *bbs = get_loop_body (loop); ++ basic_block *bbs = get_loop_body_in_dom_order (loop); + renumber_gimple_stmt_uids_in_blocks (bbs, loop->num_nodes); + free (bbs); + +Index: gcc/lto/ChangeLog +=================================================================== +--- a/src/gcc/lto/ChangeLog (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/lto/ChangeLog (.../branches/gcc-8-branch) +@@ -1,3 +1,12 @@ ++2018-11-20 Martin Liska ++ ++ Backport from mainline ++ 2018-11-19 Martin Liska ++ ++ PR lto/88077 ++ * lto-symtab.c (lto_symtab_merge): Transform the ++ condition before r256989. ++ + 2018-07-26 Release Manager + + * GCC 8.2.0 released. +Index: gcc/lto/lto-symtab.c +=================================================================== +--- a/src/gcc/lto/lto-symtab.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/lto/lto-symtab.c (.../branches/gcc-8-branch) +@@ -388,8 +388,9 @@ + int a[]={1,2,3}; + here the first declaration is COMMON + and sizeof(a) == sizeof (int). */ +- else if (TREE_CODE (type) == ARRAY_TYPE) +- return (TYPE_SIZE (decl) == TYPE_SIZE (TREE_TYPE (type))); ++ else if (TREE_CODE (type) != ARRAY_TYPE ++ || (TYPE_SIZE (type) != TYPE_SIZE (TREE_TYPE (type)))) ++ return false; + } + + return true; +Index: gcc/tree-streamer-out.c +=================================================================== +--- a/src/gcc/tree-streamer-out.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/tree-streamer-out.c (.../branches/gcc-8-branch) +@@ -129,6 +129,11 @@ + bp_pack_value (bp, SSA_NAME_IS_DEFAULT_DEF (expr), 1); + bp_pack_value (bp, 0, 8); + } ++ else if (TREE_CODE (expr) == CALL_EXPR) ++ { ++ bp_pack_value (bp, CALL_EXPR_BY_DESCRIPTOR (expr), 1); ++ bp_pack_value (bp, 0, 8); ++ } + else + bp_pack_value (bp, 0, 9); + } +@@ -457,6 +462,8 @@ + if (MR_DEPENDENCE_CLIQUE (expr) != 0) + bp_pack_value (&bp, MR_DEPENDENCE_BASE (expr), sizeof (short) * 8); + } ++ else if (code == CALL_EXPR) ++ bp_pack_enum (&bp, internal_fn, IFN_LAST, CALL_EXPR_IFN (expr)); + } + + if (CODE_CONTAINS_STRUCT (code, TS_BLOCK)) +@@ -603,8 +610,17 @@ + special handling in LTO, it must be handled by streamer hooks. */ + + stream_write_tree (ob, DECL_ATTRIBUTES (expr), ref_p); +- stream_write_tree (ob, DECL_ABSTRACT_ORIGIN (expr), ref_p); + ++ /* On non-early-LTO enabled targets we claim we compiled with -g0 ++ but dwarf2out still did its set_decl_origin_self game fooling ++ itself late. Und that here since we won't have access to the ++ early generated abstract DIEs. */ ++ tree ao = DECL_ABSTRACT_ORIGIN (expr); ++ if (debug_info_level == DINFO_LEVEL_NONE ++ && ao == expr) ++ ao = NULL_TREE; ++ stream_write_tree (ob, ao, ref_p); ++ + if ((VAR_P (expr) || TREE_CODE (expr) == PARM_DECL) + && DECL_HAS_VALUE_EXPR_P (expr)) + stream_write_tree (ob, DECL_VALUE_EXPR (expr), ref_p); +Index: gcc/ipa-prop.c +=================================================================== +--- a/src/gcc/ipa-prop.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/ipa-prop.c (.../branches/gcc-8-branch) +@@ -1569,7 +1569,8 @@ + if (TREE_CODE (arg) == SSA_NAME) + { + tree type_size; +- if (!tree_fits_uhwi_p (TYPE_SIZE (TREE_TYPE (arg_type)))) ++ if (!tree_fits_uhwi_p (TYPE_SIZE (TREE_TYPE (arg_type))) ++ || !POINTER_TYPE_P (TREE_TYPE (arg))) + return; + check_ref = true; + arg_base = arg; +Index: gcc/tree-ssa-copy.c +=================================================================== +--- a/src/gcc/tree-ssa-copy.c (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/tree-ssa-copy.c (.../branches/gcc-8-branch) +@@ -155,7 +155,7 @@ + copy_of[ver].value = val; + + if (old != val +- || (val && !operand_equal_p (old, val, 0))) ++ && (!old || !operand_equal_p (old, val, 0))) + return true; + + return false; +Index: gcc/po/es.po +=================================================================== +--- a/src/gcc/po/es.po (.../tags/gcc_8_2_0_release) ++++ b/src/gcc/po/es.po (.../branches/gcc-8-branch) +@@ -1,8 +1,8 @@ + # Mensajes en español para gcc-8.1.0. +-# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2016, 2017, 2018 Free Software Foundation, Inc. ++# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2016, 2017, 2018, 2019 Free Software Foundation, Inc. + # This file is distributed under the same license as the gcc package. + # Cristian Othón Martínez Vera , 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 +-# Antonio Ceballos Roa , 2016, 2017, 2018 ++# Antonio Ceballos Roa , 2016, 2017, 2018, 2019 + # + # Agradezco a Juan Cuquejo Mira por sus comentarios sobre esta traducción + # +@@ -13,6 +13,7 @@ + # asan - asan + # bug - error + # callback - callback ++# construct - TBD + # cse - TBD + # demangled - mutilado + # dereference - desreferencia +@@ -39,10 +40,10 @@ + # + msgid "" + msgstr "" +-"Project-Id-Version: gcc 8.1.0\n" ++"Project-Id-Version: gcc 8.2.0\n" + "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n" +-"POT-Creation-Date: 2018-05-01 20:30+0000\n" +-"PO-Revision-Date: 2018-07-07 15:54+0200\n" ++"POT-Creation-Date: 2018-07-25 14:25+0000\n" ++"PO-Revision-Date: 2019-01-06 23:49+0100\n" + "Last-Translator: Antonio Ceballos Roa \n" + "Language-Team: Spanish \n" + "Language: es\n" +@@ -73,12 +74,12 @@ + msgid "[cannot find %s]" + msgstr "[no se puede encontrar %s]" + +-#: collect2.c:1557 ++#: collect2.c:1585 + #, c-format + msgid "collect2 version %s\n" + msgstr "collect2 versión %s\n" + +-#: collect2.c:1664 ++#: collect2.c:1692 + #, c-format + msgid "%d constructor found\n" + msgid_plural "%d constructors found\n" +@@ -85,7 +86,7 @@ + msgstr[0] "se encontró %d constructor\n" + msgstr[1] "se encontraron %d constructores\n" + +-#: collect2.c:1668 ++#: collect2.c:1696 + #, c-format + msgid "%d destructor found\n" + msgid_plural "%d destructors found\n" +@@ -92,7 +93,7 @@ + msgstr[0] "se encontró %d destructor\n" + msgstr[1] "se encontraron %d destructores\n" + +-#: collect2.c:1672 ++#: collect2.c:1700 + #, c-format + msgid "%d frame table found\n" + msgid_plural "%d frame tables found\n" +@@ -100,12 +101,12 @@ + msgstr[1] "se encontraron %d tablas de marco\n" + + # %s se refiere a un fichero. cfuga +-#: collect2.c:1836 ++#: collect2.c:1864 + #, c-format + msgid "[Leaving %s]\n" + msgstr "[Saliendo de %s]\n" + +-#: collect2.c:2068 ++#: collect2.c:2094 + #, c-format + msgid "" + "\n" +@@ -114,7 +115,7 @@ + "\n" + "write_c_file - el nombre de salida es %s, el prefijo es %s\n" + +-#: collect2.c:2584 ++#: collect2.c:2610 + #, c-format + msgid "" + "\n" +@@ -137,7 +138,7 @@ + msgid "%s: some warnings being treated as errors" + msgstr "%s: algunos avisos se tratan como errores" + +-#: diagnostic.c:324 input.c:222 input.c:1834 c-family/c-opts.c:1377 ++#: diagnostic.c:324 input.c:222 input.c:1834 c-family/c-opts.c:1392 + #: fortran/cpp.c:576 fortran/error.c:1008 fortran/error.c:1028 + msgid "" + msgstr "" +@@ -229,13 +230,13 @@ + #. TARGET_PRINT_OPERAND must handle them. + #. We can't handle floating point constants; + #. PRINT_OPERAND must handle them. +-#: final.c:4164 config/arc/arc.c:5784 config/i386/i386.c:17302 ++#: final.c:4164 config/arc/arc.c:5775 config/i386/i386.c:17305 + #: config/pdp11/pdp11.c:1715 + #, c-format + msgid "floating constant misused" + msgstr "constante de coma flotante mal usada" + +-#: final.c:4222 config/arc/arc.c:5881 config/i386/i386.c:17393 ++#: final.c:4222 config/arc/arc.c:5872 config/i386/i386.c:17396 + #: config/pdp11/pdp11.c:1756 + #, c-format + msgid "invalid expression as operand" +@@ -1145,7 +1146,7 @@ + msgid "GCSE disabled" + msgstr "GCSE desactivado" + +-#: gimple-ssa-isolate-paths.c:542 c/c-typeck.c:10240 ++#: gimple-ssa-isolate-paths.c:542 c/c-typeck.c:10245 + #, gcc-internal-format + msgid "function returns address of local variable" + msgstr "la función devuelve la dirección de una variable local" +@@ -1446,7 +1447,7 @@ + msgid "options enabled: " + msgstr "opciones activadas: " + +-#: tree-diagnostic.c:299 c/c-decl.c:5419 c/c-typeck.c:7259 cp/error.c:1042 ++#: tree-diagnostic.c:299 c/c-decl.c:5439 c/c-typeck.c:7264 cp/error.c:1042 + #: c-family/c-pretty-print.c:413 + #, gcc-internal-format + msgid "" +@@ -2582,10 +2583,9 @@ + msgstr "Tipo de planificación de planificación omp para bucles paralelizados por parloops (estático, dinámico, guiado, auto, en tiempo de ejecución)." + + #: params.def:1268 +-#, fuzzy, no-c-format +-#| msgid "The maximum number of instructions to consider to unroll in a loop." ++#, no-c-format + msgid "Minimum number of iterations per thread of an innermost parallelized loop." +-msgstr "El número máximo de instrucciones para considerar el desenrollo en un bucle." ++msgstr "Número mínimo de iteraciones por thread de un bucle paralelizado interior." + + #: params.def:1274 + #, no-c-format +@@ -2911,64 +2911,64 @@ + msgstr "modificador de longitud en formato strfmon" + + #. Handle deferred options from command-line. +-#: c-family/c-opts.c:1402 fortran/cpp.c:590 ++#: c-family/c-opts.c:1417 fortran/cpp.c:590 + msgid "" + msgstr "" + +-#: config/aarch64/aarch64.c:6613 ++#: config/aarch64/aarch64.c:6629 + #, c-format + msgid "unsupported operand for code '%c'" + msgstr "no se admite el operando para el código '%c'" + +-#: config/aarch64/aarch64.c:6624 config/aarch64/aarch64.c:6640 +-#: config/aarch64/aarch64.c:6652 config/aarch64/aarch64.c:6663 +-#: config/aarch64/aarch64.c:6673 config/aarch64/aarch64.c:6694 +-#: config/aarch64/aarch64.c:6764 config/aarch64/aarch64.c:6775 +-#: config/aarch64/aarch64.c:6789 config/aarch64/aarch64.c:7011 +-#: config/aarch64/aarch64.c:7029 ++#: config/aarch64/aarch64.c:6640 config/aarch64/aarch64.c:6656 ++#: config/aarch64/aarch64.c:6668 config/aarch64/aarch64.c:6679 ++#: config/aarch64/aarch64.c:6689 config/aarch64/aarch64.c:6710 ++#: config/aarch64/aarch64.c:6780 config/aarch64/aarch64.c:6791 ++#: config/aarch64/aarch64.c:6805 config/aarch64/aarch64.c:7027 ++#: config/aarch64/aarch64.c:7045 + #, c-format + msgid "invalid operand for '%%%c'" + msgstr "operando no válido para '%%%c'" + +-#: config/aarch64/aarch64.c:6709 config/aarch64/aarch64.c:6720 +-#: config/aarch64/aarch64.c:6871 config/aarch64/aarch64.c:6882 ++#: config/aarch64/aarch64.c:6725 config/aarch64/aarch64.c:6736 ++#: config/aarch64/aarch64.c:6887 config/aarch64/aarch64.c:6898 + #, c-format + msgid "invalid vector constant" + msgstr "constante de vector no válida" + +-#: config/aarch64/aarch64.c:6732 config/aarch64/aarch64.c:6744 +-#: config/aarch64/aarch64.c:6755 ++#: config/aarch64/aarch64.c:6748 config/aarch64/aarch64.c:6760 ++#: config/aarch64/aarch64.c:6771 + #, 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:6823 config/arm/arm.c:22704 ++#: config/aarch64/aarch64.c:6839 config/arm/arm.c:22704 + #, c-format + msgid "missing operand" + msgstr "falta un operando" + +-#: config/aarch64/aarch64.c:6908 ++#: config/aarch64/aarch64.c:6924 + #, c-format + msgid "invalid constant" + msgstr "constante no válida" + +-#: config/aarch64/aarch64.c:6911 ++#: config/aarch64/aarch64.c:6927 + #, c-format + msgid "invalid operand" + msgstr "operando no válido" + +-#: config/aarch64/aarch64.c:7040 config/aarch64/aarch64.c:7045 ++#: config/aarch64/aarch64.c:7056 config/aarch64/aarch64.c:7061 + #, c-format + msgid "invalid operand prefix '%%%c'" + msgstr "prefijo de operando no válido '%%%c'" + +-#: config/aarch64/aarch64.c:7062 ++#: config/aarch64/aarch64.c:7078 + #, c-format + msgid "invalid address mode" + msgstr "modo de direccionamiento no válido" + +-#: config/alpha/alpha.c:5125 config/i386/i386.c:18558 +-#: config/powerpcspe/powerpcspe.c:24333 config/rs6000/rs6000.c:21798 ++#: config/alpha/alpha.c:5125 config/i386/i386.c:18561 ++#: config/powerpcspe/powerpcspe.c:24333 config/rs6000/rs6000.c:21875 + #: config/sparc/sparc.c:9290 + #, c-format + msgid "'%%&' used without any local dynamic TLS references" +@@ -2985,7 +2985,7 @@ + msgstr "valor %%r no válido" + + #: config/alpha/alpha.c:5223 config/ia64/ia64.c:5534 +-#: config/powerpcspe/powerpcspe.c:24013 config/rs6000/rs6000.c:21506 ++#: config/powerpcspe/powerpcspe.c:24013 config/rs6000/rs6000.c:21583 + #: config/xtensa/xtensa.c:2429 + #, c-format + msgid "invalid %%R value" +@@ -2992,13 +2992,13 @@ + msgstr "valor %%R no válido" + + #: config/alpha/alpha.c:5229 config/powerpcspe/powerpcspe.c:23933 +-#: config/rs6000/rs6000.c:21426 config/xtensa/xtensa.c:2396 ++#: config/rs6000/rs6000.c:21503 config/xtensa/xtensa.c:2396 + #, c-format + msgid "invalid %%N value" + msgstr "valor %%N no válido" + + #: config/alpha/alpha.c:5237 config/powerpcspe/powerpcspe.c:23961 +-#: config/rs6000/rs6000.c:21454 ++#: config/rs6000/rs6000.c:21531 + #, c-format + msgid "invalid %%P value" + msgstr "valor %%P no válido" +@@ -3029,7 +3029,7 @@ + msgstr "valor %%U no válido" + + #: config/alpha/alpha.c:5323 config/powerpcspe/powerpcspe.c:24021 +-#: config/rs6000/rs6000.c:21514 ++#: config/rs6000/rs6000.c:21591 + #, c-format + msgid "invalid %%s value" + msgstr "valor %%s no válido" +@@ -3040,7 +3040,7 @@ + msgstr "valor %%C no válido" + + #: config/alpha/alpha.c:5371 config/powerpcspe/powerpcspe.c:23797 +-#: config/rs6000/rs6000.c:21290 ++#: config/rs6000/rs6000.c:21367 + #, c-format + msgid "invalid %%E value" + msgstr "valor %%E no válido" +@@ -3051,7 +3051,7 @@ + msgstr "reubicación unspec desconocida" + + #: config/alpha/alpha.c:5405 config/cr16/cr16.c:1569 +-#: config/powerpcspe/powerpcspe.c:24338 config/rs6000/rs6000.c:21803 ++#: config/powerpcspe/powerpcspe.c:24338 config/rs6000/rs6000.c:21880 + #: config/spu/spu.c:1458 + #, c-format + msgid "invalid %%xn code" +@@ -3062,57 +3062,57 @@ + msgid "invalid operand address" + msgstr "dirección de operando no válida" + +-#: config/arc/arc.c:3810 ++#: config/arc/arc.c:3808 + #, c-format + msgid "invalid operand to %%Z code" + msgstr "operando no válido para el código %%Z" + +-#: config/arc/arc.c:3818 ++#: config/arc/arc.c:3816 + #, c-format + msgid "invalid operand to %%z code" + msgstr "operando no válido para el código %%z" + +-#: config/arc/arc.c:3826 ++#: config/arc/arc.c:3824 + #, c-format + msgid "invalid operands to %%c code" + msgstr "operandos no válidos para el código %%c" + +-#: config/arc/arc.c:3834 ++#: config/arc/arc.c:3832 + #, c-format + msgid "invalid operand to %%M code" + msgstr "operando no válido para el código %%M" + +-#: config/arc/arc.c:3842 config/m32r/m32r.c:2100 ++#: config/arc/arc.c:3840 config/m32r/m32r.c:2100 + #, c-format + msgid "invalid operand to %%p code" + msgstr "operador no válido para el código %%p" + +-#: config/arc/arc.c:3853 config/m32r/m32r.c:2093 ++#: config/arc/arc.c:3851 config/m32r/m32r.c:2093 + #, c-format + msgid "invalid operand to %%s code" + msgstr "operando no válido para el código %%s" + +-#: config/arc/arc.c:4001 config/m32r/m32r.c:2126 ++#: config/arc/arc.c:3999 config/m32r/m32r.c:2126 + #, c-format + msgid "invalid operand to %%R code" + msgstr "operando no válido para el código %%R" + +-#: config/arc/arc.c:4077 config/m32r/m32r.c:2149 ++#: config/arc/arc.c:4075 config/m32r/m32r.c:2149 + #, c-format + msgid "invalid operand to %%H/%%L code" + msgstr "operando no válido para el código %%H%%L" + +-#: config/arc/arc.c:4145 config/m32r/m32r.c:2220 ++#: config/arc/arc.c:4143 config/m32r/m32r.c:2220 + #, c-format + msgid "invalid operand to %%U code" + msgstr "operando no válido para el código %%U" + +-#: config/arc/arc.c:4157 ++#: config/arc/arc.c:4155 + #, c-format + msgid "invalid operand to %%V code" + msgstr "operando no válido para el código %%V" + +-#: config/arc/arc.c:4214 ++#: config/arc/arc.c:4212 + #, c-format + msgid "invalid operand to %%O code" + msgstr "operando no válido para el código %%O" +@@ -3119,18 +3119,18 @@ + + #. Unknown flag. + #. Undocumented flag. +-#: config/arc/arc.c:4240 config/epiphany/epiphany.c:1305 +-#: config/m32r/m32r.c:2247 config/nds32/nds32.c:3079 config/sparc/sparc.c:9569 ++#: config/arc/arc.c:4238 config/epiphany/epiphany.c:1305 ++#: config/m32r/m32r.c:2247 config/nds32/nds32.c:3080 config/sparc/sparc.c:9569 + #, c-format + msgid "invalid operand output code" + msgstr "operando no válido en el código de salida" + +-#: config/arc/arc.c:5869 ++#: config/arc/arc.c:5860 + #, c-format + msgid "invalid UNSPEC as operand: %d" + msgstr "UNSPEC no válido como operando: %d" + +-#: config/arc/arc.c:6158 config/cris/cris.c:2568 ++#: config/arc/arc.c:6149 config/cris/cris.c:2568 + msgid "unrecognized supposed constant" + msgstr "no se reconoce la constante supuesta" + +@@ -3165,7 +3165,7 @@ + #: config/arm/arm.c:22685 config/arm/arm.c:22692 config/bfin/bfin.c:1441 + #: config/bfin/bfin.c:1448 config/bfin/bfin.c:1455 config/bfin/bfin.c:1462 + #: config/bfin/bfin.c:1471 config/bfin/bfin.c:1478 config/bfin/bfin.c:1485 +-#: config/bfin/bfin.c:1492 config/nds32/nds32.c:3098 ++#: config/bfin/bfin.c:1492 config/nds32/nds32.c:3099 + #, c-format + msgid "invalid operand for code '%c'" + msgstr "operando no válido para el código '%c'" +@@ -3506,98 +3506,98 @@ + msgid "bad output_condmove_single operand" + msgstr "operando output_condmove_single erróneo" + +-#: config/i386/i386.c:17387 ++#: config/i386/i386.c:17390 + #, c-format + msgid "invalid UNSPEC as operand" + msgstr "UNSPEC no válido como operando" + +-#: config/i386/i386.c:17925 ++#: config/i386/i386.c:17928 + #, c-format + msgid "invalid use of register '%s'" + msgstr "uso no válido del registro '%s'" + +-#: config/i386/i386.c:17930 ++#: config/i386/i386.c:17933 + #, c-format + msgid "invalid use of asm flag output" + msgstr "tipo no válido de la salida del indicador asm" + +-#: config/i386/i386.c:18160 ++#: config/i386/i386.c:18163 + #, c-format + msgid "invalid operand size for operand code 'O'" + msgstr "tamaño de operando no válido para el código de operando 'O'" + +-#: config/i386/i386.c:18195 ++#: config/i386/i386.c:18198 + #, c-format + msgid "invalid operand size for operand code 'z'" + msgstr "tamaño de operando no válido para el código de operando 'z'" + +-#: config/i386/i386.c:18264 ++#: config/i386/i386.c:18267 + #, c-format + msgid "invalid operand type used with operand code 'Z'" + msgstr "se usó un tipo de operando no válido con el código de operando 'Z'" + +-#: config/i386/i386.c:18269 ++#: config/i386/i386.c:18272 + #, c-format + msgid "invalid operand size for operand code 'Z'" + msgstr "tamaño de operando no válido para el código de operando 'Z'" + +-#: config/i386/i386.c:18346 ++#: config/i386/i386.c:18349 + #, c-format + msgid "operand is not a condition code, invalid operand code 'Y'" + msgstr "el operando no es un código de condición, código de operando 'Y' no válido" + +-#: config/i386/i386.c:18425 ++#: config/i386/i386.c:18428 + #, c-format + msgid "operand is not a condition code, invalid operand code 'D'" + msgstr "el operando no es un código de condición, código de operando 'D' no válido" + +-#: config/i386/i386.c:18443 ++#: config/i386/i386.c:18446 + #, c-format + msgid "operand is not a condition code, invalid operand code '%c'" + msgstr "el operando no es un código de condición, código de operando '%c' no válido" + +-#: config/i386/i386.c:18456 ++#: config/i386/i386.c:18459 + #, c-format + msgid "operand is not an offsettable memory reference, invalid operand code 'H'" + msgstr "el operando no es una referencia de memoria desplazable, código de operando 'H' no válido" + +-#: config/i386/i386.c:18471 ++#: config/i386/i386.c:18474 + #, c-format + msgid "operand is not an integer, invalid operand code 'K'" + msgstr "el operando no es un entero, código de operando 'K' no válido" + +-#: config/i386/i386.c:18499 ++#: config/i386/i386.c:18502 + #, 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" + +-#: config/i386/i386.c:18517 ++#: config/i386/i386.c:18520 + #, c-format + msgid "operand is not an integer, invalid operand code 'R'" + msgstr "el operando no es un entero, código de operando 'R' no válido" + +-#: config/i386/i386.c:18540 ++#: config/i386/i386.c:18543 + #, 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" + +-#: config/i386/i386.c:18626 ++#: config/i386/i386.c:18629 + #, c-format + msgid "invalid operand code '%c'" + msgstr "código de operando '%c' no válido" + +-#: config/i386/i386.c:18688 ++#: config/i386/i386.c:18691 + #, c-format + msgid "invalid constraints for operand" + msgstr "restricciones no válidas para el operando" + +-#: config/i386/i386.c:18738 ++#: config/i386/i386.c:18741 + #, fuzzy, c-format + #| msgid "invalid vector constant" + msgid "invalid vector immediate" + msgstr "constante de vector no válida" + +-#: config/i386/i386.c:29572 ++#: config/i386/i386.c:29575 + msgid "unknown insn mode" + msgstr "modo insn desconocido" + +@@ -3635,7 +3635,7 @@ + msgstr "operando %%P no válido" + + #: config/iq2000/iq2000.c:3185 config/powerpcspe/powerpcspe.c:23951 +-#: config/rs6000/rs6000.c:21444 ++#: config/rs6000/rs6000.c:21521 + #, c-format + msgid "invalid %%p value" + msgstr "valor %%p no válido" +@@ -3689,7 +3689,7 @@ + msgstr "la dirección de post-incremento no es un registro" + + #: config/m32r/m32r.c:2350 config/m32r/m32r.c:2365 +-#: config/powerpcspe/powerpcspe.c:36090 config/rs6000/rs6000.c:33292 ++#: config/powerpcspe/powerpcspe.c:36090 config/rs6000/rs6000.c:33348 + msgid "bad address" + msgstr "dirección errónea" + +@@ -3808,185 +3808,185 @@ + msgid "Try running '%s' in the shell to raise its limit.\n" + msgstr "Pruebe ejecutar '%s' en el intérprete de órdenes para elevar su límite.\n" + +-#: config/powerpcspe/powerpcspe.c:4411 config/rs6000/rs6000.c:4258 ++#: config/powerpcspe/powerpcspe.c:4411 config/rs6000/rs6000.c:4278 + msgid "-maltivec=le not allowed for big-endian targets" + msgstr "-maltivec=le no permitida para destinos big-endian" + +-#: config/powerpcspe/powerpcspe.c:4423 config/rs6000/rs6000.c:4273 ++#: config/powerpcspe/powerpcspe.c:4423 config/rs6000/rs6000.c:4293 + msgid "-mvsx requires hardware floating point" + msgstr "-mvsx requiere coma flotante de hardware" + +-#: config/powerpcspe/powerpcspe.c:4431 config/rs6000/rs6000.c:4281 ++#: config/powerpcspe/powerpcspe.c:4431 config/rs6000/rs6000.c:4301 + msgid "-mvsx and -mpaired are incompatible" + msgstr "-mvsx y -mpaired son incompatibles" + +-#: config/powerpcspe/powerpcspe.c:4433 config/rs6000/rs6000.c:4283 ++#: config/powerpcspe/powerpcspe.c:4433 config/rs6000/rs6000.c:4303 + msgid "-mvsx needs indexed addressing" + msgstr "-mvsx necesita direccionamiento indizado" + +-#: config/powerpcspe/powerpcspe.c:4438 config/rs6000/rs6000.c:4288 ++#: config/powerpcspe/powerpcspe.c:4438 config/rs6000/rs6000.c:4308 + msgid "-mvsx and -mno-altivec are incompatible" + msgstr "-mvsx y -mno-altivec son incompatibles" + +-#: config/powerpcspe/powerpcspe.c:4440 config/rs6000/rs6000.c:4290 ++#: config/powerpcspe/powerpcspe.c:4440 config/rs6000/rs6000.c:4310 + msgid "-mno-altivec disables vsx" + msgstr "-mno-altivec desactiva vsx" + +-#: config/powerpcspe/powerpcspe.c:4648 config/rs6000/rs6000.c:4416 ++#: config/powerpcspe/powerpcspe.c:4648 config/rs6000/rs6000.c:4436 + msgid "-mquad-memory requires 64-bit mode" + msgstr "-mquad-memory requiere modo de 64 bits" + +-#: config/powerpcspe/powerpcspe.c:4651 config/rs6000/rs6000.c:4419 ++#: config/powerpcspe/powerpcspe.c:4651 config/rs6000/rs6000.c:4439 + msgid "-mquad-memory-atomic requires 64-bit mode" + msgstr "-mquad-memory-atomic requiere modo de 64 bits" + +-#: config/powerpcspe/powerpcspe.c:4663 config/rs6000/rs6000.c:4431 ++#: config/powerpcspe/powerpcspe.c:4663 config/rs6000/rs6000.c:4451 + msgid "-mquad-memory is not available in little endian mode" + msgstr "-mquad-memory no está disponible en modo little endian" + +-#: config/powerpcspe/powerpcspe.c:4735 config/rs6000/rs6000.c:4512 ++#: config/powerpcspe/powerpcspe.c:4735 config/rs6000/rs6000.c:4532 + msgid "-mtoc-fusion requires 64-bit" + msgstr "-mtoc-fusion requiere 64 bits" + +-#: config/powerpcspe/powerpcspe.c:4742 config/rs6000/rs6000.c:4519 ++#: config/powerpcspe/powerpcspe.c:4742 config/rs6000/rs6000.c:4539 + msgid "-mtoc-fusion requires medium/large code model" + msgstr "-mtoc-fusion requiere modelo de código medio/grande" + +-#: config/powerpcspe/powerpcspe.c:11492 config/rs6000/rs6000.c:10915 ++#: config/powerpcspe/powerpcspe.c:11492 config/rs6000/rs6000.c:10947 + msgid "bad move" + msgstr "move erróneo" + +-#: config/powerpcspe/powerpcspe.c:23594 config/rs6000/rs6000.c:21087 ++#: config/powerpcspe/powerpcspe.c:23594 config/rs6000/rs6000.c:21164 + msgid "Bad 128-bit move" + msgstr "Movimiento de 128 bits erróneo" + +-#: config/powerpcspe/powerpcspe.c:23785 config/rs6000/rs6000.c:21278 ++#: config/powerpcspe/powerpcspe.c:23785 config/rs6000/rs6000.c:21355 + #, c-format + msgid "invalid %%e value" + msgstr "valor %%e no válido" + +-#: config/powerpcspe/powerpcspe.c:23806 config/rs6000/rs6000.c:21299 ++#: config/powerpcspe/powerpcspe.c:23806 config/rs6000/rs6000.c:21376 + #, c-format + msgid "invalid %%f value" + msgstr "valor %%f no válido" + +-#: config/powerpcspe/powerpcspe.c:23815 config/rs6000/rs6000.c:21308 ++#: config/powerpcspe/powerpcspe.c:23815 config/rs6000/rs6000.c:21385 + #, c-format + msgid "invalid %%F value" + msgstr "valor %%F no válido" + +-#: config/powerpcspe/powerpcspe.c:23824 config/rs6000/rs6000.c:21317 ++#: config/powerpcspe/powerpcspe.c:23824 config/rs6000/rs6000.c:21394 + #, c-format + msgid "invalid %%G value" + msgstr "valor %%G no válido" + +-#: config/powerpcspe/powerpcspe.c:23859 config/rs6000/rs6000.c:21352 ++#: config/powerpcspe/powerpcspe.c:23859 config/rs6000/rs6000.c:21429 + #, c-format + msgid "invalid %%j code" + msgstr "código %%j no válido" + +-#: config/powerpcspe/powerpcspe.c:23869 config/rs6000/rs6000.c:21362 ++#: config/powerpcspe/powerpcspe.c:23869 config/rs6000/rs6000.c:21439 + #, c-format + msgid "invalid %%J code" + msgstr "código %%J no válido" + +-#: config/powerpcspe/powerpcspe.c:23879 config/rs6000/rs6000.c:21372 ++#: config/powerpcspe/powerpcspe.c:23879 config/rs6000/rs6000.c:21449 + #, c-format + msgid "invalid %%k value" + msgstr "valor %%k no válido" + +-#: config/powerpcspe/powerpcspe.c:23894 config/rs6000/rs6000.c:21387 ++#: config/powerpcspe/powerpcspe.c:23894 config/rs6000/rs6000.c:21464 + #: config/xtensa/xtensa.c:2415 + #, c-format + msgid "invalid %%K value" + msgstr "valor %%K no válido" + +-#: config/powerpcspe/powerpcspe.c:23941 config/rs6000/rs6000.c:21434 ++#: config/powerpcspe/powerpcspe.c:23941 config/rs6000/rs6000.c:21511 + #, c-format + msgid "invalid %%O value" + msgstr "valor %%O no válido" + +-#: config/powerpcspe/powerpcspe.c:23988 config/rs6000/rs6000.c:21481 ++#: config/powerpcspe/powerpcspe.c:23988 config/rs6000/rs6000.c:21558 + #, c-format + msgid "invalid %%q value" + msgstr "valor %%q no válido" + +-#: config/powerpcspe/powerpcspe.c:24041 config/rs6000/rs6000.c:21534 ++#: config/powerpcspe/powerpcspe.c:24041 config/rs6000/rs6000.c:21611 + #, c-format + msgid "invalid %%T value" + msgstr "valor %%T no válido" + +-#: config/powerpcspe/powerpcspe.c:24053 config/rs6000/rs6000.c:21546 ++#: config/powerpcspe/powerpcspe.c:24053 config/rs6000/rs6000.c:21623 + #, c-format + msgid "invalid %%u value" + msgstr "valor %%u no válido" + +-#: config/powerpcspe/powerpcspe.c:24067 config/rs6000/rs6000.c:21560 ++#: config/powerpcspe/powerpcspe.c:24067 config/rs6000/rs6000.c:21637 + #: config/xtensa/xtensa.c:2384 + #, c-format + msgid "invalid %%v value" + msgstr "valor %%v no válido" + +-#: config/powerpcspe/powerpcspe.c:24134 config/rs6000/rs6000.c:21627 ++#: config/powerpcspe/powerpcspe.c:24134 config/rs6000/rs6000.c:21704 + #: config/xtensa/xtensa.c:2436 + #, c-format + msgid "invalid %%x value" + msgstr "valor %%x no válido" + +-#: config/powerpcspe/powerpcspe.c:24282 config/rs6000/rs6000.c:21747 ++#: config/powerpcspe/powerpcspe.c:24282 config/rs6000/rs6000.c:21824 + #, c-format + msgid "invalid %%y value, try using the 'Z' constraint" + msgstr "valor %%y no válido, pruebe usando la restricción 'Z'" + +-#: config/powerpcspe/powerpcspe.c:24996 config/rs6000/rs6000.c:22282 ++#: config/powerpcspe/powerpcspe.c:24996 config/rs6000/rs6000.c:22359 + msgid "__float128 and __ibm128 cannot be used in the same expression" + msgstr "__float128 y __ibm128 no pueden utilizarse en la misma expresión" + +-#: config/powerpcspe/powerpcspe.c:25002 config/rs6000/rs6000.c:22288 ++#: config/powerpcspe/powerpcspe.c:25002 config/rs6000/rs6000.c:22365 + msgid "__ibm128 and long double cannot be used in the same expression" + msgstr "__ibm128 y long double no pueden utilizarse en la misma expresión" + +-#: config/powerpcspe/powerpcspe.c:25008 config/rs6000/rs6000.c:22294 ++#: config/powerpcspe/powerpcspe.c:25008 config/rs6000/rs6000.c:22371 + msgid "__float128 and long double cannot be used in the same expression" + msgstr "__float128 y long double no pueden utilizarse en la misma expresión" + +-#: config/powerpcspe/powerpcspe.c:39380 config/rs6000/rs6000.c:36572 ++#: config/powerpcspe/powerpcspe.c:39380 config/rs6000/rs6000.c:36628 + msgid "AltiVec argument passed to unprototyped function" + msgstr "Se pasó un argumento Altivec a una función sin prototipo" + +-#: config/powerpcspe/powerpcspe.c:41186 config/rs6000/rs6000.c:38739 ++#: config/powerpcspe/powerpcspe.c:41186 config/rs6000/rs6000.c:38795 + msgid "Could not generate addis value for fusion" + msgstr "No se ha podido generar valor addis para fusión" + +-#: config/powerpcspe/powerpcspe.c:41258 config/rs6000/rs6000.c:38809 ++#: config/powerpcspe/powerpcspe.c:41258 config/rs6000/rs6000.c:38865 + msgid "Unable to generate load/store offset for fusion" + msgstr "No se puede generar desplazamiento de carga/almacenamiento para fusión" + +-#: config/powerpcspe/powerpcspe.c:41362 config/rs6000/rs6000.c:38908 ++#: config/powerpcspe/powerpcspe.c:41362 config/rs6000/rs6000.c:38964 + msgid "Bad GPR fusion" + msgstr "Fusión GPR errónea" + +-#: config/powerpcspe/powerpcspe.c:41580 config/rs6000/rs6000.c:39126 ++#: config/powerpcspe/powerpcspe.c:41580 config/rs6000/rs6000.c:39182 + msgid "emit_fusion_p9_load, bad reg #1" + msgstr "emit_fusion_p9_load, reg #1 erróneo" + +-#: config/powerpcspe/powerpcspe.c:41626 config/rs6000/rs6000.c:39172 ++#: config/powerpcspe/powerpcspe.c:41626 config/rs6000/rs6000.c:39228 + msgid "emit_fusion_p9_load, bad reg #2" + msgstr "emit_fusion_p9_load, reg #2 erróneo" + +-#: config/powerpcspe/powerpcspe.c:41629 config/rs6000/rs6000.c:39175 ++#: config/powerpcspe/powerpcspe.c:41629 config/rs6000/rs6000.c:39231 + msgid "emit_fusion_p9_load not MEM" + msgstr "emit_fusion_p9_load no MEM" + +-#: config/powerpcspe/powerpcspe.c:41667 config/rs6000/rs6000.c:39213 ++#: config/powerpcspe/powerpcspe.c:41667 config/rs6000/rs6000.c:39269 + msgid "emit_fusion_p9_store, bad reg #1" + msgstr "emit_fusion_p9_store, reg #1 erróneo" + +-#: config/powerpcspe/powerpcspe.c:41713 config/rs6000/rs6000.c:39259 ++#: config/powerpcspe/powerpcspe.c:41713 config/rs6000/rs6000.c:39315 + msgid "emit_fusion_p9_store, bad reg #2" + msgstr "emit_fusion_p9_store, reg #2 erróneo" + +-#: config/powerpcspe/powerpcspe.c:41716 config/rs6000/rs6000.c:39262 ++#: config/powerpcspe/powerpcspe.c:41716 config/rs6000/rs6000.c:39318 + msgid "emit_fusion_p9_store not MEM" + msgstr "emit_fusion_p9_store no MEM" + +@@ -4363,14 +4363,14 @@ + #: c/gimple-parser.c:188 c/gimple-parser.c:197 c/gimple-parser.c:226 + #: c/gimple-parser.c:1375 c/gimple-parser.c:1404 c/gimple-parser.c:1484 + #: c/gimple-parser.c:1511 c/c-parser.c:3204 c/c-parser.c:9967 +-#: c/gimple-parser.c:1278 c/gimple-parser.c:1317 cp/parser.c:27841 +-#: cp/parser.c:28430 ++#: c/gimple-parser.c:1278 c/gimple-parser.c:1317 cp/parser.c:27838 ++#: cp/parser.c:28427 + #, gcc-internal-format + msgid "expected %<;%>" + msgstr "se esperaba %<;%>" + + #: c/c-parser.c:2431 c/c-parser.c:7573 c/c-parser.c:8015 c/c-parser.c:8058 +-#: c/c-parser.c:8196 c/c-parser.c:12669 cp/parser.c:27839 cp/parser.c:28448 ++#: c/c-parser.c:8196 c/c-parser.c:12669 cp/parser.c:27836 cp/parser.c:28445 + #, gcc-internal-format + msgid "expected %<,%>" + msgstr "se esperaba %<,%>" +@@ -4385,7 +4385,7 @@ + #: c/gimple-parser.c:821 c/gimple-parser.c:837 c/gimple-parser.c:853 + #: c/gimple-parser.c:880 c/gimple-parser.c:915 c/gimple-parser.c:1038 + #: c/gimple-parser.c:1209 c/gimple-parser.c:1220 c/gimple-parser.c:1342 +-#: c/gimple-parser.c:1441 cp/parser.c:28478 ++#: c/gimple-parser.c:1441 cp/parser.c:28475 + #, gcc-internal-format + msgid "expected %<)%>" + msgstr "se esperaba %<)%>" +@@ -4393,7 +4393,7 @@ + #: c/c-parser.c:3824 c/c-parser.c:4733 c/c-parser.c:4769 c/c-parser.c:6441 + #: c/c-parser.c:8125 c/c-parser.c:8983 c/c-parser.c:9127 c/c-parser.c:11588 + #: c/c-parser.c:18220 c/c-parser.c:18222 c/gimple-parser.c:1015 +-#: cp/parser.c:28442 ++#: cp/parser.c:28439 + #, gcc-internal-format + msgid "expected %<]%>" + msgstr "se esperaba %<]%>" +@@ -4407,7 +4407,7 @@ + #: c/c-parser.c:17792 c/gimple-parser.c:363 c/gimple-parser.c:811 + #: c/gimple-parser.c:873 c/gimple-parser.c:911 c/gimple-parser.c:1198 + #: c/gimple-parser.c:1339 c/gimple-parser.c:1438 c/c-parser.c:11911 +-#: cp/parser.c:28433 ++#: cp/parser.c:28430 + #, gcc-internal-format + msgid "expected %<(%>" + msgstr "se esperaba %<(%>" +@@ -4414,7 +4414,7 @@ + + #: c/c-parser.c:4903 c/c-parser.c:10310 c/c-parser.c:16212 c/c-parser.c:18449 + #: c/gimple-parser.c:141 c/gimple-parser.c:1444 c/c-parser.c:3018 +-#: c/c-parser.c:3225 c/c-parser.c:9862 cp/parser.c:18155 cp/parser.c:28439 ++#: c/c-parser.c:3225 c/c-parser.c:9862 cp/parser.c:18152 cp/parser.c:28436 + #, gcc-internal-format + msgid "expected %<{%>" + msgstr "se esperaba %<{%>" +@@ -4424,13 +4424,13 @@ + #: c/c-parser.c:12351 c/c-parser.c:12493 c/c-parser.c:12864 c/c-parser.c:12957 + #: c/c-parser.c:13566 c/c-parser.c:17636 c/c-parser.c:17695 + #: c/gimple-parser.c:431 c/gimple-parser.c:1492 c/gimple-parser.c:1519 +-#: c/c-parser.c:6347 c/c-parser.c:12006 cp/parser.c:28472 cp/parser.c:29597 +-#: cp/parser.c:32279 ++#: c/c-parser.c:6347 c/c-parser.c:12006 cp/parser.c:28469 cp/parser.c:29594 ++#: cp/parser.c:32276 + #, gcc-internal-format + msgid "expected %<:%>" + msgstr "se esperaba %<:%>" + +-#: c/c-parser.c:5974 cp/parser.c:28365 ++#: c/c-parser.c:5974 cp/parser.c:28362 + #, gcc-internal-format + msgid "expected %" + msgstr "se esperaba %" +@@ -4439,18 +4439,18 @@ + msgid "expected %<.%>" + msgstr "se esperaba %<.%>" + +-#: c/c-parser.c:9533 c/c-parser.c:9565 c/c-parser.c:9805 cp/parser.c:30172 +-#: cp/parser.c:30246 ++#: c/c-parser.c:9533 c/c-parser.c:9565 c/c-parser.c:9805 cp/parser.c:30169 ++#: cp/parser.c:30243 + #, gcc-internal-format + msgid "expected %<@end%>" + msgstr "se esperaba %<@end%>" + +-#: c/c-parser.c:10223 c/gimple-parser.c:806 cp/parser.c:28457 ++#: c/c-parser.c:10223 c/gimple-parser.c:806 cp/parser.c:28454 + #, gcc-internal-format + msgid "expected %<>%>" + msgstr "se esperaba %<>%>" + +-#: c/c-parser.c:13049 c/c-parser.c:13787 cp/parser.c:28481 ++#: c/c-parser.c:13049 c/c-parser.c:13787 cp/parser.c:28478 + #, gcc-internal-format + msgid "expected %<,%> or %<)%>" + msgstr "se esperaba %<,%> o %<)%>" +@@ -4458,32 +4458,32 @@ + #. All following cases are statements with LHS. + #: c/c-parser.c:15190 c/c-parser.c:15234 c/c-parser.c:15466 c/c-parser.c:15701 + #: c/c-parser.c:17833 c/gimple-parser.c:286 c/c-parser.c:4792 +-#: cp/parser.c:28460 ++#: cp/parser.c:28457 + #, gcc-internal-format + msgid "expected %<=%>" + msgstr "se esperaba %<=%>" + +-#: c/c-parser.c:15482 c/gimple-parser.c:1553 cp/parser.c:28436 +-#: cp/parser.c:30389 ++#: c/c-parser.c:15482 c/gimple-parser.c:1553 cp/parser.c:28433 ++#: cp/parser.c:30386 + #, gcc-internal-format + msgid "expected %<}%>" + msgstr "se esperaba %<}%>" + +-#: c/c-parser.c:16255 c/c-parser.c:16245 cp/parser.c:35674 ++#: c/c-parser.c:16255 c/c-parser.c:16245 cp/parser.c:35671 + #, gcc-internal-format + msgid "expected %<#pragma omp section%> or %<}%>" + msgstr "se esperaba %<#pragma omp section%> o %<}%>" + +-#: c/c-parser.c:18208 c/c-parser.c:11523 cp/parser.c:28445 cp/parser.c:31535 ++#: c/c-parser.c:18208 c/c-parser.c:11523 cp/parser.c:28442 cp/parser.c:31532 + #, gcc-internal-format + msgid "expected %<[%>" + msgstr "se esperaba %<[%>" + +-#: c/c-typeck.c:7847 ++#: c/c-typeck.c:7852 + msgid "(anonymous)" + msgstr "(anónimo)" + +-#: c/gimple-parser.c:795 cp/parser.c:15791 cp/parser.c:28454 ++#: c/gimple-parser.c:795 cp/parser.c:15788 cp/parser.c:28451 + #, gcc-internal-format + msgid "expected %<<%>" + msgstr "se esperaba %<<%>" +@@ -4739,11 +4739,11 @@ + msgid "%r%s:%d:%R in % expansion of %qs" + msgstr "%r%s:%d:%R en la expansión de la % de %qs" + +-#: cp/pt.c:1949 cp/semantics.c:5268 ++#: cp/pt.c:1949 cp/semantics.c:5271 + msgid "candidates are:" + msgstr "los candidatos son:" + +-#: cp/pt.c:1951 cp/pt.c:22975 ++#: cp/pt.c:1951 cp/pt.c:23053 + msgid "candidate is:" + msgid_plural "candidates are:" + msgstr[0] "el candidato es:" +@@ -4789,27 +4789,27 @@ + msgid "source type is not polymorphic" + msgstr "el tipo fuente no es polimórfico" + +-#: cp/typeck.c:6083 c/c-typeck.c:4261 ++#: cp/typeck.c:6083 c/c-typeck.c:4266 + #, gcc-internal-format + msgid "wrong type argument to unary minus" + msgstr "argumento de tipo erróneo para el decremento unario" + +-#: cp/typeck.c:6084 c/c-typeck.c:4248 ++#: cp/typeck.c:6084 c/c-typeck.c:4253 + #, gcc-internal-format + msgid "wrong type argument to unary plus" + msgstr "argumento de tipo erróneo para el incremento unario" + +-#: cp/typeck.c:6111 c/c-typeck.c:4302 ++#: cp/typeck.c:6111 c/c-typeck.c:4307 + #, gcc-internal-format + msgid "wrong type argument to bit-complement" + msgstr "argumento de tipo erróneo para complemento de bits" + +-#: cp/typeck.c:6128 c/c-typeck.c:4310 ++#: cp/typeck.c:6128 c/c-typeck.c:4315 + #, gcc-internal-format + msgid "wrong type argument to abs" + msgstr "argumento de tipo erróneo para abs" + +-#: cp/typeck.c:6140 c/c-typeck.c:4322 ++#: cp/typeck.c:6140 c/c-typeck.c:4327 + #, gcc-internal-format + msgid "wrong type argument to conjugation" + msgstr "argumento de tipo erróneo para la conjugación" +@@ -5049,67 +5049,67 @@ + msgid "Expected attribute bit name" + msgstr "Se esperaba un nombre de atributo de bit" + +-#: fortran/module.c:3223 ++#: fortran/module.c:3225 + msgid "Expected integer string" + msgstr "Se esperaba una cadena entera" + +-#: fortran/module.c:3227 ++#: fortran/module.c:3229 + msgid "Error converting integer" + msgstr "Error al convertir el entero" + +-#: fortran/module.c:3249 ++#: fortran/module.c:3251 + msgid "Expected real string" + msgstr "Se esperaba una cadena real" + +-#: fortran/module.c:3474 ++#: fortran/module.c:3476 + msgid "Expected expression type" + msgstr "Se esperaba un tipo de expresión" + +-#: fortran/module.c:3554 ++#: fortran/module.c:3556 + msgid "Bad operator" + msgstr "Operador erróneo" + +-#: fortran/module.c:3671 ++#: fortran/module.c:3673 + msgid "Bad type in constant expression" + msgstr "Tipo erróneo en la expresión constante" + +-#: fortran/module.c:7038 ++#: fortran/module.c:7040 + msgid "Unexpected end of module" + msgstr "Fin de módulo inesperado" + +-#: fortran/parse.c:1757 ++#: fortran/parse.c:1761 + msgid "arithmetic IF" + msgstr "IF aritmético" + +-#: fortran/parse.c:1766 ++#: fortran/parse.c:1770 + msgid "attribute declaration" + msgstr "declaración de atributo" + +-#: fortran/parse.c:1802 ++#: fortran/parse.c:1806 + msgid "data declaration" + msgstr "declaración de datos" + +-#: fortran/parse.c:1820 ++#: fortran/parse.c:1824 + msgid "derived type declaration" + msgstr "declaración de tipo derivado" + +-#: fortran/parse.c:1947 ++#: fortran/parse.c:1951 + msgid "block IF" + msgstr "bloque IF" + +-#: fortran/parse.c:1956 ++#: fortran/parse.c:1960 + msgid "implied END DO" + msgstr "END DO implícito" + +-#: fortran/parse.c:2050 fortran/resolve.c:11199 ++#: fortran/parse.c:2054 fortran/resolve.c:11219 + msgid "assignment" + msgstr "asignación" + +-#: fortran/parse.c:2053 fortran/resolve.c:11250 fortran/resolve.c:11253 ++#: fortran/parse.c:2057 fortran/resolve.c:11270 fortran/resolve.c:11273 + msgid "pointer assignment" + msgstr "asignación de puntero" + +-#: fortran/parse.c:2071 ++#: fortran/parse.c:2075 + msgid "simple IF" + msgstr "IF simple" + +@@ -5201,106 +5201,112 @@ + msgid "Operand of unary numeric operator %%<%s%%> at %%L is %s" + msgstr "El operando del operador numérico unitario %%<%s%%> en %%L es %s" + +-#: fortran/resolve.c:3878 ++#: fortran/resolve.c:3879 ++#, fuzzy, c-format ++#| msgid "Operands of binary numeric operator %%<%s%%> at %%L are %s/%s" ++msgid "Unexpected derived-type entities in binary intrinsic numeric operator %%<%s%%> at %%L" ++msgstr "Los operandos del operador numérico binario %%<%s%%> en %%L son %s/%s" ++ ++#: fortran/resolve.c:3884 + #, c-format + msgid "Operands of binary numeric operator %%<%s%%> at %%L are %s/%s" + msgstr "Los operandos del operador numérico binario %%<%s%%> en %%L son %s/%s" + +-#: fortran/resolve.c:3893 ++#: fortran/resolve.c:3899 + #, c-format + msgid "Operands of string concatenation operator at %%L are %s/%s" + msgstr "Los operandos del operador de concatenación de cadenas en %%L son %s/%s" + +-#: fortran/resolve.c:3926 ++#: fortran/resolve.c:3932 + #, c-format + msgid "Operands of logical operator %%<%s%%> at %%L are %s/%s" + msgstr "Los operandos del operador lógico %%<%s%%> en %%L son %s/%s" + +-#: fortran/resolve.c:3949 ++#: fortran/resolve.c:3955 + #, c-format + msgid "Operand of .not. operator at %%L is %s" + msgstr "El operando del operador .not. en %%L es %s" + +-#: fortran/resolve.c:3963 ++#: fortran/resolve.c:3969 + msgid "COMPLEX quantities cannot be compared at %L" + msgstr "Las cantidades COMPLEX no se pueden comparar en %L" + +-#: fortran/resolve.c:4015 ++#: fortran/resolve.c:4021 + #, c-format + msgid "Logicals at %%L must be compared with %s instead of %s" + msgstr "Los lógicos en %%L se deben comparar con %s en lugar de %s" + +-#: fortran/resolve.c:4021 ++#: fortran/resolve.c:4027 + #, c-format + msgid "Operands of comparison operator %%<%s%%> at %%L are %s/%s" + msgstr "Los operandos del operador de comparación %%<%s%%> en %%L son %s/%s" + +-#: fortran/resolve.c:4034 ++#: fortran/resolve.c:4040 + #, c-format + msgid "Unknown operator %%<%s%%> at %%L; did you mean '%s'?" + msgstr "Operador %%<%s%%> desconocido en %%L; ¿quiso decir '%s'?" + +-#: fortran/resolve.c:4037 ++#: fortran/resolve.c:4043 + #, c-format + msgid "Unknown operator %%<%s%%> at %%L" + msgstr "Operador %%<%s%%> desconocido en %%L" + +-#: fortran/resolve.c:4040 ++#: fortran/resolve.c:4046 + #, c-format + msgid "Operand of user operator %%<%s%%> at %%L is %s" + msgstr "El operando del operador de usuario %%<%s%%> en %%L es %s" + +-#: fortran/resolve.c:4044 ++#: fortran/resolve.c:4050 + #, c-format + msgid "Operands of user operator %%<%s%%> at %%L are %s/%s" + msgstr "Los operandos del operador de usuario %%<%s%%> en %%L son %s/%s" + +-#: fortran/resolve.c:4132 ++#: fortran/resolve.c:4138 + #, c-format + msgid "Inconsistent ranks for operator at %%L and %%L" + msgstr "Rangos inconsistentes para el operador en %%L y %%L" + +-#: fortran/resolve.c:6849 ++#: fortran/resolve.c:6855 + msgid "Loop variable" + msgstr "Variable de ciclo" + +-#: fortran/resolve.c:6853 ++#: fortran/resolve.c:6859 + msgid "iterator variable" + msgstr "variable de iterador" + +-#: fortran/resolve.c:6857 ++#: fortran/resolve.c:6863 + msgid "Start expression in DO loop" + msgstr "Expresión de inicio en el bucle DO" + +-#: fortran/resolve.c:6861 ++#: fortran/resolve.c:6867 + msgid "End expression in DO loop" + msgstr "Expresión de fin en el bucle DO" + +-#: fortran/resolve.c:6865 ++#: fortran/resolve.c:6871 + msgid "Step expression in DO loop" + msgstr "Expresión de paso en el bucle DO" + +-#: fortran/resolve.c:7150 fortran/resolve.c:7153 ++#: fortran/resolve.c:7156 fortran/resolve.c:7159 + msgid "DEALLOCATE object" + msgstr "objeto DEALLOCATE" + +-#: fortran/resolve.c:7525 fortran/resolve.c:7528 ++#: fortran/resolve.c:7531 fortran/resolve.c:7534 + msgid "ALLOCATE object" + msgstr "objeto ALLOCATE" + +-#: fortran/resolve.c:7720 fortran/resolve.c:9417 ++#: fortran/resolve.c:7726 fortran/resolve.c:9428 + msgid "STAT variable" + msgstr "variable STAT" + +-#: fortran/resolve.c:7764 fortran/resolve.c:9429 ++#: fortran/resolve.c:7770 fortran/resolve.c:9440 + msgid "ERRMSG variable" + msgstr "variable ERRMSG" + +-#: fortran/resolve.c:9219 ++#: fortran/resolve.c:9230 + msgid "item in READ" + msgstr "elemento en READ" + +-#: fortran/resolve.c:9441 ++#: fortran/resolve.c:9452 + msgid "ACQUIRED_LOCK variable" + msgstr "variable ACQUIRED_LOCK" + +@@ -5333,7 +5339,7 @@ + msgid "Target of rank remapping is too small (%ld < %ld)" + msgstr "El objetivo del remapeo de rango es demasiado pequeño (%ld < %ld)" + +-#: fortran/trans-expr.c:10154 ++#: fortran/trans-expr.c:10157 + msgid "Assignment of scalar to unallocated array" + msgstr "Asignación de escalar a un array sin espacio asignado" + +@@ -5342,12 +5348,12 @@ + msgid "Unequal character lengths (%ld/%ld) in %s" + msgstr "Longitudes de caracteres desiguales (%ld/%ld) en %s" + +-#: fortran/trans-intrinsic.c:8088 ++#: fortran/trans-intrinsic.c:8090 + #, c-format + msgid "Argument NCOPIES of REPEAT intrinsic is negative (its value is %ld)" + msgstr "El argumento NCOPIES del intrínseco REPEAT es negativo (su valor es %ld)" + +-#: fortran/trans-intrinsic.c:8120 ++#: fortran/trans-intrinsic.c:8122 + msgid "Argument NCOPIES of REPEAT intrinsic is too large" + msgstr "El argumento NCOPIES del intrínseco REPEAT es demasiado grande" + +@@ -5368,15 +5374,15 @@ + msgid "Invalid image number %d in SYNC IMAGES" + msgstr "Número de imagen %d no válido en SYNC IMAGES" + +-#: fortran/trans-stmt.c:2180 ++#: fortran/trans-stmt.c:2177 + msgid "Loop iterates infinitely" + msgstr "" + +-#: fortran/trans-stmt.c:2200 fortran/trans-stmt.c:2456 ++#: fortran/trans-stmt.c:2197 fortran/trans-stmt.c:2453 + msgid "Loop variable has been modified" + msgstr "Se modificó la variable de ciclo" + +-#: fortran/trans-stmt.c:2309 ++#: fortran/trans-stmt.c:2306 + msgid "DO step value is zero" + msgstr "El valor de paso de DO es cero" + +@@ -5949,10 +5955,10 @@ + msgid "Allow dollar signs in entity names." + msgstr "Permite signos de dólar en nombres de entidades." + +-#: fortran/lang.opt:485 config/alpha/alpha.opt:31 common.opt:783 +-#: common.opt:985 common.opt:989 common.opt:993 common.opt:997 common.opt:1532 +-#: common.opt:1588 common.opt:1712 common.opt:1716 common.opt:1946 +-#: common.opt:2116 common.opt:2792 ++#: fortran/lang.opt:485 config/alpha/alpha.opt:31 common.opt:649 ++#: common.opt:783 common.opt:989 common.opt:993 common.opt:997 common.opt:1001 ++#: common.opt:1536 common.opt:1592 common.opt:1716 common.opt:1720 ++#: common.opt:1950 common.opt:2120 common.opt:2796 + msgid "Does nothing. Preserved for backward compatibility." + msgstr "No hace nada. Preservado por compatibilidad hacia atrás." + +@@ -6171,12 +6177,12 @@ + msgstr "Agrega subrayado a los nombres visibles externamente." + + #: fortran/lang.opt:751 c-family/c.opt:1356 c-family/c.opt:1384 +-#: c-family/c.opt:1634 config/pa/pa.opt:42 config/pa/pa.opt:70 common.opt:1154 +-#: common.opt:1333 common.opt:1408 common.opt:1676 common.opt:1799 +-#: common.opt:2169 common.opt:2205 common.opt:2298 common.opt:2302 +-#: common.opt:2407 common.opt:2498 common.opt:2506 common.opt:2514 +-#: common.opt:2522 common.opt:2623 common.opt:2675 common.opt:2755 +-#: common.opt:2893 common.opt:2897 common.opt:2901 common.opt:2905 ++#: c-family/c.opt:1634 config/pa/pa.opt:42 config/pa/pa.opt:70 common.opt:1158 ++#: common.opt:1337 common.opt:1412 common.opt:1680 common.opt:1803 ++#: common.opt:2173 common.opt:2209 common.opt:2302 common.opt:2306 ++#: common.opt:2411 common.opt:2502 common.opt:2510 common.opt:2518 ++#: common.opt:2526 common.opt:2627 common.opt:2679 common.opt:2759 ++#: common.opt:2897 common.opt:2901 common.opt:2905 common.opt:2909 + msgid "Does nothing. Preserved for backward compatibility." + msgstr "No hace nada. Se preserva por compatibilidad hacia atrás." + +@@ -6226,7 +6232,7 @@ + #: c-family/c.opt:70 c-family/c.opt:73 c-family/c.opt:76 c-family/c.opt:79 + #: c-family/c.opt:175 c-family/c.opt:178 c-family/c.opt:220 c-family/c.opt:224 + #: c-family/c.opt:236 c-family/c.opt:1855 c-family/c.opt:1863 brig/lang.opt:39 +-#: config/darwin.opt:56 common.opt:338 common.opt:341 common.opt:3046 ++#: config/darwin.opt:56 common.opt:338 common.opt:341 common.opt:3050 + #, c-format + msgid "missing filename after %qs" + msgstr "falta un nombre de fichero después de %qs" +@@ -6802,7 +6808,7 @@ + #: c-family/c.opt:1525 c-family/c.opt:1528 c-family/c.opt:1569 + #: c-family/c.opt:1704 c-family/c.opt:1731 c-family/c.opt:1771 + #: c-family/c.opt:1802 c-family/c.opt:1806 c-family/c.opt:1822 +-#: config/ia64/ia64.opt:167 config/ia64/ia64.opt:170 c-family/c-opts.c:434 ++#: config/ia64/ia64.opt:167 config/ia64/ia64.opt:170 c-family/c-opts.c:432 + #, gcc-internal-format + msgid "switch %qs is no longer supported" + msgstr "la opción %qs ya no se admite" +@@ -13868,10 +13874,6 @@ + msgid "Warn if dereferencing a NULL pointer may lead to erroneous or undefined behavior." + msgstr "Avisa si la desreferencia de un puntero NULL puede llevar a un comportamiento erróneo o indefinido." + +-#: common.opt:649 +-msgid "Warn if the loop cannot be optimized due to nontrivial assumptions." +-msgstr "Avisa si el bucle no se puede optimizar debido a presunciones no triviales." +- + #: common.opt:656 + msgid "Warn about some C++ One Definition Rule violations during link time optimization." + msgstr "Advierto de algunas violaciones de la regla de una definición de C++ durante la optimización de tiempo de enlazado." +@@ -14040,1678 +14042,1678 @@ + msgid "-dumpdir \tSet the directory name to be used for dumps." + msgstr "-dumpdir \tEstablece el nombre del directorio a usar para los volcados." + +-#: common.opt:946 ++#: common.opt:950 + msgid "The version of the C++ ABI in use." + msgstr "La versión de la ABI de C++ que se está usando." + +-#: common.opt:950 ++#: common.opt:954 + msgid "Aggressively optimize loops using language constraints." + msgstr "Optimiza los bucles de forma agresiva empleando restricciones del lenguaje." + +-#: common.opt:954 ++#: common.opt:958 + msgid "Align the start of functions." + msgstr "Alinea el inicio de las funciones." + +-#: common.opt:964 ++#: common.opt:968 + msgid "Align labels which are only reached by jumping." + msgstr "Alinea las etiquetas que solamente se alcanzan saltando." + +-#: common.opt:971 ++#: common.opt:975 + msgid "Align all labels." + msgstr "Alinea todas las etiquetas." + +-#: common.opt:978 ++#: common.opt:982 + msgid "Align the start of loops." + msgstr "Alinea el inicio de los bucles." + +-#: common.opt:1001 ++#: common.opt:1005 + msgid "Select what to sanitize." + msgstr "Selecciona qué sanear." + +-#: common.opt:1005 ++#: common.opt:1009 + msgid "Select type of coverage sanitization." + msgstr "Selecciona el tipo de saneamiento de cobertura." + +-#: common.opt:1009 ++#: common.opt:1013 + msgid "-fasan-shadow-offset=\tUse custom shadow memory offset." + msgstr "" + +-#: common.opt:1013 ++#: common.opt:1017 + msgid "-fsanitize-sections=\tSanitize global variables in user-defined sections." + msgstr "-fsanitize-sections=\tSanea las variables globales en las secciones definidas por el usuario." + +-#: common.opt:1018 ++#: common.opt:1022 + msgid "After diagnosing undefined behavior attempt to continue execution." + msgstr "Tras el diagnóstico de comportamiento indefinido intenta continuar la ejecución." + +-#: common.opt:1022 ++#: common.opt:1026 + msgid "This switch is deprecated; use -fsanitize-recover= instead." + msgstr "Esta opción es obsoleta; utilice en su lugar -fsanitize-recover=." + +-#: common.opt:1029 ++#: common.opt:1033 + msgid "Use trap instead of a library function for undefined behavior sanitization." + msgstr "Usa trap en lugar de una función de biblioteca para sanear el comportamiento indefinido." + +-#: common.opt:1033 ++#: common.opt:1037 + msgid "Generate unwind tables that are exact at each instruction boundary." + msgstr "Genera tablas de desenredo que sean exactas en cada límite de instrucción." + +-#: common.opt:1037 ++#: common.opt:1041 + msgid "Generate auto-inc/dec instructions." + msgstr "Genera instrucciones auto-inc/dec." + +-#: common.opt:1041 ++#: common.opt:1045 + msgid "Use sample profile information for call graph node weights. The default profile file is fbdata.afdo in 'pwd'." + msgstr "Usa información de perfil de muestra para los pesos de los nodos de los grafos de llamadas. El fichero de perfil predeterminado es fbdata.afdo en 'pwd'." + +-#: common.opt:1046 ++#: common.opt:1050 + msgid "Use sample profile information for call graph node weights. The profile file is specified in the argument." + msgstr "Usa la información de perfil de muestra para los pesos de los nodos de los grafos de llamadas. El fichero de perfil se especifica en el argumento." + +-#: common.opt:1055 ++#: common.opt:1059 + msgid "Generate code to check bounds before indexing arrays." + msgstr "Genera código para revisar los límites antes de indexar matrices." + +-#: common.opt:1059 ++#: common.opt:1063 + msgid "Replace add, compare, branch with branch on count register." + msgstr "Reemplaza add, compare, branch con branch en la cuenta de registros." + +-#: common.opt:1063 ++#: common.opt:1067 + msgid "Use profiling information for branch probabilities." + msgstr "Usa la información de análisis de perfil para las probabilidades de ramificación." + +-#: common.opt:1067 ++#: common.opt:1071 + msgid "Perform branch target load optimization before prologue / epilogue threading." + msgstr "Realiza optimización de carga de ramificación objetivo antes del hilo prólogo / epílogo." + +-#: common.opt:1071 ++#: common.opt:1075 + msgid "Perform branch target load optimization after prologue / epilogue threading." + msgstr "Realiza optimización de carga de ramificación objetivo después del hilo prólogo / epílogo." + +-#: common.opt:1075 ++#: common.opt:1079 + msgid "Restrict target load migration not to re-use registers in any basic block." + msgstr "Restringe que la migración de carga de objetivos no reuse registros en ningún bloque básico." + +-#: common.opt:1079 ++#: common.opt:1083 + msgid "-fcall-saved-\tMark as being preserved across functions." + msgstr "-fcall-saved-\tMarca el como preservado entre funciones." + +-#: common.opt:1083 ++#: common.opt:1087 + msgid "-fcall-used-\tMark as being corrupted by function calls." + msgstr "-fcall-used-\tMarca el como corrupto por llamadas de función." + +-#: common.opt:1090 ++#: common.opt:1094 + msgid "Save registers around function calls." + msgstr "Guarda registros alrededor de llamadas de función." + +-#: common.opt:1094 ++#: common.opt:1098 + msgid "This switch is deprecated; do not use." + msgstr "Esta opción es obsoleta; no lo utilice." + +-#: common.opt:1098 ++#: common.opt:1102 + msgid "Check the return value of new in C++." + msgstr "Revisa el valor de devolución de new en C++." + +-#: common.opt:1102 common.opt:1106 ++#: common.opt:1106 common.opt:1110 + msgid "Perform internal consistency checkings." + msgstr "Realiza comprobaciones de consistencia internas." + +-#: common.opt:1110 ++#: common.opt:1114 + msgid "Enable code hoisting." + msgstr "Activa la elevación de código." + +-#: common.opt:1114 ++#: common.opt:1118 + msgid "Looks for opportunities to reduce stack adjustments and stack references." + msgstr "Busca oportunidades para reducir los ajustes de pila y las referencias de pila." + +-#: common.opt:1118 ++#: common.opt:1122 + msgid "Do not put uninitialized globals in the common section." + msgstr "No pone globales sin inicializar en la sección común." + +-#: common.opt:1126 ++#: common.opt:1130 + msgid "-fcompare-debug[=]\tCompile with and without e.g. -gtoggle, and compare the final-insns dump." + msgstr "-fcompare-debug[=]\tCompila con y sin p.e. -gtoggle, y compara el volcado de insns finales." + +-#: common.opt:1130 ++#: common.opt:1134 + msgid "Run only the second compilation of -fcompare-debug." + msgstr "Ejecuta sólo la segunda compilación de -fcompare-debug." + +-#: common.opt:1134 ++#: common.opt:1138 + msgid "Perform comparison elimination after register allocation has finished." + msgstr "Realiza la eliminación de comparaciones después de terminar el alojamiento de registros." + +-#: common.opt:1138 ++#: common.opt:1142 + msgid "Do not perform optimizations increasing noticeably stack usage." + msgstr "No realizar optimizaciones que incrementan notablemente el uso de la pila." + +-#: common.opt:1142 ++#: common.opt:1146 + msgid "Perform a register copy-propagation optimization pass." + msgstr "Realiza el paso de optimización de copia-propagación de registros." + +-#: common.opt:1146 ++#: common.opt:1150 + msgid "Perform cross-jumping optimization." + msgstr "Realiza optimizaciones de saltos cruzados." + +-#: common.opt:1150 ++#: common.opt:1154 + msgid "When running CSE, follow jumps to their targets." + msgstr "Cuando se esté ejecutando CSE, sigue los saltos a sus objetivos." + +-#: common.opt:1158 ++#: common.opt:1162 + msgid "Omit range reduction step when performing complex division." + msgstr "Omite el paso de reducción de rango al realizar divisiones complejas." + +-#: common.opt:1162 ++#: common.opt:1166 + msgid "Complex multiplication and division follow Fortran rules." + msgstr "La multiplicación y la división complejas siguen las reglas Fortran." + +-#: common.opt:1166 ++#: common.opt:1170 + msgid "Place data items into their own section." + msgstr "Coloca los elementos de datos en su propia sección." + +-#: common.opt:1170 ++#: common.opt:1174 + msgid "List all available debugging counters with their limits and counts." + msgstr "Enumera todos los contadores de depuración disponibles con sus límites y cuentas." + +-#: common.opt:1174 ++#: common.opt:1178 + msgid "-fdbg-cnt=:[,:,...]\tSet the debug counter limit." + msgstr "-fdbg-cnt=:[,:,...]\tEstablece el límite del contador de depuración." + +-#: common.opt:1178 ++#: common.opt:1182 + msgid "-fdebug-prefix-map== Map one directory name to another in debug information." + msgstr "-fdebug-prefix-map== Asocia un nombre de directorio a otro en la información de depuración." + +-#: common.opt:1182 ++#: common.opt:1186 + msgid "-ffile-prefix-map== Map one directory name to another in compilation result." + msgstr "-ffile-prefix-map== Asocia un nombre de directorio a otro en la información de depuración." + +-#: common.opt:1186 ++#: common.opt:1190 + msgid "Output .debug_types section when using DWARF v4 debuginfo." + msgstr "Muestra la sección .debug_types al usar la información de depuración DWARF v4." + +-#: common.opt:1192 ++#: common.opt:1196 + msgid "Defer popping functions args from stack until later." + msgstr "Posterga la extracción de argumentos de funciones de la pila hasta más tarde." + +-#: common.opt:1196 ++#: common.opt:1200 + msgid "Attempt to fill delay slots of branch instructions." + msgstr "Intenta rellenar las ranuras de retraso de las instrucciones de ramificación." + +-#: common.opt:1200 ++#: common.opt:1204 + msgid "Delete dead instructions that may throw exceptions." + msgstr "Borra instrucciones muertas que pueden lanzar excepciones." + +-#: common.opt:1204 ++#: common.opt:1208 + msgid "Delete useless null pointer checks." + msgstr "Borra las revisiones de punteros nulos sin uso." + +-#: common.opt:1208 ++#: common.opt:1212 + msgid "Stream extra data to support more aggressive devirtualization in LTO local transformation mode." + msgstr "Hace fluir datos extra para permitir desvirtualización más agresiva en el modo de transformación local LTO." + +-#: common.opt:1212 ++#: common.opt:1216 + msgid "Perform speculative devirtualization." + msgstr "Realiza desvirtualización especulativa." + +-#: common.opt:1216 ++#: common.opt:1220 + msgid "Try to convert virtual calls to direct ones." + msgstr "Trata de convertir las llamadas virtuales a llamadas directas." + +-#: common.opt:1220 ++#: common.opt:1224 + msgid "-fdiagnostics-show-location=[once|every-line]\tHow often to emit source location at the beginning of line-wrapped diagnostics." + msgstr "-fdiagnostics-show-location=[once|every-line]\tIndica la frecuencia con que se debe emitir la ubicación del código al inicio de los diagnósticos con corte de línea." + +-#: common.opt:1237 ++#: common.opt:1241 + msgid "Show the source line with a caret indicating the column." + msgstr "Muestra la línea de código con un signo de intercalación para indicar la columna." + +-#: common.opt:1245 ++#: common.opt:1249 + msgid "-fdiagnostics-color=[never|always|auto]\tColorize diagnostics." + msgstr "-fdiagnostics-color=[never|always|auto]\tColorea los diagnósticos." + +-#: common.opt:1265 ++#: common.opt:1269 + msgid "Print fix-it hints in machine-readable form." + msgstr "Imprime indicaciones fix-it (arreglar) en formato legible por una máquina." + +-#: common.opt:1269 ++#: common.opt:1273 + msgid "Print fix-it hints to stderr in unified diff format." + msgstr "Imprime indicaciones fix-it (arreglar) en stder en formato diff unificado." + +-#: common.opt:1273 ++#: common.opt:1277 + msgid "Amend appropriate diagnostic messages with the command line option that controls them." + msgstr "Asocia adecuadamente los mensajes de diagnóstico con la opción de línea de orden que los controla." + +-#: common.opt:1277 ++#: common.opt:1281 + msgid "-fdisable-[tree|rtl|ipa]-=range1+range2 disables an optimization pass." + msgstr "-fdisable-[tree|rtl|ipa]-=rango1+rango2 desactiva un paso de optimización." + +-#: common.opt:1281 ++#: common.opt:1285 + msgid "-fenable-[tree|rtl|ipa]-=range1+range2 enables an optimization pass." + msgstr "-fenable-[tree|rtl|ipa]-=rango1+rango2 activa un paso de optimización." + +-#: common.opt:1285 ++#: common.opt:1289 + msgid "-fdump-\tDump various compiler internals to a file." + msgstr "-fdump-\tVuelca varios internos del compilador a un fichero." + +-#: common.opt:1292 ++#: common.opt:1296 + msgid "-fdump-final-insns=filename\tDump to filename the insns at the end of translation." + msgstr "-fdump-final-insns=fichero\tVuelca al fichero las insns al final de la traducción." + +-#: common.opt:1296 ++#: common.opt:1300 + msgid "-fdump-go-spec=filename\tWrite all declarations to file as Go code." + msgstr "-fdump-go-spec=fichero\tEscribe todas las declaraciones al fichero como código Go." + +-#: common.opt:1300 ++#: common.opt:1304 + msgid "Suppress output of addresses in debugging dumps." + msgstr "Suprime la salida de direcciones en los volcados de depuración." + +-#: common.opt:1304 ++#: common.opt:1308 + msgid "Collect and dump debug information into temporary file if ICE in C/C++ compiler occurred." + msgstr "Recoge y vuelca información de depuración en un fichero temporal si ha ocurrido ICE en el compilador de C/C++." + +-#: common.opt:1309 ++#: common.opt:1313 + msgid "Dump detailed information on GCC's internal representation of source code locations." + msgstr "Vuelca información detallada de las ubicaciones de código fuente en la representación interna de GCC." + +-#: common.opt:1313 ++#: common.opt:1317 + msgid "Dump optimization passes." + msgstr "Vuelca pasadas de optimización." + +-#: common.opt:1317 ++#: common.opt:1321 + msgid "Suppress output of instruction numbers, line number notes and addresses in debugging dumps." + msgstr "Suprime la salida de números de instrucción, notas de números de linea y direcciones en los volcados de depuración." + +-#: common.opt:1321 ++#: common.opt:1325 + msgid "Suppress output of previous and next insn numbers in debugging dumps." + msgstr "Suprime la salida de los números insn previos y siguientes en los volcados de depuración." + +-#: common.opt:1325 ++#: common.opt:1329 + msgid "Enable CFI tables via GAS assembler directives." + msgstr "Activa las tablas CFI a través de directivas del ensamblador GAS." + +-#: common.opt:1329 ++#: common.opt:1333 + msgid "Perform early inlining." + msgstr "Realiza la inclusión en línea temprana." + +-#: common.opt:1337 ++#: common.opt:1341 + msgid "Perform interprocedural reduction of aggregates." + msgstr "Realiza la reducción interprocedural de los agregados." + +-#: common.opt:1341 ++#: common.opt:1345 + msgid "Perform unused symbol elimination in debug info." + msgstr "Realiza la eliminación de símbolos sin uso en la información de depuración." + +-#: common.opt:1345 ++#: common.opt:1349 + msgid "Perform unused type elimination in debug info." + msgstr "Realiza la eliminación de tipos sin uso en la información de depuración." + +-#: common.opt:1349 ++#: common.opt:1353 + msgid "Do not suppress C++ class debug information." + msgstr "No suprime la información de depuración de clases C++." + +-#: common.opt:1353 ++#: common.opt:1357 + msgid "Enable exception handling." + msgstr "Activa el manejo de excepciones." + +-#: common.opt:1357 ++#: common.opt:1361 + msgid "Perform a number of minor, expensive optimizations." + msgstr "Realiza un número de optimizaciones menores y costosas." + +-#: common.opt:1361 ++#: common.opt:1365 + msgid "-fexcess-precision=[fast|standard]\tSpecify handling of excess floating-point precision." + msgstr "-fexcess-precision=[fast|standard]\tEspecifica el manejo del exceso de precisión de coma flotante." + +-#: common.opt:1364 ++#: common.opt:1368 + #, c-format + msgid "unknown excess precision style %qs" + msgstr "estilo de exceso de precisión %qs desconocido" + +-#: common.opt:1376 ++#: common.opt:1380 + 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]\tEspecifica qué valores de FLT_EVAL_METHOD están permitidos." + +-#: common.opt:1379 ++#: common.opt:1383 + #, c-format + msgid "unknown specification for the set of FLT_EVAL_METHOD values to permit %qs" + msgstr "especificación desconocida para el conjunto de valores de FLT_EVAL_METHOD a permitir %qs" + +-#: common.opt:1392 ++#: common.opt:1396 + msgid "Output lto objects containing both the intermediate language and binary output." + msgstr "Muestra los objetos lto que contienen tanto el lenguaje intermedio como la salida binaria." + +-#: common.opt:1396 ++#: common.opt:1400 + msgid "Assume no NaNs or infinities are generated." + msgstr "Asume que no se generan NaNs o infinitos." + +-#: common.opt:1400 ++#: common.opt:1404 + msgid "-ffixed-\tMark as being unavailable to the compiler." + msgstr "-ffixed-\tMarca el como no disponible para el compilador." + +-#: common.opt:1404 ++#: common.opt:1408 + msgid "Don't allocate floats and doubles in extended-precision registers." + msgstr "No aloja floats y doubles en registros de precisión extendida." + +-#: common.opt:1412 ++#: common.opt:1416 + msgid "Perform a forward propagation pass on RTL." + msgstr "Realiza el paso de la propagación hacia adelante en RTL." + +-#: common.opt:1416 ++#: common.opt:1420 + msgid "-ffp-contract=[off|on|fast]\tPerform floating-point expression contraction." + msgstr "-ffp-contract=[off|on|fast]\tRealiza contracción de expresión de coma flotante." + +-#: common.opt:1419 ++#: common.opt:1423 + #, c-format + msgid "unknown floating point contraction style %qs" + msgstr "estilo de contracción de coma flotante %qs desconocido" + +-#: common.opt:1433 ++#: common.opt:1437 + msgid "Allow built-in functions ceil, floor, round, trunc to raise \"inexact\" exceptions." + msgstr "Permite a las funciones internas ceil, floor, round, trunc generar excepciones \"inexactas\"." + +-#: common.opt:1440 ++#: common.opt:1444 + msgid "Allow function addresses to be held in registers." + msgstr "Permite que las direcciones de las funciones se conservern en registros." + +-#: common.opt:1444 ++#: common.opt:1448 + msgid "Place each function into its own section." + msgstr "Coloca cada función en su propia sección." + +-#: common.opt:1448 ++#: common.opt:1452 + msgid "Perform global common subexpression elimination." + msgstr "Realiza la eliminación de subexpresiones comunes globales." + +-#: common.opt:1452 ++#: common.opt:1456 + msgid "Perform enhanced load motion during global common subexpression elimination." + msgstr "Realiza el movimiento de la carga mejorada durante la eliminación de subexpresiones comunes globales." + +-#: common.opt:1456 ++#: common.opt:1460 + msgid "Perform store motion after global common subexpression elimination." + msgstr "Realiza el movimiento de guardado después de la eliminación de subexpresiones comunes globales." + +-#: common.opt:1460 ++#: common.opt:1464 + msgid "Perform redundant load after store elimination in global common subexpression elimination." + msgstr "Realiza la carga redundante después de la eliminación de almacenamiento en la eliminación de subexpresiones comunes globales" + +-#: common.opt:1465 ++#: common.opt:1469 + msgid "Perform global common subexpression elimination after register allocation has finished." + msgstr "Realiza la eliminación de subexpresiones comunes globales tras la finalización de la asignación de registros." + +-#: common.opt:1482 ++#: common.opt:1486 + msgid "-fgnat-encodings=[all|gdb|minimal]\tSelect the balance between GNAT encodings and standard DWARF emitted in the debug information" + msgstr "-fgnat-encodings=[all|gdb|minimal]\tSelecciona el equilibrio entre codificaciones GNAT y DWARF estándar emitidos en la información de depuración." + +-#: common.opt:1487 ++#: common.opt:1491 + msgid "Enable in and out of Graphite representation." + msgstr "Activa in y out de la representación Graphite." + +-#: common.opt:1491 ++#: common.opt:1495 + msgid "Enable Graphite Identity transformation." + msgstr "Activa la transformación Graphite Identity." + +-#: common.opt:1495 ++#: common.opt:1499 + msgid "Enable hoisting adjacent loads to encourage generating conditional move instructions." + msgstr "Activa las cargas de elevación adyacentes para fomentar la generación de instrucciones move condicionales." + +-#: common.opt:1504 ++#: common.opt:1508 + msgid "Mark all loops as parallel." + msgstr "Marca todos los bucles como paralelos." + +-#: common.opt:1508 common.opt:1516 common.opt:2587 ++#: common.opt:1512 common.opt:1520 common.opt:2591 + msgid "Enable loop nest transforms. Same as -floop-nest-optimize." + msgstr "Activa las transformaciones anidadas de bucle. Igual que -floop-nest-optimize." + +-#: common.opt:1512 ++#: common.opt:1516 + msgid "Enable loop interchange on trees." + msgstr "Activa el intercambio de bucles en árboles." + +-#: common.opt:1520 ++#: common.opt:1524 + msgid "Perform unroll-and-jam on loops." + msgstr "Realiza unroll-and-jam en los bucles." + +-#: common.opt:1524 ++#: common.opt:1528 + msgid "Enable support for GNU transactional memory." + msgstr "Activa el soporte para la memoria transaccional de GNU." + +-#: common.opt:1528 ++#: common.opt:1532 + msgid "Use STB_GNU_UNIQUE if supported by the assembler." + msgstr "Usa STB_GNU_UNIQUE si lo admite el ensamblador." + +-#: common.opt:1536 ++#: common.opt:1540 + msgid "Enable the loop nest optimizer." + msgstr "Activa el optimizador de anidamiento de bucles." + +-#: common.opt:1540 ++#: common.opt:1544 + msgid "Force bitfield accesses to match their type width." + msgstr "Fuerza que los accesos de campos de bit coincidan con su anchura de tipo." + +-#: common.opt:1544 ++#: common.opt:1548 + msgid "Merge adjacent stores." + msgstr "Mezcla los almacenamientos adyacentes." + +-#: common.opt:1548 ++#: common.opt:1552 + msgid "Enable guessing of branch probabilities." + msgstr "Activa la predicción de probabilidades de ramificación." + +-#: common.opt:1556 ++#: common.opt:1560 + msgid "Process #ident directives." + msgstr "Procesa directivas #ident." + +-#: common.opt:1560 ++#: common.opt:1564 + msgid "Perform conversion of conditional jumps to branchless equivalents." + msgstr "Realiza la conversión de saltos condicionales a equivalentes sin ramificación." + +-#: common.opt:1564 ++#: common.opt:1568 + msgid "Perform conversion of conditional jumps to conditional execution." + msgstr "Realiza la conversión de saltos condicionales a ejecución condicional." + +-#: common.opt:1568 ++#: common.opt:1572 + msgid "-fstack-reuse=[all|named_vars|none]\tSet stack reuse level for local variables." + msgstr "-fstack-reuse=[all|named_vars|none]\tEstablece el nivel de reúso de la pila para variables locales." + +-#: common.opt:1571 ++#: common.opt:1575 + #, c-format + msgid "unknown Stack Reuse Level %qs" + msgstr "nivel de reúso de la pila %qs desconocido" + +-#: common.opt:1584 ++#: common.opt:1588 + msgid "Convert conditional jumps in innermost loops to branchless equivalents." + msgstr "Convierte saltos condicionales en los bucles más internos a equivalentes sin ramificación." + +-#: common.opt:1596 ++#: common.opt:1600 + msgid "Do not generate .size directives." + msgstr "No genera directivas .size." + +-#: common.opt:1600 ++#: common.opt:1604 + msgid "Perform indirect inlining." + msgstr "Realiza la inclusión en línea indirecta." + +-#: common.opt:1606 ++#: common.opt:1610 + msgid "Enable inlining of function declared \"inline\", disabling disables all inlining." + msgstr "Activa la inclusión en línea de la la función declarada \"inline\", y desactiva todas las demás inclusiones en línea." + +-#: common.opt:1610 ++#: common.opt:1614 + msgid "Integrate functions into their callers when code size is known not to grow." + msgstr "Integra las funciones en sus invocadores cuando se sabe que el tamaño del código no crece." + +-#: common.opt:1614 ++#: common.opt:1618 + msgid "Integrate functions not declared \"inline\" into their callers when profitable." + msgstr "Integra las funciones que no se declaran \"inline\" en sus invocadores cuando es rentable." + +-#: common.opt:1618 ++#: common.opt:1622 + msgid "Integrate functions only required by their single caller." + msgstr "Integra las funciones sólo requeridas por su invocador único." + +-#: common.opt:1625 ++#: common.opt:1629 + msgid "-finline-limit=\tLimit the size of inlined functions to ." + msgstr "-finline-limit=\tLimita el tamaño de las funciones incluidas en línea a ." + +-#: common.opt:1629 ++#: common.opt:1633 + msgid "Inline __atomic operations when a lock free instruction sequence is available." + msgstr "Coloca en línea las operaciones __atomic cuando una secuencia de instrucciones lock free está disponible" + +-#: common.opt:1636 ++#: common.opt:1640 + msgid "-fcf-protection=[full|branch|return|none]\tInstrument functions with checks to verify jump/call/return control-flow transfer instructions have valid targets." + msgstr "-fcf-protection=[full|branch|return|none]\tInstrumenta las funciones con comprobaciones para verificar que las instrucciones de transferencia del flujo de control jump/call/return tienen objetivos válidos." + +-#: common.opt:1640 ++#: common.opt:1644 + #, c-format + msgid "unknown Control-Flow Protection Level %qs" + msgstr "nivel de protección del flujo de control %qs desconocido" + +-#: common.opt:1656 ++#: common.opt:1660 + msgid "Instrument function entry and exit with profiling calls." + msgstr "Instrumenta funciones de entrada y salida con llamadas de análisis de perfil." + +-#: common.opt:1660 ++#: common.opt:1664 + msgid "-finstrument-functions-exclude-function-list=name,... Do not instrument listed functions." + msgstr "-finstrument-functions-exclude-functions-list=nombre,... No instrumenta las funciones enlistadas." + +-#: common.opt:1664 ++#: common.opt:1668 + msgid "-finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files." + msgstr "-finstrument-functions-exclude-file-list=fichero,... No instrumenta las funciones enlistadas en ficheros." + +-#: common.opt:1668 ++#: common.opt:1672 + msgid "Perform interprocedural constant propagation." + msgstr "Realiza la propagación interprocedural de las constantes." + +-#: common.opt:1672 ++#: common.opt:1676 + msgid "Perform cloning to make Interprocedural constant propagation stronger." + msgstr "Realiza la clonación para hacer la propagación constante Interprocedural más fuerte." + +-#: common.opt:1680 ++#: common.opt:1684 + msgid "Perform interprocedural bitwise constant propagation." + msgstr "Realiza la propagación interprocedural de las constantes por bits." + +-#: common.opt:1684 ++#: common.opt:1688 + msgid "Perform interprocedural profile propagation." + msgstr "Realiza la propagación de perfil interprocedural." + +-#: common.opt:1688 ++#: common.opt:1692 + msgid "Perform interprocedural points-to analysis." + msgstr "Realiza el análisis interprocedural de puntero-a." + +-#: common.opt:1692 ++#: common.opt:1696 + msgid "Discover pure and const functions." + msgstr "Descubre funciones pure y const." + +-#: common.opt:1696 ++#: common.opt:1700 + msgid "Perform Identical Code Folding for functions and read-only variables." + msgstr "Realiza plegamiento de código idéntico en funciones y variables de solo lectura." + +-#: common.opt:1700 ++#: common.opt:1704 + msgid "Perform Identical Code Folding for functions." + msgstr "Realiza plegamiento de código idéntico en funciones." + +-#: common.opt:1704 ++#: common.opt:1708 + msgid "Perform Identical Code Folding for variables." + msgstr "Realiza plegamiento de código idéntico en variables." + +-#: common.opt:1708 ++#: common.opt:1712 + msgid "Discover readonly and non addressable static variables." + msgstr "Descubre variables estáticas de sólo lectura y no direccionables." + +-#: common.opt:1720 ++#: common.opt:1724 + msgid "Perform IPA Value Range Propagation." + msgstr "Realiza la Propagación de Rango Valor IPA." + +-#: common.opt:1724 ++#: common.opt:1728 + msgid "-fira-algorithm=[CB|priority]\tSet the used IRA algorithm." + msgstr "-fira-algorithm=[CB|priority]\tEstablece el algoritmo IRA a usar." + +-#: common.opt:1727 ++#: common.opt:1731 + #, c-format + msgid "unknown IRA algorithm %qs" + msgstr "algoritmo IRA %qs desconocido" + +-#: common.opt:1737 ++#: common.opt:1741 + msgid "-fira-region=[one|all|mixed]\tSet regions for IRA." + msgstr "-fira-region=[one|all|mixed]\tEstablece las regiones para IRA." + +-#: common.opt:1740 ++#: common.opt:1744 + #, c-format + msgid "unknown IRA region %qs" + msgstr "región IRA %qs desconocida" + +-#: common.opt:1753 ++#: common.opt:1757 + msgid "Use IRA based register pressure calculation in RTL hoist optimizations." + msgstr "Usa el cálculo de presión de registros basado en IRA en optimizaciones de izado RTL." + +-#: common.opt:1758 ++#: common.opt:1762 + msgid "Use IRA based register pressure calculation in RTL loop optimizations." + msgstr "Usa el cálculo de presión de registros basado en IRA en optimizaciones de bucle RTL." + +-#: common.opt:1763 ++#: common.opt:1767 + msgid "Share slots for saving different hard registers." + msgstr "Comparte ranuras para ahorrar registros hard diferentes." + +-#: common.opt:1767 ++#: common.opt:1771 + msgid "Share stack slots for spilled pseudo-registers." + msgstr "Comparte ranuras de pila para pseudo-registros derramados." + +-#: common.opt:1771 ++#: common.opt:1775 + msgid "-fira-verbose=\tControl IRA's level of diagnostic messages." + msgstr "-fira-verbose=\tControla el nivel de mensajes de diagnóstico de IRA." + +-#: common.opt:1775 ++#: common.opt:1779 + msgid "Optimize induction variables on trees." + msgstr "Optimiza la inducción de variables en los árboles." + +-#: common.opt:1779 ++#: common.opt:1783 + msgid "Use jump tables for sufficiently large switch statements." + msgstr "Usa tablas de salto para las declaraciones switch suficientemente grandes." + +-#: common.opt:1783 ++#: common.opt:1787 + msgid "Generate code for functions even if they are fully inlined." + msgstr "Genera código para las funciones aún si están completamente incluidas en línea." + +-#: common.opt:1787 ++#: common.opt:1791 + msgid "Generate code for static functions even if they are never called." + msgstr "Genera código para las funciones estáticas aunque nunca se las llame." + +-#: common.opt:1791 ++#: common.opt:1795 + msgid "Emit static const variables even if they are not used." + msgstr "Emite variables static const aún si no se usan." + +-#: common.opt:1795 ++#: common.opt:1799 + msgid "Give external symbols a leading underscore." + msgstr "Da a los símbolos externos un subrayado inicial." + +-#: common.opt:1803 ++#: common.opt:1807 + msgid "Do CFG-sensitive rematerialization in LRA." + msgstr "Hacer rematerialización sensible a CFG en LRA." + +-#: common.opt:1807 ++#: common.opt:1811 + msgid "Enable link-time optimization." + msgstr "Activa las optimizaciones de tiempo de enlace." + +-#: common.opt:1811 ++#: common.opt:1815 + msgid "Link-time optimization with number of parallel jobs or jobserver." + msgstr "Optimización en tiempo de enlace con el número de trabajos paralelos o el servidor de trabajos." + +-#: common.opt:1814 ++#: common.opt:1818 + #, c-format + msgid "unknown LTO partitioning model %qs" + msgstr "modelo de partición LTO %qs desconocido" + +-#: common.opt:1833 ++#: common.opt:1837 + msgid "Specify the algorithm to partition symbols and vars at linktime." + msgstr "Espcifica el algoritmo para particionar símbolos y variables en tiempo de enlazado." + +-#: common.opt:1838 ++#: common.opt:1842 + msgid "-flto-compression-level=\tUse zlib compression level for IL." + msgstr "-flto-compression-level=\tUsa el nivel de compresión de zlib para IL." + +-#: common.opt:1842 ++#: common.opt:1846 + msgid "Merge C++ types using One Definition Rule." + msgstr "Mezclar tipos C++ usando la regla de una sola definición." + +-#: common.opt:1846 ++#: common.opt:1850 + msgid "Report various link-time optimization statistics." + msgstr "Reporta varias estadísticas de optimización de tiempo de enlace." + +-#: common.opt:1850 ++#: common.opt:1854 + msgid "Report various link-time optimization statistics for WPA only." + msgstr "Reporta varias estadísticas de optimización de tiempo de enlace solo para WPA." + +-#: common.opt:1854 ++#: common.opt:1858 + msgid "Set errno after built-in math functions." + msgstr "Establece errno después de las funciones matemáticas internas." + +-#: common.opt:1858 ++#: common.opt:1862 + msgid "-fmax-errors=\tMaximum number of errors to report." + msgstr "-fmax-errors=\tNúmero máximo de errores a reportar." + +-#: common.opt:1862 ++#: common.opt:1866 + msgid "Report on permanent memory allocation." + msgstr "Reporta el alojamiento en memoria permanente." + +-#: common.opt:1866 ++#: common.opt:1870 + msgid "Report on permanent memory allocation in WPA only." + msgstr "Reporta el alojamiento en memoria permanente solo en WPA." + +-#: common.opt:1873 ++#: common.opt:1877 + msgid "Attempt to merge identical constants and constant variables." + msgstr "Intenta mezclar constantes idénticas y variables constantes." + +-#: common.opt:1877 ++#: common.opt:1881 + msgid "Attempt to merge identical constants across compilation units." + msgstr "Intenta mezclar constantes idénticas a través de las unidades de compilación." + +-#: common.opt:1881 ++#: common.opt:1885 + msgid "Attempt to merge identical debug strings across compilation units." + msgstr "Intenta mezclar cadenas de depuración idénticas a través de las unidades de compilación." + +-#: common.opt:1885 ++#: common.opt:1889 + msgid "-fmessage-length=\tLimit diagnostics to characters per line. 0 suppresses line-wrapping." + msgstr "-fmessage-length=\tLimita los diagnósticos a caracteres por línea. 0 suprime el corte de línea." + +-#: common.opt:1889 ++#: common.opt:1893 + msgid "Perform SMS based modulo scheduling before the first scheduling pass." + msgstr "Realiza la planificación SMS basada en módulo antes del primer paso de calendarización." + +-#: common.opt:1893 ++#: common.opt:1897 + msgid "Perform SMS based modulo scheduling with register moves allowed." + msgstr "Realiza la planificación módulo basada en SMS con movimientos permitidos de registros." + +-#: common.opt:1897 ++#: common.opt:1901 + msgid "Move loop invariant computations out of loops." + msgstr "Mueve las computaciones invariantes de bucles fuera de los bucles." + +-#: common.opt:1901 ++#: common.opt:1905 + msgid "Use the RTL dead code elimination pass." + msgstr "Usa el paso de eliminación de código muerto de RTL." + +-#: common.opt:1905 ++#: common.opt:1909 + msgid "Use the RTL dead store elimination pass." + msgstr "Usa la eliminación de almacenamiento muerto de RTL." + +-#: common.opt:1909 ++#: common.opt:1913 + msgid "Enable/Disable the traditional scheduling in loops that already passed modulo scheduling." + msgstr "Activa/Desactiva la planificación tradicional en bucles que ya pasaron la calendarización módulo." + +-#: common.opt:1913 ++#: common.opt:1917 + msgid "Support synchronous non-call exceptions." + msgstr "Permite las excepciones síncronas que no son llamadas." + +-#: common.opt:1916 ++#: common.opt:1920 + #, c-format + msgid "options or targets missing after %qs" + msgstr "faltan opciones u objetivos después de %qs" + +-#: common.opt:1917 ++#: common.opt:1921 + msgid "-foffload== Specify offloading targets and options for them." + msgstr "-foffload== Especifica objetivos de descarga y opciones para ellos." + +-#: common.opt:1921 ++#: common.opt:1925 + msgid "-foffload-abi=[lp64|ilp32] Set the ABI to use in an offload compiler." + msgstr "-foffload-abi=[lp64|ilp32] Establece el ABI que usar en un compilador de descarga." + +-#: common.opt:1924 ++#: common.opt:1928 + #, c-format + msgid "unknown offload ABI %qs" + msgstr "descarga ABI %qs desconocida" + +-#: common.opt:1934 ++#: common.opt:1938 + msgid "When possible do not generate stack frames." + msgstr "Cuando sea posible no genera marcos de pila." + +-#: common.opt:1938 ++#: common.opt:1942 + msgid "Enable all optimization info dumps on stderr." + msgstr "Activa todos los volcados de información de optimización en stderr." + +-#: common.opt:1942 ++#: common.opt:1946 + msgid "-fopt-info[-=filename]\tDump compiler optimization details." + msgstr "-fopt-info[-=filename]\tVuelca los detalles de optimización del compilador." + +-#: common.opt:1950 ++#: common.opt:1954 + msgid "Optimize sibling and tail recursive calls." + msgstr "Optimiza las llamadas recursivas hermanadas y de extremo." + +-#: common.opt:1954 ++#: common.opt:1958 + msgid "Perform partial inlining." + msgstr "Realiza la inclusión en línea parcial." + +-#: common.opt:1958 common.opt:1962 ++#: common.opt:1962 common.opt:1966 + msgid "Report on memory allocation before interprocedural optimization." + msgstr "Reporta la ubicación de memoria antes de la optimización interprocedural." + +-#: common.opt:1966 ++#: common.opt:1970 + msgid "Pack structure members together without holes." + msgstr "Empaqueta juntos a los miembros de la estructura sin agujeros." + +-#: common.opt:1970 ++#: common.opt:1974 + msgid "-fpack-struct=\tSet initial maximum structure member alignment." + msgstr "-fpack-struct=\tEstablece la alineación inicial máxima de estructuras miembro." + +-#: common.opt:1974 ++#: common.opt:1978 + msgid "Return small aggregates in memory, not registers." + msgstr "Devuelve los agregados small en memoria, no en registros." + +-#: common.opt:1978 ++#: common.opt:1982 + msgid "Perform loop peeling." + msgstr "Realiza el pelado de bucles." + +-#: common.opt:1982 ++#: common.opt:1986 + msgid "Enable machine specific peephole optimizations." + msgstr "Activa las optimizaciones de mirilla específicas de la máquina." + +-#: common.opt:1986 ++#: common.opt:1990 + msgid "Enable an RTL peephole pass before sched2." + msgstr "Activa un paso de mirilla RTL antes de sched2." + +-#: common.opt:1990 ++#: common.opt:1994 + msgid "Generate position-independent code if possible (large mode)." + msgstr "Genera código independiente de posición si es posible (modo large)." + +-#: common.opt:1994 ++#: common.opt:1998 + msgid "Generate position-independent code for executables if possible (large mode)." + msgstr "Genera código independiente de posición para ejecutables si es posible (modo large)." + +-#: common.opt:1998 ++#: common.opt:2002 + msgid "Generate position-independent code if possible (small mode)." + msgstr "Genera código independiente de posición si es posible (modo small)." + +-#: common.opt:2002 ++#: common.opt:2006 + msgid "Generate position-independent code for executables if possible (small mode)." + msgstr "Genera código independiente de posición para ejecutables si es posible (modo small)." + +-#: common.opt:2006 ++#: common.opt:2010 + msgid "Use PLT for PIC calls (-fno-plt: load the address from GOT at call site)." + msgstr "Usa PLT para llamadas PIC (-fno-plt: carga la dirección desde GOT en el sitio de la llamada)." + +-#: common.opt:2010 ++#: common.opt:2014 + msgid "Specify a plugin to load." + msgstr "Especifica un plugin a cargar." + +-#: common.opt:2014 ++#: common.opt:2018 + msgid "-fplugin-arg--[=]\tSpecify argument = for plugin ." + msgstr "-fplugin-arg--[=]\tEspecifica el argumento = para el plugin bre." + +-#: common.opt:2018 ++#: common.opt:2022 + msgid "Run predictive commoning optimization." + msgstr "Ejecuta la optimización comunizadora predictiva." + +-#: common.opt:2022 ++#: common.opt:2026 + msgid "Generate prefetch instructions, if available, for arrays in loops." + msgstr "Genera instrucciones de precargado, si están disponibles, para matrices en bucles." + +-#: common.opt:2026 ++#: common.opt:2030 + msgid "Enable basic program profiling code." + msgstr "Activa el código básico de análisis de perfil del programa." + +-#: common.opt:2030 ++#: common.opt:2034 + msgid "Generate absolute source path names for gcov." + msgstr "Genera nombres de ruta de fuentes absolutos para gcov." + +-#: common.opt:2034 ++#: common.opt:2038 + msgid "Insert arc-based program profiling code." + msgstr "Inserta el código de análisis de perfil de programa basado en arc." + +-#: common.opt:2038 ++#: common.opt:2042 + msgid "Set the top-level directory for storing the profile data. The default is 'pwd'." + msgstr "Establece el directorio de nivel principal para almacenar los datos de perfilado. El predeterminado es 'pwd'." + +-#: common.opt:2043 ++#: common.opt:2047 + msgid "Enable correction of flow inconsistent profile data input." + msgstr "Activa la corrección de datos de entrada de perfilado inconsistente de flujo." + +-#: common.opt:2047 ++#: common.opt:2051 + msgid "-fprofile-update=[single|atomic|prefer-atomic]\tSet the profile update method." + msgstr "-fprofile-update=[single|atomic|prefer-atomic]\tEstablece el método de actualización del perfil." + +-#: common.opt:2050 ++#: common.opt:2054 + #, c-format + msgid "unknown profile update method %qs" + msgstr "método de actualización de perfil desconocido %qs" + +-#: common.opt:2063 ++#: common.opt:2067 + msgid "Enable common options for generating profile info for profile feedback directed optimizations." + msgstr "Activa las opciones comunes para generar información de análisis de perfil para optimizaciones dirigidas por retroalimentación de perfil." + +-#: common.opt:2067 ++#: common.opt:2071 + msgid "Enable common options for generating profile info for profile feedback directed optimizations, and set -fprofile-dir=." + msgstr "Activa las opciones comunes para generar información de análisis de perfil para optimizaciones dirigidas por retroalimentación de perfili, y establece -fprofile-dir=." + +-#: common.opt:2071 ++#: common.opt:2075 + msgid "Enable common options for performing profile feedback directed optimizations." + msgstr "Activa las opciones comunes para realizar optimizaciones dirigidas por retroalimentación de perfil." + +-#: common.opt:2075 ++#: common.opt:2079 + msgid "Enable common options for performing profile feedback directed optimizations, and set -fprofile-dir=." + msgstr "Activa las opciones comunes para realizar optimizaciones dirigidas por retroalimentación de perfil, y establece -fprofile-dir=." + +-#: common.opt:2079 ++#: common.opt:2083 + msgid "Insert code to profile values of expressions." + msgstr "Inserta el código para perfilar valores de expresiones." + +-#: common.opt:2083 ++#: common.opt:2087 + msgid "Report on consistency of profile." + msgstr "Informa sobre la coherencia del perfil." + +-#: common.opt:2087 ++#: common.opt:2091 + msgid "Enable function reordering that improves code placement." + msgstr "Activa reordenación de funciones que mejora ubicación de código." + +-#: common.opt:2091 ++#: common.opt:2095 + msgid "Insert NOP instructions at each function entry." + msgstr "Inserta instrucciones NOP en cada entrada de función." + +-#: common.opt:2098 ++#: common.opt:2102 + msgid "-frandom-seed=\tMake compile reproducible using ." + msgstr "-frandom-seed=\tHace que se pueda reproducir la compilación utilizando la ." + +-#: common.opt:2108 ++#: common.opt:2112 + msgid "Record gcc command line switches in the object file." + msgstr "Guarda las opciones de la línea de órdenes de gcc en el fichero objeto." + +-#: common.opt:2112 ++#: common.opt:2116 + msgid "Return small aggregates in registers." + msgstr "Devuelve agregados small en registros." + +-#: common.opt:2120 ++#: common.opt:2124 + msgid "Tell DSE that the storage for a C++ object is dead when the constructor starts and when the destructor finishes." + msgstr "Le dice al DSE que el almacenamiento para un objeto C++ está muerto cuando el constructor comienza y cuando el destructor termina." + +-#: common.opt:2128 ++#: common.opt:2132 + msgid "Relief of register pressure through live range shrinkage." + msgstr "Alivio de la presión de registro a través del encogimiento de rango en vivo." + +-#: common.opt:2132 ++#: common.opt:2136 + msgid "Perform a register renaming optimization pass." + msgstr "Realiza el paso de optimización de renombrado de registros." + +-#: common.opt:2136 ++#: common.opt:2140 + msgid "Perform a target dependent instruction fusion optimization pass." + msgstr "Realiza paso de optimización por fusión de instrucciones dependiente de objetivo." + +-#: common.opt:2140 ++#: common.opt:2144 + msgid "Reorder basic blocks to improve code placement." + msgstr "Reordena los bloques básicos para mejorar la ubicación del código." + +-#: common.opt:2144 ++#: common.opt:2148 + msgid "-freorder-blocks-algorithm=[simple|stc]\tSet the used basic block reordering algorithm." + msgstr "-freorder-blocks-algorithm=[simple|stc]\tEstablece el algoritmo de ordenación de bloque básico usado." + +-#: common.opt:2147 ++#: common.opt:2151 + #, c-format + msgid "unknown basic block reordering algorithm %qs" + msgstr "algoritmo %qs de reordenación de bloque básico desconocido" + +-#: common.opt:2157 ++#: common.opt:2161 + msgid "Reorder basic blocks and partition into hot and cold sections." + msgstr "Reordena los bloques básicos y particionar en secciones caliente y fría." + +-#: common.opt:2161 ++#: common.opt:2165 + msgid "Reorder functions to improve code placement." + msgstr "Reordena las funciones para mejorar la ubicación del código." + +-#: common.opt:2165 ++#: common.opt:2169 + msgid "Add a common subexpression elimination pass after loop optimizations." + msgstr "Ejecuta un paso de eliminación de subexpresión común después de las optimizaciones de bucles." + +-#: common.opt:2173 ++#: common.opt:2177 + msgid "Disable optimizations that assume default FP rounding behavior." + msgstr "Desactiva las optimizaciones que asumen la conducta de un FP que redondea por defecto." + +-#: common.opt:2177 ++#: common.opt:2181 + msgid "Enable scheduling across basic blocks." + msgstr "Activa la planificación entre bloques básicos." + +-#: common.opt:2181 ++#: common.opt:2185 + msgid "Enable register pressure sensitive insn scheduling." + msgstr "Activa la planificación de insn sensible a la presión de registros." + +-#: common.opt:2185 ++#: common.opt:2189 + msgid "Allow speculative motion of non-loads." + msgstr "Permite el movimiento especulativo de insn que no son load." + +-#: common.opt:2189 ++#: common.opt:2193 + msgid "Allow speculative motion of some loads." + msgstr "Permite el movimiento especulativo de algunas loads." + +-#: common.opt:2193 ++#: common.opt:2197 + msgid "Allow speculative motion of more loads." + msgstr "Permite el movimiento especulativo de más loads." + +-#: common.opt:2197 ++#: common.opt:2201 + msgid "-fsched-verbose=\tSet the verbosity level of the scheduler." + msgstr "-fsched-verbose=\tEstablece el nivel de detalle del planificador." + +-#: common.opt:2201 ++#: common.opt:2205 + msgid "If scheduling post reload, do superblock scheduling." + msgstr "Si se calendariza después de la recarga, hace la planificación de superbloque." + +-#: common.opt:2209 ++#: common.opt:2213 + msgid "Reschedule instructions before register allocation." + msgstr "Recalendariza las instrucciones antes del alojamiento de registros." + +-#: common.opt:2213 ++#: common.opt:2217 + msgid "Reschedule instructions after register allocation." + msgstr "Recalendariza las instrucciones después del alojamiento de registros." + +-#: common.opt:2220 ++#: common.opt:2224 + msgid "Schedule instructions using selective scheduling algorithm." + msgstr "Calendariza instrucciones usando el algoritmo de planificación selectivo." + +-#: common.opt:2224 ++#: common.opt:2228 + msgid "Run selective scheduling after reload." + msgstr "Ejecuta la planificación selectiva después de recargar." + +-#: common.opt:2228 ++#: common.opt:2232 + msgid "Run self-tests, using the given path to locate test files." + msgstr "Corre autotests usando la ruta dada para localizar los ficheros de test." + +-#: common.opt:2232 ++#: common.opt:2236 + msgid "Perform software pipelining of inner loops during selective scheduling." + msgstr "Realiza el `pipelining' de software de los bucles internos durante la planificación selectiva." + +-#: common.opt:2236 ++#: common.opt:2240 + msgid "Perform software pipelining of outer loops during selective scheduling." + msgstr "Realiza el `pipelining' de software de los bucles externos durante la planificación selectiva." + +-#: common.opt:2240 ++#: common.opt:2244 + msgid "Reschedule pipelined regions without pipelining." + msgstr "Recalendariza las regiones `pipelined' sin `pipelining'." + +-#: common.opt:2244 ++#: common.opt:2248 + msgid "Allow interposing function (or variables) by ones with different semantics (or initializer) respectively by dynamic linker." + msgstr "Permite interponer función (o variables) por otras con semántica diferente (o inicializador) respectivamente por enlazador dinámico." + +-#: common.opt:2250 ++#: common.opt:2254 + msgid "Allow premature scheduling of queued insns." + msgstr "Permite la planificación prematura de insns encoladas." + +-#: common.opt:2254 ++#: common.opt:2258 + msgid "-fsched-stalled-insns=\tSet number of queued insns that can be prematurely scheduled." + msgstr "-fsched-stalled-insns=\tEstablece el número de insns encoladas que se pueden calendarizar prematuramente." + +-#: common.opt:2262 ++#: common.opt:2266 + msgid "Set dependence distance checking in premature scheduling of queued insns." + msgstr "Establece la revisión de distancia de dependencias en la planificación prematura de insns encoladas." + +-#: common.opt:2266 ++#: common.opt:2270 + msgid "-fsched-stalled-insns-dep=\tSet dependence distance checking in premature scheduling of queued insns." + msgstr "-fsched-stalled-insns-dep=\tEstablece la revisión de distancia de dependencias en la planificación prematura de insns encoladas." + +-#: common.opt:2270 ++#: common.opt:2274 + msgid "Enable the group heuristic in the scheduler." + msgstr "Activa la heurística de grupo en el planificador." + +-#: common.opt:2274 ++#: common.opt:2278 + msgid "Enable the critical path heuristic in the scheduler." + msgstr "Activa la heurística de ruta crítica en el planificador." + +-#: common.opt:2278 ++#: common.opt:2282 + msgid "Enable the speculative instruction heuristic in the scheduler." + msgstr "Activa la heurística de instrucción especulativa en el planificador." + +-#: common.opt:2282 ++#: common.opt:2286 + msgid "Enable the rank heuristic in the scheduler." + msgstr "Activa la heurística de rango en el planificador." + +-#: common.opt:2286 ++#: common.opt:2290 + msgid "Enable the last instruction heuristic in the scheduler." + msgstr "Activa la heurística de última instrucción en el planificador." + +-#: common.opt:2290 ++#: common.opt:2294 + msgid "Enable the dependent count heuristic in the scheduler." + msgstr "Activa la heurística de cuenta dependiente en el planificador." + +-#: common.opt:2294 ++#: common.opt:2298 + msgid "Access data in the same section from shared anchor points." + msgstr "Accede datos en la misma sección que los puntos de anclaje compartidos." + +-#: common.opt:2306 ++#: common.opt:2310 + msgid "Turn on Redundant Extensions Elimination pass." + msgstr "Activa el paso de Eliminación de Extensiones Redundantes." + +-#: common.opt:2310 ++#: common.opt:2314 + msgid "Show column numbers in diagnostics, when available. Default on." + msgstr "Muestra los números de columna en los diagnósticos, cuando estén disponible. Activado por defecto." + +-#: common.opt:2314 ++#: common.opt:2318 + msgid "Emit function prologues only before parts of the function that need it, rather than at the top of the function." + msgstr "Emite prólogos de función sólo después de que las partes de la función que los necesitan, en vez de al principio de la función." + +-#: common.opt:2319 ++#: common.opt:2323 + msgid "Shrink-wrap parts of the prologue and epilogue separately." + msgstr "Estrecha-envuelve partes del prólogo y epílogo por separado." + +-#: common.opt:2323 ++#: common.opt:2327 + msgid "Disable optimizations observable by IEEE signaling NaNs." + msgstr "Desactiva las optimizaciones observables con IEEE señalando NaNs." + +-#: common.opt:2327 ++#: common.opt:2331 + msgid "Disable floating point optimizations that ignore the IEEE signedness of zero." + msgstr "Desactiva las optimizaciones de coma flotante que ignoran el signo de IEEE para cero." + +-#: common.opt:2331 ++#: common.opt:2335 + msgid "Convert floating point constants to single precision constants." + msgstr "Convierte las constantes de coma flotante a constantes de precisión simple." + +-#: common.opt:2335 ++#: common.opt:2339 + msgid "Split lifetimes of induction variables when loops are unrolled." + msgstr "Divide los tiempos de vida de las variables de inducción cuando se desenrollen los bucles." + +-#: common.opt:2339 ++#: common.opt:2343 + msgid "Generate discontiguous stack frames." + msgstr "Genera marcos de pila discontiguos." + +-#: common.opt:2343 ++#: common.opt:2347 + msgid "Split wide types into independent registers." + msgstr "Divide los tipos anchos en registros independientes." + +-#: common.opt:2347 ++#: common.opt:2351 + msgid "Enable backward propagation of use properties at the SSA level." + msgstr "Activa la propagación hacia atrás de propiedades en uso a nivel SSA." + +-#: common.opt:2351 ++#: common.opt:2355 + msgid "Optimize conditional patterns using SSA PHI nodes." + msgstr "Optimiza patrones condicionales usando nodos SSA PHI." + +-#: common.opt:2355 ++#: common.opt:2359 + msgid "Optimize amount of stdarg registers saved to stack at start of function." + msgstr "Optimiza la cantidad de registros stdarg guardados en pila al principio de la función." + +-#: common.opt:2359 ++#: common.opt:2363 + msgid "Apply variable expansion when loops are unrolled." + msgstr "Aplica la expansión de variables cuando se desenrollan los bucles." + +-#: common.opt:2363 ++#: common.opt:2367 + msgid "-fstack-check=[no|generic|specific]\tInsert stack checking code into the program." + msgstr "-fstack-check=[no|generic|specific]\tInserta código de revisión de la pila en el programa." + +-#: common.opt:2367 ++#: common.opt:2371 + msgid "Insert stack checking code into the program. Same as -fstack-check=specific." + msgstr "Inserta código de revisión de la pila en el programai. Igual que -fstach-check=specific." + +-#: common.opt:2371 ++#: common.opt:2375 + msgid "Insert code to probe each page of stack space as it is allocated to protect from stack-clash style attacks." + msgstr "" + +-#: common.opt:2379 ++#: common.opt:2383 + msgid "-fstack-limit-register=\tTrap if the stack goes past ." + msgstr "-fstack-limit-register=\tCaptura si la pila pasa del ." + +-#: common.opt:2383 ++#: common.opt:2387 + msgid "-fstack-limit-symbol=\tTrap if the stack goes past symbol ." + msgstr "-fstack-limit-symbol=\tCaptura si la pila pasa del símbolo ." + +-#: common.opt:2387 ++#: common.opt:2391 + msgid "Use propolice as a stack protection method." + msgstr "Usa propolice como un método de protección de pila." + +-#: common.opt:2391 ++#: common.opt:2395 + msgid "Use a stack protection method for every function." + msgstr "Usa un método de protección de pila para cada función." + +-#: common.opt:2395 ++#: common.opt:2399 + msgid "Use a smart stack protection method for certain functions." + msgstr "Usa un método de protección de pila inteligente para ciertas funciones." + +-#: common.opt:2399 ++#: common.opt:2403 + msgid "Use stack protection method only for functions with the stack_protect attribute." + msgstr "Usa método de protección de pila solo para funciones con el atributo stack_protect." + +-#: common.opt:2403 ++#: common.opt:2407 + msgid "Output stack usage information on a per-function basis." + msgstr "Información de uso de pila de salida basada por función." + +-#: common.opt:2415 ++#: common.opt:2419 + msgid "Assume strict aliasing rules apply." + msgstr "Asume que se aplican las reglas estrictas de alias." + +-#: common.opt:2419 ++#: common.opt:2423 + msgid "Treat signed overflow as undefined. Negated as -fwrapv -fwrapv-pointer." + msgstr "Trata el desbordamiento con signo como indefinido. Negado como -fwrapv -fwrapv-pointer." + +-#: common.opt:2423 ++#: common.opt:2427 + msgid "Implement __atomic operations via libcalls to legacy __sync functions." + msgstr "Implementa operaciones __atomic mediante llamadas de biblioteca a funciones __sync antiguas." + +-#: common.opt:2427 ++#: common.opt:2431 + msgid "Check for syntax errors, then stop." + msgstr "Busca errores de sintaxis, y termina." + +-#: common.opt:2431 ++#: common.opt:2435 + msgid "Create data files needed by \"gcov\"." + msgstr "Crea ficheros de datos necesarios para \"gcov\"." + +-#: common.opt:2435 ++#: common.opt:2439 + msgid "Perform jump threading optimizations." + msgstr "Realiza optimizaciones de hilado de saltos." + +-#: common.opt:2439 ++#: common.opt:2443 + msgid "Report the time taken by each compiler pass." + msgstr "Reporta el tiempo tomado por cada paso del compilador." + +-#: common.opt:2443 ++#: common.opt:2447 + msgid "Record times taken by sub-phases separately." + msgstr "Registra los tiempos tomados por subfases por separado." + +-#: common.opt:2447 ++#: common.opt:2451 + msgid "-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]\tSet the default thread-local storage code generation model." + msgstr "-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]\tEstablece el modelo de generación de código por defecto para almacenamiento thread-local." + +-#: common.opt:2450 ++#: common.opt:2454 + #, c-format + msgid "unknown TLS model %qs" + msgstr "modelo TLS %qs desconocido" + +-#: common.opt:2466 ++#: common.opt:2470 + msgid "Reorder top level functions, variables, and asms." + msgstr "Reordena las funciones de nivel superior, variables y asms." + +-#: common.opt:2470 ++#: common.opt:2474 + msgid "Perform superblock formation via tail duplication." + msgstr "Realiza la formación de superbloques a través de la duplicación de colas." + +-#: common.opt:2474 ++#: common.opt:2478 + msgid "For targets that normally need trampolines for nested functions, always generate them instead of using descriptors." + msgstr "Para objetivos que normalmente necesitan trampolines para las funciones anidadas, siempre los genera en lugar de usar descriptores." + +-#: common.opt:2482 ++#: common.opt:2486 + msgid "Assume floating-point operations can trap." + msgstr "Asume que las operaciones de coma flotante pueden atrapar." + +-#: common.opt:2486 ++#: common.opt:2490 + msgid "Trap for signed overflow in addition, subtraction and multiplication." + msgstr "Atrapar desbordamientos signed en adición, sustracción y multiplicación." + +-#: common.opt:2490 ++#: common.opt:2494 + msgid "Enable SSA-CCP optimization on trees." + msgstr "Activa la optimización SSA-CCP en árboles." + +-#: common.opt:2494 ++#: common.opt:2498 + msgid "Enable SSA-BIT-CCP optimization on trees." + msgstr "Activa la optimización SSA-BIT-CCP en árboles." + +-#: common.opt:2502 ++#: common.opt:2506 + msgid "Enable loop header copying on trees." + msgstr "Activa la copia de encabezado de bucles en árboles." + +-#: common.opt:2510 ++#: common.opt:2514 + msgid "Enable SSA coalescing of user variables." + msgstr "Activa coalescencia SSA de variables de usuario." + +-#: common.opt:2518 ++#: common.opt:2522 + msgid "Enable copy propagation on trees." + msgstr "Activa la propagación de copia en árboles." + +-#: common.opt:2526 ++#: common.opt:2530 + msgid "Transform condition stores into unconditional ones." + msgstr "Transforma los almacenamientos condicionales a incondicionales." + +-#: common.opt:2530 ++#: common.opt:2534 + msgid "Perform conversions of switch initializations." + msgstr "Realiza la conversión de las inicializaciones de switch." + +-#: common.opt:2534 ++#: common.opt:2538 + msgid "Enable SSA dead code elimination optimization on trees." + msgstr "Activa la optimización de eliminación de código muerto SSA en árboles." + +-#: common.opt:2538 ++#: common.opt:2542 + msgid "Enable dominator optimizations." + msgstr "Activa las optimizaciones dominadoras." + +-#: common.opt:2542 ++#: common.opt:2546 + msgid "Enable tail merging on trees." + msgstr "Activa la mezcla de colas en árboles." + +-#: common.opt:2546 ++#: common.opt:2550 + msgid "Enable dead store elimination." + msgstr "Activa la eliminación de almacenamiento muerto." + +-#: common.opt:2550 ++#: common.opt:2554 + msgid "Enable forward propagation on trees." + msgstr "Activa la propagación hacia adelante en árboles." + +-#: common.opt:2554 ++#: common.opt:2558 + msgid "Enable Full Redundancy Elimination (FRE) on trees." + msgstr "Activa la Eliminación de Redundancia Completa en árboles." + +-#: common.opt:2558 ++#: common.opt:2562 + msgid "Enable string length optimizations on trees." + msgstr "Activa la optimizaciones de longitud de cadenas en árboles." + +-#: common.opt:2562 ++#: common.opt:2566 + 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 "Detecta rutas que disparan comportamiento erróneo o indefinido debido a desreferencia de puntero nulo. Aisla esas rutas del flujo de control principal y convierte la sentencia con comportamiento erróneo o indefinido en una trampa." + +-#: common.opt:2568 ++#: common.opt:2572 + msgid "Detect paths that trigger erroneous or undefined behavior due to 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 "Detecta rutas que disparan comportamiento erróneo o indefinido debido a un uso indebido de un valor nuloen un atributo returns_nonnull o nonnull. Aisla esas rutas del flujo de control principal y convierte la sentencia con comportamiento erróneo o indefinido en una trampa." + +-#: common.opt:2575 ++#: common.opt:2579 + msgid "Enable loop distribution on trees." + msgstr "Activa la distribución de bucles en árboles." + +-#: common.opt:2579 ++#: common.opt:2583 + msgid "Enable loop distribution for patterns transformed into a library call." + msgstr "Activa la distribución de bucles por patrones transformados en una llamada a biblioteca." + +-#: common.opt:2583 ++#: common.opt:2587 + msgid "Enable loop invariant motion on trees." + msgstr "Permite el movimiento invariante de bucles en árboles." + +-#: common.opt:2591 ++#: common.opt:2595 + msgid "Create canonical induction variables in loops." + msgstr "Crea variables de inducción canónica en los bucles." + +-#: common.opt:2595 ++#: common.opt:2599 + msgid "Enable loop optimizations on tree level." + msgstr "Activa las optimizaciones de bucles a nivel de árbol." + +-#: common.opt:2599 ++#: common.opt:2603 + msgid "-ftree-parallelize-loops=\tEnable automatic parallelization of loops." + msgstr "-ftree-parallelize-loops=\tActiva la paralelización automática de bucles." + +-#: common.opt:2603 ++#: common.opt:2607 + msgid "Enable hoisting loads from conditional pointers." + msgstr "Activa las cargas de elevación de punteros condicionales." + +-#: common.opt:2607 ++#: common.opt:2611 + msgid "Enable SSA-PRE optimization on trees." + msgstr "Activa las optimizaciones SSA-PRE en árboles." + +-#: common.opt:2611 ++#: common.opt:2615 + msgid "In SSA-PRE optimization on trees, enable partial-partial redundancy elimination." + msgstr "En optimización SSA-PRE en árboles, activa eliminación de redundancia parcial-parcial." + +-#: common.opt:2615 ++#: common.opt:2619 + msgid "Perform function-local points-to analysis on trees." + msgstr "Realiza el análisis puntero-a función-local en árboles." + +-#: common.opt:2619 ++#: common.opt:2623 + msgid "Enable reassociation on tree level." + msgstr "Activa la reasociación a nivel de árbol." + +-#: common.opt:2627 ++#: common.opt:2631 + msgid "Enable SSA code sinking on trees." + msgstr "Activa el hundimiento de código SSA en árboles." + +-#: common.opt:2631 ++#: common.opt:2635 + msgid "Perform straight-line strength reduction." + msgstr "Realiza reducción de fuerza de línea directa." + +-#: common.opt:2635 ++#: common.opt:2639 + msgid "Perform scalar replacement of aggregates." + msgstr "Realiza el reemplazo escalar de agregados." + +-#: common.opt:2639 ++#: common.opt:2643 + msgid "Replace temporary expressions in the SSA->normal pass." + msgstr "Reemplaza expresiones temporales en el paso SSA->normal." + +-#: common.opt:2643 ++#: common.opt:2647 + msgid "Perform live range splitting during the SSA->normal pass." + msgstr "Realizar la división de rango vivo durante el paso SSA->normal." + +-#: common.opt:2647 ++#: common.opt:2651 + msgid "Perform Value Range Propagation on trees." + msgstr "Realiza la Propagación de Rango Valor en árboles." + +-#: common.opt:2651 ++#: common.opt:2655 + msgid "Split paths leading to loop backedges." + msgstr "Divide las rutas que llevan a bordes traseros de bucle." + +-#: common.opt:2655 ++#: common.opt:2659 + msgid "Assume common declarations may be overridden with ones with a larger trailing array." + msgstr "Asume que las declaraciones comunes pueden sustituirse por las que tienen un array postrero mayor." + +-#: common.opt:2660 ++#: common.opt:2664 + msgid "Compile whole compilation unit at a time." + msgstr "Compila la unidad de compilación completa a la vez." + +-#: common.opt:2664 ++#: common.opt:2668 + msgid "Perform loop unrolling when iteration count is known." + msgstr "Realiza el desenrollamiento del bucle cuando se conoce la cuenta de iteración." + +-#: common.opt:2668 ++#: common.opt:2672 + msgid "Perform loop unrolling for all loops." + msgstr "Realiza el desenrollamiento del bucle para todos los bucles." + +-#: common.opt:2679 ++#: common.opt:2683 + msgid "Allow optimization for floating-point arithmetic which may change the result of the operation due to rounding." + msgstr "Permite la optimización para la aritmética de coma flotante la cual puede cambiar el resultado de la operación debido a redondeo." + +-#: common.opt:2684 ++#: common.opt:2688 + msgid "Same as -fassociative-math for expressions which include division." + msgstr "Igual que -fassociative-math para las expresiones que incluyen división." + +-#: common.opt:2692 ++#: common.opt:2696 + msgid "Allow math optimizations that may violate IEEE or ISO standards." + msgstr "Permite optimizaciones matemáticas que pueden violar los estándares IEEE ó ISO." + +-#: common.opt:2696 ++#: common.opt:2700 + msgid "Perform loop unswitching." + msgstr "Realiza la eliminación de opciones de bucle." + +-#: common.opt:2700 ++#: common.opt:2704 + msgid "Perform loop splitting." + msgstr "Realiza la división de bucles." + +-#: common.opt:2704 ++#: common.opt:2708 + msgid "Just generate unwind tables for exception handling." + msgstr "Sólo genera tablas de desenredo para manejo de excepciones." + +-#: common.opt:2708 ++#: common.opt:2712 + msgid "Use the bfd linker instead of the default linker." + msgstr "Usa el enlazador bfd eb lugar del predeterminado." + +-#: common.opt:2712 ++#: common.opt:2716 + msgid "Use the gold linker instead of the default linker." + msgstr "Usa el enlazador de oro eb lugar del predeterminado." + +-#: common.opt:2724 ++#: common.opt:2728 + msgid "Perform variable tracking." + msgstr "Realiza seguimiento de variables." + +-#: common.opt:2732 ++#: common.opt:2736 + msgid "Perform variable tracking by annotating assignments." + msgstr "Realiza seguimiento de variables con asignación de anotaciones." + +-#: common.opt:2738 ++#: common.opt:2742 + msgid "Toggle -fvar-tracking-assignments." + msgstr "Cambia -fvar-tracking-assignments." + +-#: common.opt:2746 ++#: common.opt:2750 + msgid "Perform variable tracking and also tag variables that are uninitialized." + msgstr "Realiza el seguimiento de variables y también marca las variables que no se inicializaron." + +-#: common.opt:2751 ++#: common.opt:2755 + msgid "Enable vectorization on trees." + msgstr "Activa la vectorización en árboles." + +-#: common.opt:2759 ++#: common.opt:2763 + msgid "Enable loop vectorization on trees." + msgstr "Activa la vectorización de bucles en árboles." + +-#: common.opt:2763 ++#: common.opt:2767 + msgid "Enable basic block vectorization (SLP) on trees." + msgstr "Activa la vectorización de bloque básico (SLP) en árboles." + +-#: common.opt:2767 ++#: common.opt:2771 + msgid "Specifies the cost model for vectorization. -fvect-cost-model=[unlimited|dynamic|cheap]\tSpecifies the cost model for vectorization." + 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:2772 ++#: common.opt:2776 + msgid "-fsimd-cost-model=[unlimited|dynamic|cheap]\tSpecifies the vectorization cost model for code marked with a simd directive." + 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:2775 ++#: common.opt:2779 + #, c-format + msgid "unknown vectorizer cost model %qs" + msgstr "modelo %qs de coste de vectorizador desconocido" + +-#: common.opt:2788 ++#: common.opt:2792 + msgid "Enables the dynamic vectorizer cost model. Preserved for backward compatibility." + msgstr "Activa el modelo de coste de vectorizador dinámico. Se preserva por compatibilidad hacia atrás." + +-#: common.opt:2796 ++#: common.opt:2800 + msgid "Enable copy propagation of scalar-evolution information." + msgstr "Activa la propagación de copia de la información escalar-evolución." + +-#: common.opt:2806 ++#: common.opt:2810 + msgid "Add extra commentary to assembler output." + msgstr "Agrega comentarios extra a la salida de ensamblador." + +-#: common.opt:2810 ++#: common.opt:2814 + msgid "-fvisibility=[default|internal|hidden|protected]\tSet the default symbol visibility." + msgstr "-fvisibility=[default|internal|hidden|protected]\tEstablece la visibilidad de símbolos por defecto." + +-#: common.opt:2813 ++#: common.opt:2817 + #, c-format + msgid "unrecognized visibility value %qs" + msgstr "no se reconoce el valor de visibilidad %qs" + +-#: common.opt:2829 ++#: common.opt:2833 + msgid "Validate vtable pointers before using them." + msgstr "Valida los punteros vtable antes de usarlos." + +-#: common.opt:2832 ++#: common.opt:2836 + #, c-format + msgid "unknown vtable verify initialization priority %qs" + msgstr "prioridad %qs de inicialización de verificación de vtable desconocida." + +-#: common.opt:2845 ++#: common.opt:2849 + msgid "Output vtable verification counters." + msgstr "Contadores de verificación de vtable de salida." + +-#: common.opt:2849 ++#: common.opt:2853 + msgid "Output vtable verification pointer sets information." + msgstr "Información sobre los conjuntos de vectores de verificación de vtable de salida." + +-#: common.opt:2853 ++#: common.opt:2857 + msgid "Use expression value profiles in optimizations." + msgstr "Usa perfiles de valor de expresión en las optimizaciones." + +-#: common.opt:2857 ++#: common.opt:2861 + msgid "Construct webs and split unrelated uses of single variable." + msgstr "Construye redes y divide usos no relacionados de una sola variable." + +-#: common.opt:2861 ++#: common.opt:2865 + msgid "Enable conditional dead code elimination for builtin calls." + msgstr "Activa la eliminación de código muerto condicional para llamadas internas." + +-#: common.opt:2865 ++#: common.opt:2869 + msgid "Perform whole program optimizations." + msgstr "Realiza optimizaciones del programa completo." + + # wraps around? No entiendo bien. cfuga +-#: common.opt:2869 ++#: common.opt:2873 + msgid "Assume pointer overflow wraps around." + msgstr "Asume que el desbordamiento de punteros se envuelve." + + # wraps around? No entiendo bien. cfuga +-#: common.opt:2873 ++#: common.opt:2877 + msgid "Assume signed arithmetic overflow wraps around." + msgstr "Asume que el desbordamiento aritmético con signo se envuelve." + +-#: common.opt:2877 ++#: common.opt:2881 + msgid "Put zero initialized data in the bss section." + msgstr "Pone los datos inicializados a cero en la sección bss." + +-#: common.opt:2881 ++#: common.opt:2885 + msgid "Generate debug information in default format." + msgstr "Genera información de depuración en el formato por defecto." + +-#: common.opt:2885 ++#: common.opt:2889 + msgid "Assume assembler support for (DWARF2+) .loc directives" + msgstr "Asume soporte del ensamblador para las directivas .loc (DWARF2+)" + +-#: common.opt:2889 ++#: common.opt:2893 + msgid "Assume assembler support for view in (DWARF2+) .loc directives" + msgstr "Asume soporte del ensamblador para visualización en las directivas .loc (DWARF2+)" + +-#: common.opt:2892 common.opt:2896 common.opt:2900 common.opt:2904 ++#: common.opt:2896 common.opt:2900 common.opt:2904 common.opt:2908 + #, c-format + msgid "switch %qs no longer supported" + msgstr "la opción %qs ya no se admite" + +-#: common.opt:2909 ++#: common.opt:2913 + msgid "Record DW_AT_decl_column and DW_AT_call_column in DWARF." + msgstr "Registro DW_AT_decl_column y DW_AT_call_column en DWARF." + +-#: common.opt:2913 ++#: common.opt:2917 + msgid "Generate debug information in default version of DWARF format." + msgstr "Genera información de depuración en la versión predeterminada del formato DWARF." + +-#: common.opt:2917 ++#: common.opt:2921 + msgid "Generate debug information in DWARF v2 (or later) format." + msgstr "Genera información de depuración en el formato DWARF v2 (o posterior)." + +-#: common.opt:2921 ++#: common.opt:2925 + msgid "Generate debug information in default extended format." + msgstr "Genera información de depuración en el formato extendido por defecto." + +-#: common.opt:2925 ++#: common.opt:2929 + msgid "Generate extended entry point information for inlined functions" + msgstr "Genera información extendida sobre el punto de entrada para funciones en línea" + +-#: common.opt:2929 ++#: common.opt:2933 + msgid "Compute locview reset points based on insn length estimates" + msgstr "" + +-#: common.opt:2937 ++#: common.opt:2941 + msgid "Don't generate DWARF pubnames and pubtypes sections." + msgstr "No genera nombres públicos DWARF y secciones de tipos públicos." + +-#: common.opt:2941 ++#: common.opt:2945 + msgid "Generate DWARF pubnames and pubtypes sections." + msgstr "Genera nombres públicos DWARF y secciones de tipos públicos." + +-#: common.opt:2945 ++#: common.opt:2949 + msgid "Generate DWARF pubnames and pubtypes sections with GNU extensions." + msgstr "Genera nombres públicos DWARF y secciones de tipos públicos con extensiones GNU." + +-#: common.opt:2949 ++#: common.opt:2953 + msgid "Record gcc command line switches in DWARF DW_AT_producer." + msgstr "Guarda las opciones de la línea de órdenes de gcc en DW_AT_producer de DWARF." + +-#: common.opt:2953 ++#: common.opt:2957 + msgid "Generate debug information in separate .dwo files." + msgstr "Genera información de depuración en ficheros .dwo separados." + +-#: common.opt:2957 ++#: common.opt:2961 + msgid "Generate debug information in STABS format." + msgstr "Genera información de depuración en el formato STABS." + +-#: common.opt:2961 ++#: common.opt:2965 + msgid "Generate debug information in extended STABS format." + msgstr "Genera información de depuración en el formato STABS extendido." + +-#: common.opt:2965 ++#: common.opt:2969 + msgid "Emit progressive recommended breakpoint locations." + msgstr "" + +-#: common.opt:2969 ++#: common.opt:2973 + msgid "Don't emit DWARF additions beyond selected version." + msgstr "No emite adiciones DWARF más allá de la versión seleccionada." + +-#: common.opt:2973 ++#: common.opt:2977 + msgid "Toggle debug information generation." + msgstr "Cambia la generación de información de depuración." + +-#: common.opt:2977 ++#: common.opt:2981 + msgid "Augment variable location lists with progressive views." + msgstr "" + +-#: common.opt:2984 ++#: common.opt:2988 + msgid "Generate debug information in VMS format." + msgstr "Genera información de depuración en el formato VMS." + +-#: common.opt:2988 ++#: common.opt:2992 + msgid "Generate debug information in XCOFF format." + msgstr "Genera información de depuración en el formato XCOFF." + +-#: common.opt:2992 ++#: common.opt:2996 + msgid "Generate debug information in extended XCOFF format." + msgstr "Genera información de depuración en el formato XCOFF extendido." + +-#: common.opt:3010 ++#: common.opt:3014 + msgid "Generate compressed debug sections." + msgstr "Genera secciones de depuración comprimidas." + +-#: common.opt:3014 ++#: common.opt:3018 + msgid "-gz=\tGenerate compressed debug sections in format ." + msgstr "-gz=\tGenera secciones de depuración comprimidas en formato ." + +-#: common.opt:3021 ++#: common.opt:3025 + msgid "-iplugindir=\tSet to be the default plugin directory." + msgstr "-iplugindir=\tDefine como el directorio de plugins por defecto." + +-#: common.opt:3025 ++#: common.opt:3029 + msgid "-imultiarch \tSet to be the multiarch include subdirectory." + msgstr "-imultilib \tDefine como el subdirectorio de inclusión de multilib." + +-#: common.opt:3047 ++#: common.opt:3051 + msgid "-o \tPlace output into ." + msgstr "-o \tColoca la salida en el ." + +-#: common.opt:3051 ++#: common.opt:3055 + msgid "Enable function profiling." + msgstr "Activa el análisis de perfil de las funciones." + +-#: common.opt:3061 ++#: common.opt:3065 + msgid "Like -pedantic but issue them as errors." + msgstr "Como -pedantic pero los muestra como errores." + +-#: common.opt:3101 ++#: common.opt:3105 + msgid "Do not display functions compiled or elapsed time." + msgstr "No muestra las funciones compiladas o el tiempo transcurrido." + +-#: common.opt:3133 ++#: common.opt:3137 + msgid "Enable verbose output." + msgstr "Activa la salida detallada." + +-#: common.opt:3137 ++#: common.opt:3141 + msgid "Display the compiler's version." + msgstr "Muestra la versión del compilador." + +-#: common.opt:3141 ++#: common.opt:3145 + msgid "Suppress warnings." + msgstr "Suprime avisos." + +-#: common.opt:3151 ++#: common.opt:3155 + msgid "Create a shared library." + msgstr "Crea una biblioteca compartida." + +-#: common.opt:3196 ++#: common.opt:3200 + msgid "Don't create a dynamically linked position independent executable." + msgstr "No genera un ejecutable independiente de posición enlazado dinámicamente." + +-#: common.opt:3200 ++#: common.opt:3204 + msgid "Create a dynamically linked position independent executable." + msgstr "Genera un ejecutable independiente de posición enlazado dinámicamente." + +-#: common.opt:3204 ++#: common.opt:3208 + msgid "Create a static position independent executable." + msgstr "Genera un ejecutable independiente de posición estático." + +-#: common.opt:3211 ++#: common.opt:3215 + msgid "Use caller save register across calls if possible." + msgstr "Usa registro de guarda de invocador entre llamadas si es posible." + +-#: go/gofrontend/expressions.cc:95 c-family/c-warn.c:598 cp/cvt.c:1308 ++#: go/gofrontend/expressions.cc:95 c-family/c-warn.c:599 cp/cvt.c:1308 + #: cp/cvt.c:1561 + #, gcc-internal-format + msgid "value computed is not used" +@@ -15738,7 +15740,7 @@ + msgstr "se esperaba un tipo booleano" + + #: go/gofrontend/expressions.cc:4331 c/c-parser.c:13477 c/c-parser.c:13484 +-#: cp/parser.c:33264 cp/parser.c:33271 ++#: cp/parser.c:33261 cp/parser.c:33268 + #, gcc-internal-format + msgid "expected integer" + msgstr "se esperaba un entero" +@@ -16155,14 +16157,14 @@ + msgid "ignoring attribute %qE because it conflicts with attribute %qs" + msgstr "Se hace caso omiso del atributo %qE debido a un conflicto con el atributo %qs" + +-#: attribs.c:449 c-family/c-attribs.c:1894 cp/decl.c:13690 cp/friend.c:302 +-#: cp/tree.c:4559 ++#: attribs.c:449 c-family/c-attribs.c:1905 cp/decl.c:13714 cp/friend.c:302 ++#: cp/tree.c:4607 + #, gcc-internal-format + msgid "previous declaration here" + msgstr "declaración previa aquí" + + #. Warn about and ignore all others for now, but store them. +-#: attribs.c:564 c-family/c-attribs.c:2717 objc/objc-act.c:4963 ++#: attribs.c:564 c-family/c-attribs.c:2728 objc/objc-act.c:4963 + #: objc/objc-act.c:6932 objc/objc-act.c:8119 objc/objc-act.c:8170 + #, gcc-internal-format + msgid "%qE attribute directive ignored" +@@ -16181,17 +16183,17 @@ + #. This is a c++11 attribute that appertains to a + #. type-specifier, outside of the definition of, a class + #. type. Ignore it. +-#: attribs.c:590 cp/decl.c:10999 ++#: attribs.c:590 cp/decl.c:11023 + #, gcc-internal-format + msgid "attribute ignored" + msgstr "se descarta el atributo" + +-#: attribs.c:592 cp/decl.c:11000 ++#: attribs.c:592 cp/decl.c:11024 + #, gcc-internal-format + msgid "an attribute that appertains to a type-specifier is ignored" + msgstr "un atributo que atañe a un especificador de tipo se descarta" + +-#: attribs.c:610 c-family/c-attribs.c:3219 ++#: attribs.c:610 c-family/c-attribs.c:3230 + #, gcc-internal-format + msgid "%qE attribute does not apply to types" + msgstr "el atributo %qE no se aplica a tipos" +@@ -16207,40 +16209,40 @@ + msgstr "se descartan los atributos de tipo después de que el tipo ya se definió" + + #: attribs.c:691 attribs.c:1622 attribs.c:1632 attribs.c:1642 +-#: c-family/c-attribs.c:540 c-family/c-attribs.c:559 c-family/c-attribs.c:577 +-#: c-family/c-attribs.c:607 c-family/c-attribs.c:628 c-family/c-attribs.c:649 +-#: c-family/c-attribs.c:690 c-family/c-attribs.c:717 c-family/c-attribs.c:733 +-#: c-family/c-attribs.c:750 c-family/c-attribs.c:766 c-family/c-attribs.c:792 +-#: c-family/c-attribs.c:807 c-family/c-attribs.c:835 c-family/c-attribs.c:852 +-#: c-family/c-attribs.c:870 c-family/c-attribs.c:893 c-family/c-attribs.c:931 +-#: c-family/c-attribs.c:954 c-family/c-attribs.c:971 c-family/c-attribs.c:1000 +-#: c-family/c-attribs.c:1021 c-family/c-attribs.c:1042 +-#: c-family/c-attribs.c:1069 c-family/c-attribs.c:1099 +-#: c-family/c-attribs.c:1136 c-family/c-attribs.c:1189 +-#: c-family/c-attribs.c:1255 c-family/c-attribs.c:1313 +-#: c-family/c-attribs.c:1402 c-family/c-attribs.c:1432 +-#: c-family/c-attribs.c:1483 c-family/c-attribs.c:1998 +-#: c-family/c-attribs.c:2035 c-family/c-attribs.c:2096 +-#: c-family/c-attribs.c:2152 c-family/c-attribs.c:2230 +-#: c-family/c-attribs.c:2312 c-family/c-attribs.c:2371 +-#: c-family/c-attribs.c:2390 c-family/c-attribs.c:2498 +-#: c-family/c-attribs.c:2514 c-family/c-attribs.c:2530 +-#: c-family/c-attribs.c:2551 c-family/c-attribs.c:2608 +-#: c-family/c-attribs.c:2635 c-family/c-attribs.c:2690 +-#: c-family/c-attribs.c:2870 c-family/c-attribs.c:2891 +-#: c-family/c-attribs.c:3004 c-family/c-attribs.c:3031 +-#: c-family/c-attribs.c:3221 c-family/c-attribs.c:3239 +-#: c-family/c-attribs.c:3262 c-family/c-attribs.c:3301 +-#: c-family/c-attribs.c:3383 c-family/c-attribs.c:3439 +-#: c-family/c-attribs.c:3455 c-family/c-attribs.c:3549 +-#: c-family/c-common.c:5600 config/darwin.c:2072 config/arm/arm.c:6868 ++#: c-family/c-attribs.c:547 c-family/c-attribs.c:566 c-family/c-attribs.c:584 ++#: c-family/c-attribs.c:614 c-family/c-attribs.c:635 c-family/c-attribs.c:656 ++#: c-family/c-attribs.c:697 c-family/c-attribs.c:728 c-family/c-attribs.c:744 ++#: c-family/c-attribs.c:761 c-family/c-attribs.c:777 c-family/c-attribs.c:803 ++#: c-family/c-attribs.c:818 c-family/c-attribs.c:846 c-family/c-attribs.c:863 ++#: c-family/c-attribs.c:881 c-family/c-attribs.c:904 c-family/c-attribs.c:942 ++#: c-family/c-attribs.c:965 c-family/c-attribs.c:982 c-family/c-attribs.c:1011 ++#: c-family/c-attribs.c:1032 c-family/c-attribs.c:1053 ++#: c-family/c-attribs.c:1080 c-family/c-attribs.c:1110 ++#: c-family/c-attribs.c:1147 c-family/c-attribs.c:1200 ++#: c-family/c-attribs.c:1266 c-family/c-attribs.c:1324 ++#: c-family/c-attribs.c:1413 c-family/c-attribs.c:1443 ++#: c-family/c-attribs.c:1494 c-family/c-attribs.c:2009 ++#: c-family/c-attribs.c:2046 c-family/c-attribs.c:2107 ++#: c-family/c-attribs.c:2163 c-family/c-attribs.c:2241 ++#: c-family/c-attribs.c:2323 c-family/c-attribs.c:2382 ++#: c-family/c-attribs.c:2401 c-family/c-attribs.c:2509 ++#: c-family/c-attribs.c:2525 c-family/c-attribs.c:2541 ++#: c-family/c-attribs.c:2562 c-family/c-attribs.c:2619 ++#: c-family/c-attribs.c:2646 c-family/c-attribs.c:2701 ++#: c-family/c-attribs.c:2881 c-family/c-attribs.c:2902 ++#: c-family/c-attribs.c:3015 c-family/c-attribs.c:3042 ++#: c-family/c-attribs.c:3232 c-family/c-attribs.c:3250 ++#: c-family/c-attribs.c:3273 c-family/c-attribs.c:3312 ++#: c-family/c-attribs.c:3394 c-family/c-attribs.c:3450 ++#: c-family/c-attribs.c:3466 c-family/c-attribs.c:3560 ++#: c-family/c-common.c:5598 config/darwin.c:2072 config/arm/arm.c:6868 + #: config/arm/arm.c:6896 config/arm/arm.c:6913 config/avr/avr.c:9698 +-#: config/h8300/h8300.c:5483 config/h8300/h8300.c:5507 config/i386/i386.c:6497 +-#: config/i386/i386.c:41520 config/ia64/ia64.c:788 +-#: config/powerpcspe/powerpcspe.c:35859 config/rs6000/rs6000.c:33056 +-#: config/spu/spu.c:3743 ada/gcc-interface/utils.c:6244 +-#: ada/gcc-interface/utils.c:6261 ada/gcc-interface/utils.c:6277 +-#: ada/gcc-interface/utils.c:6303 brig/brig-lang.c:476 lto/lto-lang.c:283 ++#: config/h8300/h8300.c:5483 config/h8300/h8300.c:5507 config/i386/i386.c:6500 ++#: config/i386/i386.c:41514 config/ia64/ia64.c:788 ++#: config/powerpcspe/powerpcspe.c:35859 config/rs6000/rs6000.c:33112 ++#: config/spu/spu.c:3743 ada/gcc-interface/utils.c:6249 ++#: ada/gcc-interface/utils.c:6266 ada/gcc-interface/utils.c:6282 ++#: ada/gcc-interface/utils.c:6308 brig/brig-lang.c:476 lto/lto-lang.c:283 + #, gcc-internal-format + msgid "%qE attribute ignored" + msgstr "se descarta el atributo %qE" +@@ -16608,88 +16610,106 @@ + msgid "%Kattempt to free a non-heap object" + msgstr "%Kse intenta liberar un objeto que no es de pila" + +-#: calls.c:1434 ++#: calls.c:1291 file-prefix-map.c:50 + #, gcc-internal-format ++msgid "invalid argument %qs to %qs" ++msgstr "argumento %qs no válido para %qs" ++ ++#: calls.c:1452 ++#, gcc-internal-format + msgid "%Kargument %i value %qE is negative" + msgstr "%Kargumento %i, valor %qE, negativo" + +-#: calls.c:1452 ++#: calls.c:1470 + #, gcc-internal-format + msgid "%Kargument %i value is zero" + msgstr "el valor del %Kargumento %i es cero" + +-#: calls.c:1469 ++#: calls.c:1487 + #, gcc-internal-format + msgid "%Kargument %i value %qE exceeds maximum object size %E" + msgstr "%Kargumento %i, valor %qE, supera el tamaño máximo %E del objeto" + +-#: calls.c:1483 ++#: calls.c:1501 + #, gcc-internal-format + msgid "%Kargument %i range [%E, %E] is negative" + msgstr "el %Kargumento %i, rango [%E, %E], es negativo" + +-#: calls.c:1490 ++#: calls.c:1508 + #, gcc-internal-format + msgid "%Kargument %i range [%E, %E] exceeds maximum object size %E" + msgstr "%Kargumento %i, rango [%E, %E], supera el tamaño máximo %E del objeto" + +-#: calls.c:1520 ++#: calls.c:1538 + #, gcc-internal-format + msgid "%Kproduct %<%E * %E%> of arguments %i and %i exceeds %" + msgstr "el %Kproducto %<%E * %E%> de los argumentos %i y %i supera %" + +-#: calls.c:1526 ++#: calls.c:1544 + #, gcc-internal-format + msgid "%Kproduct %<%E * %E%> of arguments %i and %i exceeds maximum object size %E" + msgstr "el %Kproducto %<%E * %E%> de los argumentos %i y %i supera el tamaño máximo %E del objeto" + +-#: calls.c:1537 calls.c:1540 ++#: calls.c:1555 calls.c:1558 + #, gcc-internal-format + msgid "argument %i in the range [%E, %E]" + msgstr "el argumento %i está dentro del rango [%E, %E]" + +-#: calls.c:1551 ++#: calls.c:1569 + #, gcc-internal-format + msgid "in a call to built-in allocation function %qD" + msgstr "en una llamada a la función de reserva interna %qD" + +-#: calls.c:1554 ++#: calls.c:1572 + #, gcc-internal-format + msgid "in a call to allocation function %qD declared here" + msgstr "en una llamada a la función de reserva %qD declarada aquí" + +-#: calls.c:1711 +-#, gcc-internal-format +-msgid "%qD argument %i declared attribute % is smaller than the specified bound %E" +-msgstr "" ++#: calls.c:1835 ++#, fuzzy, gcc-internal-format ++#| msgid "%qD was not declared %" ++msgid "%qD argument %i declared attribute % is smaller than the specified bound %wu" ++msgstr "%qD no se declaró %" + +-#: calls.c:1716 ++#: calls.c:1841 + #, fuzzy, gcc-internal-format + #| msgid "%qD was not declared %" ++msgid "%qD argument %i declared attribute % is smaller than the specified bound [%E, %E]" ++msgstr "%qD no se declaró %" ++ ++#: calls.c:1847 ++#, fuzzy, gcc-internal-format ++#| msgid "%qD was not declared %" ++msgid "%qD argument %i declared attribute % may be smaller than the specified bound [%E, %E]" ++msgstr "%qD no se declaró %" ++ ++#: calls.c:1857 ++#, fuzzy, gcc-internal-format ++#| msgid "%qD was not declared %" + msgid "%qD argument %i declared attribute %" + msgstr "%qD no se declaró %" + +-#: calls.c:1721 ++#: calls.c:1862 + #, gcc-internal-format + msgid "argument %qD declared here" + msgstr "el argumento %qD se declara aquí" + +-#: calls.c:1735 ++#: calls.c:1876 + #, gcc-internal-format, gfc-internal-format + msgid "cannot tail-call: %s" + msgstr "llamada al extremo imposible: %s" + +-#: calls.c:3365 ++#: calls.c:3506 + #, gcc-internal-format + msgid "function call has aggregate value" + msgstr "la llamada a la función tiene valor agregado" + +-#: calls.c:4059 ++#: calls.c:4200 + #, gcc-internal-format + msgid "passing too large argument on stack" + msgstr "pasando argumento demasiado grande a la pila" + +-#: cfgexpand.c:1665 function.c:1002 varasm.c:2231 ++#: cfgexpand.c:1665 function.c:1002 varasm.c:2242 + #, gcc-internal-format + msgid "size of variable %q+D is too large" + msgstr "el tamaño de la variable %q+D es demasiado grande" +@@ -17261,237 +17281,237 @@ + msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)" + msgstr "el número de notas bb en la cadena insn (%d) != n_basic_blocks (%d)" + +-#: cgraph.c:3051 ++#: cgraph.c:3056 + #, gcc-internal-format + msgid "caller edge count invalid" + msgstr "la cuenta de borde llamador no es válida" + +-#: cgraph.c:3135 ++#: cgraph.c:3140 + #, gcc-internal-format, gfc-internal-format + msgid "aux field set for edge %s->%s" + msgstr "campo aux establecido para el borde %s->%s" + +-#: cgraph.c:3142 ++#: cgraph.c:3147 + #, gcc-internal-format + msgid "cgraph count invalid" + msgstr "cuenta de cgraph no válida" + +-#: cgraph.c:3147 ++#: cgraph.c:3152 + #, gcc-internal-format + msgid "inline clone in same comdat group list" + msgstr "clon en línea en el mismo grupo comdat" + +-#: cgraph.c:3152 ++#: cgraph.c:3157 + #, gcc-internal-format + msgid "local symbols must be defined" + msgstr "los símbolos locales deben definirse" + +-#: cgraph.c:3157 ++#: cgraph.c:3162 + #, gcc-internal-format + msgid "externally visible inline clone" + msgstr "clon incluido en línea visible externamente" + +-#: cgraph.c:3162 ++#: cgraph.c:3167 + #, gcc-internal-format + msgid "inline clone with address taken" + msgstr "clon incluido en línea con dirección tomada" + +-#: cgraph.c:3167 ++#: cgraph.c:3172 + #, gcc-internal-format + msgid "inline clone is forced to output" + msgstr "se fuerza en la salida un clon incluido en línea" + +-#: cgraph.c:3174 ++#: cgraph.c:3179 + #, gcc-internal-format, gfc-internal-format + msgid "aux field set for indirect edge from %s" + msgstr "se define el campo aux para el borde indirecto desde %s" + +-#: cgraph.c:3181 ++#: cgraph.c:3186 + #, gcc-internal-format, gfc-internal-format + msgid "An indirect edge from %s is not marked as indirect or has associated indirect_info, the corresponding statement is: " + msgstr "Un borde indirecto de %s no está marcado como indirecto o tiene indirect_info asociado, la declaración correspondiente es: " + +-#: cgraph.c:3196 ++#: cgraph.c:3201 + #, gcc-internal-format, gfc-internal-format + msgid "comdat-local function called by %s outside its comdat" + msgstr "función comdat-local llamada por %s fuera de su comdat" + +-#: cgraph.c:3206 ++#: cgraph.c:3211 + #, gcc-internal-format + msgid "inlined_to pointer is wrong" + msgstr "el puntero inlined_to está mal" + +-#: cgraph.c:3211 ++#: cgraph.c:3216 + #, gcc-internal-format + msgid "multiple inline callers" + msgstr "múltiples llamantes inline" + +-#: cgraph.c:3218 ++#: cgraph.c:3223 + #, gcc-internal-format + msgid "inlined_to pointer set for noninline callers" + msgstr "se estableció el puntero inlined_to para llamantes no-inline" + +-#: cgraph.c:3239 ++#: cgraph.c:3244 + #, gcc-internal-format + msgid "caller edge count does not match BB count" + msgstr "la cuenta de borde llamador no coincide con la cuenta BB" + +-#: cgraph.c:3261 ++#: cgraph.c:3266 + #, gcc-internal-format + msgid "indirect call count does not match BB count" + msgstr "la cuenta de llamadas indirectas no coincide con la cuenta BB" + +-#: cgraph.c:3272 ++#: cgraph.c:3277 + #, gcc-internal-format + msgid "inlined_to pointer is set but no predecessors found" + msgstr "se estableció el puntero inlined_to, pero no se encontraron predecesores" + +-#: cgraph.c:3277 ++#: cgraph.c:3282 + #, gcc-internal-format + msgid "inlined_to pointer refers to itself" + msgstr "el puntero inlined_to se refiere a sí mismo" + +-#: cgraph.c:3289 ++#: cgraph.c:3294 + #, gcc-internal-format + msgid "cgraph_node has wrong clone_of" + msgstr "el cgraph_node tiene un clone_of erróneo" + +-#: cgraph.c:3301 ++#: cgraph.c:3306 + #, gcc-internal-format + msgid "cgraph_node has wrong clone list" + msgstr "el cgraph_node tiene una lista de clones errónea" + +-#: cgraph.c:3307 ++#: cgraph.c:3312 + #, gcc-internal-format + msgid "cgraph_node is in clone list but it is not clone" + msgstr "el cgraph_node está en la lista de clones pero no es clon" + +-#: cgraph.c:3312 ++#: cgraph.c:3317 + #, gcc-internal-format + msgid "cgraph_node has wrong prev_clone pointer" + msgstr "el cgraph_node tiene un puntero prev_clone erróneo" + +-#: cgraph.c:3317 ++#: cgraph.c:3322 + #, gcc-internal-format + msgid "double linked list of clones corrupted" + msgstr "lista de clones doblemente ligada corrrupta" + +-#: cgraph.c:3329 ++#: cgraph.c:3334 + #, gcc-internal-format + msgid "Alias has call edges" + msgstr "Alias tiene bordes de llamada" + +-#: cgraph.c:3337 ++#: cgraph.c:3342 + #, gcc-internal-format + msgid "Alias has non-alias reference" + msgstr "Alias tiene una referencia que no es alias" + +-#: cgraph.c:3342 ++#: cgraph.c:3347 + #, gcc-internal-format + msgid "Alias has more than one alias reference" + msgstr "Alias tiene más de una referencia alias" + +-#: cgraph.c:3349 ++#: cgraph.c:3354 + #, gcc-internal-format + msgid "Analyzed alias has no reference" + msgstr "El alias analizado no tiene referencia" + +-#: cgraph.c:3358 ++#: cgraph.c:3363 + #, gcc-internal-format + msgid "Instrumentation clone does not reference original node" + msgstr "El clon de instrumentación no hace referencia al nodo original" + +-#: cgraph.c:3365 ++#: cgraph.c:3370 + #, gcc-internal-format + msgid "Not instrumented node has non-NULL original declaration" + msgstr "Nodo no instrumentado tiene declaración original no NULL" + +-#: cgraph.c:3375 ++#: cgraph.c:3380 + #, gcc-internal-format + msgid "Instrumented node has wrong original declaration" + msgstr "Nodo instrumentado tiene declaración original incorrecta" + +-#: cgraph.c:3393 ++#: cgraph.c:3398 + #, gcc-internal-format + msgid "Node has more than one chkp reference" + msgstr "El nodo tiene más de una referencia chkp" + +-#: cgraph.c:3398 ++#: cgraph.c:3403 + #, gcc-internal-format + msgid "Wrong node is referenced with chkp reference" + msgstr "Nodo incorrecto referenciado con referencia chkp" + +-#: cgraph.c:3406 ++#: cgraph.c:3411 + #, gcc-internal-format + msgid "Analyzed node has no reference to instrumented version" + msgstr "El nodo analizado no tiene referencia a versión instrumentada" + +-#: cgraph.c:3420 ++#: cgraph.c:3425 + #, gcc-internal-format + msgid "Alias chain for instrumented node is broken" + msgstr "La cadena alias para el nodo instrumentado está rota" + +-#: cgraph.c:3429 ++#: cgraph.c:3434 + #, gcc-internal-format + msgid "No edge out of thunk node" + msgstr "No hay un borde fuera de un nodo thunk" + +-#: cgraph.c:3434 ++#: cgraph.c:3439 + #, gcc-internal-format + msgid "More than one edge out of thunk node" + msgstr "Más de un borde fuera de un nodo thunk" + +-#: cgraph.c:3439 ++#: cgraph.c:3444 + #, gcc-internal-format + msgid "Thunk is not supposed to have body" + msgstr "No se supone que thunk tenga cuerpo" + +-#: cgraph.c:3445 ++#: cgraph.c:3450 + #, gcc-internal-format + msgid "Instrumentation thunk has wrong edge callee" + msgstr "El thunk de instrumentación tiene elemento invocado de borde incorrecto" + +-#: cgraph.c:3481 ++#: cgraph.c:3486 + #, gcc-internal-format + msgid "shared call_stmt:" + msgstr "call_stmt compartida:" + +-#: cgraph.c:3489 ++#: cgraph.c:3494 + #, gcc-internal-format + msgid "edge points to wrong declaration:" + msgstr "puntos de borde para una declaración errónea:" + +-#: cgraph.c:3498 ++#: cgraph.c:3503 + #, gcc-internal-format + msgid "an indirect edge with unknown callee corresponding to a call_stmt with a known declaration:" + msgstr "un borde indirecto con un llamante desconocido que corresponde a call_stmt con una declaración conocida:" + +-#: cgraph.c:3508 ++#: cgraph.c:3513 + #, gcc-internal-format + msgid "missing callgraph edge for call stmt:" + msgstr "falta el borde de callgraph para la llamada stmt:" + +-#: cgraph.c:3518 ++#: cgraph.c:3523 + #, gcc-internal-format + msgid "reference to dead statement" + msgstr "referencia a sentencia muerta" + +-#: cgraph.c:3531 ++#: cgraph.c:3536 + #, gcc-internal-format, gfc-internal-format + msgid "edge %s->%s has no corresponding call_stmt" + msgstr "el borde %s->%s no tiene un call_stmt correspondiente" + +-#: cgraph.c:3543 ++#: cgraph.c:3548 + #, gcc-internal-format, gfc-internal-format + msgid "an indirect edge from %s has no corresponding call_stmt" + msgstr "un borde indirecto desde %s no tiene un call_stmt correspondiente" + +-#: cgraph.c:3554 ++#: cgraph.c:3559 + #, gcc-internal-format + msgid "verify_cgraph_node failed" + msgstr "falló verify_cgraph_node" + +-#: cgraph.c:3661 varpool.c:306 ++#: cgraph.c:3666 varpool.c:306 + #, gcc-internal-format, gfc-internal-format + msgid "%s: section %s is missing" + msgstr "%s: falta la sección %s" +@@ -17522,12 +17542,12 @@ + msgstr "se descarta el atributo % porque ya se inicializó la variable" + + #. include_self= +-#: cgraphunit.c:981 c/c-decl.c:11282 ++#: cgraphunit.c:981 c/c-decl.c:11302 + #, gcc-internal-format + msgid "%q+F used but never defined" + msgstr "se usa %q+F pero nunca se define" + +-#: cgraphunit.c:983 c/c-decl.c:11291 ++#: cgraphunit.c:983 c/c-decl.c:11311 + #, gcc-internal-format + msgid "%q+F declared % but never defined" + msgstr "%q+F se declaró % pero nunca se define" +@@ -17648,12 +17668,12 @@ + msgid "cannot find '%s'" + msgstr "no se puede encontrar '%s'" + +-#: collect-utils.c:183 collect2.c:2361 collect2.c:2560 gcc.c:3080 gcc.c:6856 ++#: collect-utils.c:183 collect2.c:2387 collect2.c:2586 gcc.c:3080 gcc.c:6856 + #, gcc-internal-format + msgid "pex_init failed: %m" + msgstr "falló pex_init: %m" + +-#: collect-utils.c:192 collect2.c:2370 collect2.c:2568 gcc.c:8498 ++#: collect-utils.c:192 collect2.c:2396 collect2.c:2594 gcc.c:8498 + #, gcc-internal-format + msgid "%s: %m" + msgstr "%s: %m" +@@ -17663,93 +17683,93 @@ + msgid "COLLECT_LTO_WRAPPER must be set" + msgstr "se debe definir COLLECT_LTO_WRAPPER" + +-#: collect2.c:966 gcc.c:7382 lto-wrapper.c:1666 ++#: collect2.c:969 gcc.c:7382 lto-wrapper.c:1692 + #: config/i386/intelmic-mkoffload.c:556 config/nvptx/mkoffload.c:405 + #, gcc-internal-format + msgid "atexit failed" + msgstr "falló atexit" + +-#: collect2.c:1064 ++#: collect2.c:1067 + #, gcc-internal-format + msgid "no arguments" + msgstr "sin argumentos" + +-#: collect2.c:1303 opts.c:904 ++#: collect2.c:1311 opts.c:904 + #, gcc-internal-format + msgid "LTO support has not been enabled in this configuration" + msgstr "el soporte para LTO no se activó en esta configuración" + +-#: collect2.c:1344 ++#: collect2.c:1352 + #, gcc-internal-format + msgid "can't open %s: %m" + msgstr "no se puede abrir %s: %m" + +-#: collect2.c:1450 ++#: collect2.c:1472 + #, gcc-internal-format, gfc-internal-format + msgid "unknown demangling style '%s'" + msgstr "se desconoce el estilo de desenredado '%s'" + +-#: collect2.c:1546 collect2.c:1729 collect2.c:1769 ++#: collect2.c:1574 collect2.c:1757 collect2.c:1797 + #, gcc-internal-format + msgid "fopen %s: %m" + msgstr "fopen %s: %m" + +-#: collect2.c:1549 collect2.c:1734 collect2.c:1772 ++#: collect2.c:1577 collect2.c:1762 collect2.c:1800 + #, gcc-internal-format + msgid "fclose %s: %m" + msgstr "fclose %s: %m" + +-#: collect2.c:2335 ++#: collect2.c:2361 + #, gcc-internal-format + msgid "cannot find 'nm'" + msgstr "no se puede encontrar 'nm'" + +-#: collect2.c:2383 ++#: collect2.c:2409 + #, gcc-internal-format + msgid "can't open nm output: %m" + msgstr "no se puede abrir la salida de nm: %m" + +-#: collect2.c:2467 ++#: collect2.c:2493 + #, gcc-internal-format, gfc-internal-format + msgid "init function found in object %s" + msgstr "se encontró la función init en el objeto %s" + +-#: collect2.c:2478 ++#: collect2.c:2504 + #, gcc-internal-format, gfc-internal-format + msgid "fini function found in object %s" + msgstr "se encontró la función fini en el objeto %s" + +-#: collect2.c:2535 ++#: collect2.c:2561 + #, gcc-internal-format + msgid "cannot find 'ldd'" + msgstr "no se puede encontrar 'ldd'" + +-#: collect2.c:2581 ++#: collect2.c:2607 + #, gcc-internal-format + msgid "can't open ldd output: %m" + msgstr "no se puede abrir la salida de ldd: %m" + +-#: collect2.c:2599 ++#: collect2.c:2625 + #, gcc-internal-format, gfc-internal-format + msgid "dynamic dependency %s not found" + msgstr "no se encontró la dependencia dinámica %s" + +-#: collect2.c:2611 ++#: collect2.c:2637 + #, gcc-internal-format, gfc-internal-format + msgid "unable to open dynamic dependency '%s'" + msgstr "no se puede abrir la dependencia dinámica '%s'" + +-#: collect2.c:2765 ++#: collect2.c:2791 + #, gcc-internal-format, gfc-internal-format + msgid "%s: not a COFF file" + msgstr "%s: no es un fichero COFF" + +-#: collect2.c:2930 ++#: collect2.c:2961 + #, gcc-internal-format, gfc-internal-format + msgid "%s: cannot open as COFF file" + msgstr "%s: no se puede abrir como un fichero COFF" + +-#: collect2.c:2989 ++#: collect2.c:3020 + #, gcc-internal-format, gfc-internal-format + msgid "library lib%s not found" + msgstr "no se encontró la biblioteca lib%s" +@@ -17959,12 +17979,12 @@ + msgid "multiple EH personalities are supported only with assemblers supporting .cfi_personality directive" + msgstr "sólo se admiten múltiples personalidades EH con ensambladores que admiten la directiva cfi.personality" + +-#: dwarf2out.c:10901 ++#: dwarf2out.c:10909 + #, gcc-internal-format + msgid "-gdwarf-6 is output as version 5 with incompatibilities" + msgstr "" + +-#: dwarf2out.c:14415 ++#: dwarf2out.c:14423 + #, gcc-internal-format, gfc-internal-format + msgid "non-delegitimized UNSPEC %s (%d) found in variable location" + msgstr "se encontró UNSPEC %s (%d) que no está delegitimado la ubicación de variable" +@@ -18084,11 +18104,6 @@ + msgid "%Kcall to %qs declared with attribute warning: %s" + msgstr "%Kla llamada a %qs se redecló con aviso de atributo: %s" + +-#: file-prefix-map.c:50 +-#, gcc-internal-format +-msgid "invalid argument %qs to %qs" +-msgstr "argumento %qs no válido para %qs" +- + #: final.c:1868 + #, gcc-internal-format + msgid "the frame size of %wd bytes is larger than %wd bytes" +@@ -18109,42 +18124,42 @@ + msgid "large fixed-point constant implicitly truncated to fixed-point type" + msgstr "se truncó la constante de coma fija grande implícitamente al tipo de coma fija" + +-#: fold-const.c:4151 fold-const.c:4161 ++#: fold-const.c:4157 fold-const.c:4167 + #, gcc-internal-format, gfc-internal-format + msgid "comparison is always %d due to width of bit-field" + msgstr "la comparación siempre es %d debido a la anchura del campo de bit" + +-#: fold-const.c:5478 tree-ssa-reassoc.c:2374 tree-ssa-reassoc.c:3214 ++#: fold-const.c:5484 tree-ssa-reassoc.c:2379 tree-ssa-reassoc.c:3219 + #, gcc-internal-format + msgid "assuming signed overflow does not occur when simplifying range test" + msgstr "se asume que el desbordamiento con signo no sucede al simplificar la prueba de rango" + +-#: fold-const.c:5928 fold-const.c:5942 ++#: fold-const.c:5934 fold-const.c:5948 + #, gcc-internal-format, gfc-internal-format + msgid "comparison is always %d" + msgstr "la comparación siempre es %d" + +-#: fold-const.c:6085 ++#: fold-const.c:6091 + #, gcc-internal-format + msgid "% of unmatched not-equal tests is always 1" + msgstr "un % de pruebas no equivalentes sin coincidencia siempre es 1" + +-#: fold-const.c:6090 ++#: fold-const.c:6096 + #, gcc-internal-format + msgid "% of mutually exclusive equal-tests is always 0" + msgstr "un % de pruebas equivalentes mutuamente exclusivas siempre es 0" + +-#: fold-const.c:8310 ++#: fold-const.c:8316 + #, gcc-internal-format + msgid "assuming signed overflow does not occur when reducing constant in comparison" + msgstr "se asume que el desbordamiento con signo no sucede cuando se reduce la constante en comparación" + +-#: fold-const.c:8710 ++#: fold-const.c:8716 + #, gcc-internal-format + 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:12063 ++#: fold-const.c:12069 + #, gcc-internal-format + msgid "fold check: original tree changed by fold" + msgstr "fold check: el árbol original cambió por un pliegue" +@@ -18154,7 +18169,7 @@ + msgid "total size of local objects too large" + msgstr "el tamaño total de los objetos locales es demasiado grande" + +-#: function.c:1776 gimplify.c:6270 ++#: function.c:1776 gimplify.c:6273 + #, gcc-internal-format + msgid "impossible constraint in %" + msgstr "restricción imposible en %" +@@ -18459,7 +18474,7 @@ + msgid "%s: linker input file unused because linking not done" + msgstr "%s: no se usó el fichero de entrada del enlazador porque no se hizo enlace" + +-#: gcc.c:8420 c-family/c-opts.c:770 ++#: gcc.c:8420 c-family/c-opts.c:768 + #, gcc-internal-format + msgid "cannot use %<-%> as input filename for a precompiled header" + msgstr "" +@@ -18694,7 +18709,7 @@ + msgid "%G%qD destination unchanged after copying no bytes" + msgstr "destino %G%qD intacto tras no copiar ningún byte" + +-#: gimple-fold.c:2052 tree-ssa-strlen.c:2050 ++#: gimple-fold.c:2052 tree-ssa-strlen.c:2074 + msgid "%G%qD specified bound %E equals destination size" + msgstr "el límite de %G%qD especificado %E es igual al tamaño del destino" + +@@ -18716,12 +18731,12 @@ + msgid "null pointer dereference" + msgstr "desreferencia a puntero nulo" + +-#: gimple-ssa-isolate-paths.c:429 gimple-ssa-isolate-paths.c:549 tree.c:12451 +-#: tree.c:12488 c/c-typeck.c:2908 c/c-typeck.c:2994 c/c-typeck.c:10147 +-#: c/c-typeck.c:10164 c/gimple-parser.c:1616 c/gimple-parser.c:1624 ++#: gimple-ssa-isolate-paths.c:429 gimple-ssa-isolate-paths.c:549 tree.c:12455 ++#: tree.c:12492 c/c-typeck.c:2908 c/c-typeck.c:2994 c/c-typeck.c:10152 ++#: c/c-typeck.c:10169 c/gimple-parser.c:1616 c/gimple-parser.c:1624 + #: cp/call.c:6493 cp/call.c:8098 cp/constexpr.c:820 cp/constexpr.c:2309 +-#: cp/cvt.c:1015 cp/cvt.c:1042 cp/decl.c:7334 cp/decl2.c:5256 cp/pt.c:8334 +-#: cp/semantics.c:1836 cp/semantics.c:4053 cp/typeck.c:1700 cp/typeck.c:1895 ++#: cp/cvt.c:1015 cp/cvt.c:1042 cp/decl.c:7355 cp/decl2.c:5246 cp/pt.c:8348 ++#: cp/semantics.c:1836 cp/semantics.c:4056 cp/typeck.c:1700 cp/typeck.c:1895 + #: cp/typeck.c:3837 + #, gcc-internal-format + msgid "declared here" +@@ -18732,27 +18747,27 @@ + msgid "nonnull argument %qD compared to NULL" + msgstr "argumento %qD no nulo comparado con NULL" + +-#: gimple-ssa-sprintf.c:2517 gimple-ssa-sprintf.c:2637 ++#: gimple-ssa-sprintf.c:2555 gimple-ssa-sprintf.c:2675 + #, 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:2519 gimple-ssa-sprintf.c:2639 ++#: gimple-ssa-sprintf.c:2557 gimple-ssa-sprintf.c:2677 + #, 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:2522 gimple-ssa-sprintf.c:2642 ++#: gimple-ssa-sprintf.c:2560 gimple-ssa-sprintf.c:2680 + #, 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:2524 gimple-ssa-sprintf.c:2644 ++#: gimple-ssa-sprintf.c:2562 gimple-ssa-sprintf.c:2682 + #, 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:2534 ++#: gimple-ssa-sprintf.c:2572 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size %wu" + msgid_plural "%<%.*s%> directive writing %wu bytes into a region of size %wu" +@@ -18759,7 +18774,7 @@ + msgstr[0] "directiva %<%.*s%> escribiendo %wu byte en una región de tamaño %wu" + msgstr[1] "directiva %<%.*s%> escribiendo %wu bytes en una región de tamaño %wu" + +-#: gimple-ssa-sprintf.c:2541 ++#: gimple-ssa-sprintf.c:2579 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size %wu" + msgid_plural "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size %wu" +@@ -18766,7 +18781,7 @@ + msgstr[0] "salida de la directiva %<%.*s%> podría truncarse escribiendo %wu byte en una región de tamaño %wu" + msgstr[1] "salida de la directiva %<%.*s%> podría truncarse escribiendo %wu bytes en una región de tamaño %wu" + +-#: gimple-ssa-sprintf.c:2548 ++#: gimple-ssa-sprintf.c:2586 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size %wu" + msgid_plural "%<%.*s%> directive output truncated writing %wu bytes into a region of size %wu" +@@ -18773,67 +18788,67 @@ + msgstr[0] "salida de la directiva %<%.*s%> truncada escribiendo %wu byte en una región de tamaño %wu" + msgstr[1] "salida de la directiva %<%.*s%> truncada escribiendo %wu bytes en una región de tamaño %wu" + +-#: gimple-ssa-sprintf.c:2559 ++#: gimple-ssa-sprintf.c:2597 + #, 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:2562 ++#: gimple-ssa-sprintf.c:2600 + #, 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:2564 ++#: gimple-ssa-sprintf.c:2602 + #, 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:2576 ++#: gimple-ssa-sprintf.c:2614 + #, 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:2579 ++#: gimple-ssa-sprintf.c:2617 + #, 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:2582 ++#: gimple-ssa-sprintf.c:2620 + #, 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:2591 ++#: gimple-ssa-sprintf.c:2629 + #, 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:2594 ++#: gimple-ssa-sprintf.c:2632 + #, 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:2597 ++#: gimple-ssa-sprintf.c:2635 + #, 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:2606 ++#: gimple-ssa-sprintf.c:2644 + #, 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:2609 ++#: gimple-ssa-sprintf.c:2647 + #, 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:2611 ++#: gimple-ssa-sprintf.c:2649 + #, 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:2653 ++#: gimple-ssa-sprintf.c:2691 + #, gcc-internal-format + msgid "%<%.*s%> directive writing %wu byte into a region of size between %wu and %wu" + msgid_plural "%<%.*s%> directive writing %wu bytes into a region of size between %wu and %wu" +@@ -18840,7 +18855,7 @@ + msgstr[0] "directiva %<%.*s%> escribiendo %wu byte en una región de un tamaño entre %wu y %wu" + msgstr[1] "directiva %<%.*s%> escribiendo %wu bytes en una región de un tamaño entre %wu y %wu" + +-#: gimple-ssa-sprintf.c:2660 ++#: gimple-ssa-sprintf.c:2698 + #, gcc-internal-format + msgid "%<%.*s%> directive output may be truncated writing %wu byte into a region of size between %wu and %wu" + msgid_plural "%<%.*s%> directive output may be truncated writing %wu bytes into a region of size between %wu and %wu" +@@ -18847,7 +18862,7 @@ + msgstr[0] "la salida de la directiva %<%.*s%> podría truncarse al escribir %wu byte en una región de un tamaño entre %wu y %wu" + msgstr[1] "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:2668 ++#: gimple-ssa-sprintf.c:2706 + #, gcc-internal-format + msgid "%<%.*s%> directive output truncated writing %wu byte into a region of size between %wu and %wu" + msgid_plural "%<%.*s%> directive output truncated writing %wu bytes into a region of size between %wu and %wu" +@@ -18854,102 +18869,102 @@ + msgstr[0] "salida de la directiva %<%.*s%> truncada escribiendo %wu byte en una región de un tamaño entre %wu y %wu" + msgstr[1] "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:2680 ++#: gimple-ssa-sprintf.c:2718 + #, 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:2683 ++#: gimple-ssa-sprintf.c:2721 + #, 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:2686 ++#: gimple-ssa-sprintf.c:2724 + #, 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:2699 ++#: gimple-ssa-sprintf.c:2737 + #, 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:2702 ++#: gimple-ssa-sprintf.c:2740 + #, 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:2705 ++#: gimple-ssa-sprintf.c:2743 + #, 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:2715 ++#: gimple-ssa-sprintf.c:2753 + #, 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:2718 ++#: gimple-ssa-sprintf.c:2756 + #, 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:2721 ++#: gimple-ssa-sprintf.c:2759 + #, 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:2730 ++#: gimple-ssa-sprintf.c:2768 + #, 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:2733 ++#: gimple-ssa-sprintf.c:2771 + #, 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:2736 ++#: gimple-ssa-sprintf.c:2774 + #, 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:2825 ++#: gimple-ssa-sprintf.c:2863 + #, gcc-internal-format + msgid "%<%.*s%> directive argument is null" + msgstr "el argumento de la directiva %<%.*s%> es nulo" + +-#: gimple-ssa-sprintf.c:2890 ++#: gimple-ssa-sprintf.c:2928 + #, gcc-internal-format + msgid "%<%.*s%> directive output of %wu bytes exceeds minimum required size of 4095" + msgstr "la salida de la directiva %<%.*s%> de %wu bytes supera el tamaño mínimo requerido de 4095" + +-#: gimple-ssa-sprintf.c:2897 ++#: gimple-ssa-sprintf.c:2935 + #, 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:2900 ++#: gimple-ssa-sprintf.c:2938 + #, 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:2929 ++#: gimple-ssa-sprintf.c:2967 + #, gcc-internal-format + msgid "%<%.*s%> directive output of %wu bytes causes result to exceed %" + msgstr "la salida de la directiva %<%.*s%> de %wu bytes provoca que el resultado supere %" + +-#: gimple-ssa-sprintf.c:2936 ++#: gimple-ssa-sprintf.c:2974 + #, 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:2939 ++#: gimple-ssa-sprintf.c:2977 + #, 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:2949 ++#: gimple-ssa-sprintf.c:2987 + #, gcc-internal-format + msgid "assuming directive output of %wu byte" + msgid_plural "assuming directive output of %wu bytes" +@@ -18956,77 +18971,77 @@ + msgstr[0] "se asume salida de directiva de %wu byte" + msgstr[1] "se asume salida de directiva de %wu bytes" + +-#: gimple-ssa-sprintf.c:2956 ++#: gimple-ssa-sprintf.c:2994 + #, gcc-internal-format + msgid "directive argument %qE" + msgstr "argumento de la directiva %qE" + +-#: gimple-ssa-sprintf.c:2958 ++#: gimple-ssa-sprintf.c:2996 + #, 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:2962 ++#: gimple-ssa-sprintf.c:3000 + #, 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:2982 ++#: gimple-ssa-sprintf.c:3020 + #, 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:2983 ++#: gimple-ssa-sprintf.c:3021 + #, 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:2987 ++#: gimple-ssa-sprintf.c:3025 + #, 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:2992 ++#: gimple-ssa-sprintf.c:3030 + #, 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:2997 ++#: gimple-ssa-sprintf.c:3035 + #, 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:3368 ++#: gimple-ssa-sprintf.c:3406 + #, gcc-internal-format + msgid "%<%.*s%> directive width out of range" + msgstr "anchura de la directiva %<%.*s%> fuera de rango" + +-#: gimple-ssa-sprintf.c:3402 ++#: gimple-ssa-sprintf.c:3440 + #, gcc-internal-format + msgid "%<%.*s%> directive precision out of range" + msgstr "precisión de la directiva %<%.*s%> fuera de rango" + +-#: gimple-ssa-sprintf.c:3893 ++#: gimple-ssa-sprintf.c:3931 + #, 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:3899 ++#: gimple-ssa-sprintf.c:3937 + #, gcc-internal-format + msgid "specified bound %wu exceeds %" + msgstr "el límite especificado %wu supera %" + +-#: gimple-ssa-sprintf.c:3949 ++#: gimple-ssa-sprintf.c:3987 + #, gcc-internal-format + msgid "null destination pointer" + msgstr "puntero de destino nulo" + +-#: gimple-ssa-sprintf.c:3966 ++#: gimple-ssa-sprintf.c:4004 + #, 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:3978 ++#: gimple-ssa-sprintf.c:4016 + #, gcc-internal-format + msgid "null format string" + msgstr "cadena de formato nula" +@@ -19239,10 +19254,10 @@ + msgstr "el desplazamiento de %G%qD %s está fuera de los límites ] del objeto %qD con tipo %qT" + + #: gimple-ssa-warn-restrict.c:1678 c/c-decl.c:3603 c/c-decl.c:3874 +-#: c/c-typeck.c:8345 cp/class.c:1346 cp/class.c:3098 cp/decl.c:3979 +-#: cp/decl.c:10753 cp/decl.c:11151 cp/decl.c:11160 cp/friend.c:384 ++#: c/c-typeck.c:8350 cp/class.c:1346 cp/class.c:3102 cp/decl.c:3979 ++#: cp/decl.c:10777 cp/decl.c:11175 cp/decl.c:11184 cp/friend.c:384 + #: cp/friend.c:393 cp/parser.c:3275 cp/parser.c:3372 cp/parser.c:3422 +-#: cp/parser.c:6327 cp/parser.c:21027 ++#: cp/parser.c:6330 cp/parser.c:21024 + #, gcc-internal-format + msgid "%qD declared here" + msgstr "%qD se declara aquí" +@@ -19314,217 +19329,217 @@ + msgid "using result of function returning %" + msgstr "se usa el resultado de una función que devuelve %" + +-#: gimplify.c:6128 ++#: gimplify.c:6131 + #, gcc-internal-format, gfc-internal-format + msgid "invalid lvalue in asm output %d" + msgstr "l-valor no válido en la salida asm %d" + +-#: gimplify.c:6271 ++#: gimplify.c:6274 + #, gcc-internal-format, gfc-internal-format + msgid "non-memory input %d must stay in memory" + msgstr "la entrada que no es de memoria %d debe permanecer en memoria" + +-#: gimplify.c:6311 gimplify.c:6320 ++#: gimplify.c:6314 gimplify.c:6323 + #, gcc-internal-format, gfc-internal-format + msgid "memory input %d is not directly addressable" + msgstr "la entrada de memoria %d no es directamente direccionable" + +-#: gimplify.c:6928 ++#: gimplify.c:6931 + #, gcc-internal-format + msgid "threadprivate variable %qE used in target region" + msgstr "se usó la variable threadprivate %qE en una región objetivo" + +-#: gimplify.c:6930 ++#: gimplify.c:6933 + #, gcc-internal-format + msgid "enclosing target region" + msgstr "región objetivo contenedora" + +-#: gimplify.c:6942 ++#: gimplify.c:6945 + #, gcc-internal-format + msgid "threadprivate variable %qE used in untied task" + msgstr "se usó la variable threadprivate %qE en una tarea sin atar" + +-#: gimplify.c:6944 ++#: gimplify.c:6947 + #, gcc-internal-format + msgid "enclosing task" + msgstr "tarea contenedora" + +-#: gimplify.c:7016 ++#: gimplify.c:7019 + #, gcc-internal-format + msgid "%qE not specified in enclosing %qs" + msgstr "no se especificó %qE en el %qs que lo contiene" + +-#: gimplify.c:7018 ++#: gimplify.c:7021 + #, gcc-internal-format + msgid "enclosing %qs" + msgstr "%qs contenedora" + +-#: gimplify.c:7143 ++#: gimplify.c:7146 + #, gcc-internal-format + msgid "%qE not specified in enclosing OpenACC %qs construct" + msgstr "no se especificó %qE en la construcción OpenACC %qs que lo contiene" + +-#: gimplify.c:7145 ++#: gimplify.c:7148 + #, gcc-internal-format + msgid "enclosing OpenACC %qs construct" + msgstr "construcción OpenACC %qs que lo contiene" + +-#: gimplify.c:7198 ++#: gimplify.c:7201 + #, gcc-internal-format + msgid "%qE with % clause used in % function" + msgstr "%qE con cláusula % usada en la función %" + +-#: gimplify.c:7206 ++#: gimplify.c:7209 + #, gcc-internal-format + msgid "%qE requires a % directive for use in a % function" + msgstr "%qE requiere una directiva % para poder usarse en una función%" + +-#: gimplify.c:7272 gimplify.c:7872 ++#: gimplify.c:7275 gimplify.c:7875 + #, gcc-internal-format + msgid "variable %qE declared in enclosing % region" + msgstr "la variable %qE se declaró en la región % que la contiene" + +-#: gimplify.c:7293 ++#: gimplify.c:7296 + #, gcc-internal-format + msgid "%qD referenced in target region does not have a mappable type" + msgstr "%qD referenciada en la región de destino no tiene un tipo al que asociarla" + +-#: gimplify.c:7411 gimplify.c:7443 ++#: gimplify.c:7414 gimplify.c:7446 + #, gcc-internal-format + msgid "iteration variable %qE is predetermined linear" + msgstr "la variable de iteración %qE se predetermina lineal" + +-#: gimplify.c:7414 ++#: gimplify.c:7417 + #, gcc-internal-format + msgid "iteration variable %qE should be private" + msgstr "la variable de iteración %qE debe ser private" + +-#: gimplify.c:7428 ++#: gimplify.c:7431 + #, gcc-internal-format + msgid "iteration variable %qE should not be firstprivate" + msgstr "la variable de iteración %qE no debe ser firstprivate" + +-#: gimplify.c:7431 ++#: gimplify.c:7434 + #, gcc-internal-format + msgid "iteration variable %qE should not be reduction" + msgstr "la variable de iteración %qE no debe ser reduction" + +-#: gimplify.c:7434 ++#: gimplify.c:7437 + #, gcc-internal-format + msgid "iteration variable %qE should not be linear" + msgstr "la variable de iteración %qE no debe ser lineal" + +-#: gimplify.c:7437 ++#: gimplify.c:7440 + #, gcc-internal-format + msgid "iteration variable %qE should not be lastprivate" + msgstr "la variable de iteración %qE no debe ser lastprivate" + +-#: gimplify.c:7440 ++#: gimplify.c:7443 + #, gcc-internal-format + msgid "iteration variable %qE should not be private" + msgstr "la variable de iteración %qE no debe ser private" + +-#: gimplify.c:7742 ++#: gimplify.c:7745 + #, gcc-internal-format + msgid "% clause for variable other than loop iterator specified on construct combined with %" + msgstr "cláusula % para una variable que no es iterador de bucle especificada en una construcción combinada con %" + +-#: gimplify.c:7949 ++#: gimplify.c:7952 + #, gcc-internal-format + msgid "mapping field %qE of variable length structure" + msgstr "se asocia el campo %qE de una estructura de longitud variable" + +-#: gimplify.c:8160 ++#: gimplify.c:8163 + #, gcc-internal-format + msgid "%qE appears more than once in map clauses" + msgstr "%qE aparece más de una vez en las cláusulas map" + +-#: gimplify.c:8464 ++#: gimplify.c:8467 + #, gcc-internal-format + msgid "copyprivate variable %qE is not threadprivate or private in outer context" + msgstr "la variable copyprivate %qE no es threadprivate o private en el contexto externo" + +-#: gimplify.c:8484 ++#: gimplify.c:8487 + #, gcc-internal-format + msgid "%s variable %qE is private in outer context" + msgstr "la variable %s %qE es private en el contexto externo" + +-#: gimplify.c:8510 ++#: gimplify.c:8513 + #, gcc-internal-format + msgid "expected %qs % clause modifier rather than %qs" + msgstr "se esperaba el modificador de cláusula %qs % en vez de %qs" + +-#: gimplify.c:8775 ++#: gimplify.c:8778 + #, gcc-internal-format + msgid "%<_Atomic%> %qD in implicit % clause" + msgstr "%<_Atomic%> %qD en cláusula % implícita" + +-#: gimplify.c:8808 ++#: gimplify.c:8811 + #, gcc-internal-format + msgid "%<_Atomic%> %qD in implicit % clause on % construct" + msgstr "%<_Atomic%> %qD en cláusula % implícita en una construcción %" + +-#: gimplify.c:9000 ++#: gimplify.c:9003 + #, gcc-internal-format + msgid "%<_Atomic%> %qD in % clause on % construct" + msgstr "%<_Atomic%> %qD en cláusula % en una construcción %" + +-#: gimplify.c:9051 ++#: gimplify.c:9054 + #, gcc-internal-format + msgid "same variable used in % and % clauses on % construct" + msgstr "se ha usado la misma variable en cláusulas % y % en una construcción %" + +-#: gimplify.c:9133 ++#: gimplify.c:9136 + #, gcc-internal-format + msgid "incompatible data clause with reduction on %qE; promoting to present_or_copy" + msgstr "cláusula de datos incompatible con reducción en %qE; se promociona a present_or_copy" + +-#: gimplify.c:9278 ++#: gimplify.c:9281 + #, gcc-internal-format + msgid "invalid private reduction on %qE" + msgstr "reducción privada no válida en %qE" + +-#: gimplify.c:11103 omp-low.c:2791 ++#: gimplify.c:11106 omp-low.c:2791 + #, gcc-internal-format + msgid "% construct with % clause must be closely nested inside a loop with % clause with a parameter" + msgstr "la construcción % con cláusula % debe estar bien anidada dentro de un bucle con una cláusula % con un parámetro" + +-#: gimplify.c:11121 ++#: gimplify.c:11124 + #, gcc-internal-format + msgid "variable %qE is not an iteration of outermost loop %d, expected %qE" + msgstr "la variable %qE no es una iteración del bucle más externo %d; se esperaba %qE" + +-#: gimplify.c:11134 ++#: gimplify.c:11137 + #, gcc-internal-format + msgid "number of variables in % clause does not match number of iteration variables" + msgstr "el número de variables en la cláusula % no coincide con el número de variables de iteración" + +-#: gimplify.c:11147 ++#: gimplify.c:11150 + #, gcc-internal-format + msgid "more than one % clause on an % construct" + msgstr "más de una cláusula % en una construcción %" + +-#: gimplify.c:11158 ++#: gimplify.c:11161 + #, gcc-internal-format + msgid "% clause specified together with % clauses on the same construct" + msgstr "cláusula % especificada junto con cláusulas % en la misma construcción" + +-#: gimplify.c:12393 ++#: gimplify.c:12396 + #, gcc-internal-format + msgid "gimplification failed" + msgstr "falló la gimplificación" + +-#: gimplify.c:12936 ++#: gimplify.c:12939 + #, gcc-internal-format + msgid "%qT is promoted to %qT when passed through %<...%>" + msgstr "%qT se promueve a %qT cuando pasa a través de %<...%>" + +-#: gimplify.c:12941 ++#: gimplify.c:12944 + #, gcc-internal-format + msgid "(so you should pass %qT not %qT to %)" + msgstr "(así que debe pasar %qT y no %qT a %)" + +-#: gimplify.c:12948 ++#: gimplify.c:12951 + #, gcc-internal-format + msgid "if this code is reached, the program will abort" + msgstr "si se alcanza este código, el programa abortará" +@@ -19997,47 +20012,47 @@ + msgid "Max. number of generated reload insns per insn is achieved (%d)\n" + msgstr "Se ha alcanzado el número máximo de insns de recarga generadas (%d)\n" + +-#: lto-cgraph.c:1294 ++#: lto-cgraph.c:1296 + #, gcc-internal-format, gfc-internal-format + msgid "bytecode stream: found multiple instances of cgraph node with uid %d" + msgstr "flujo de bytecode: se encontraron instancias múltiples del nodo cgraph con uid %d" + +-#: lto-cgraph.c:1472 ++#: lto-cgraph.c:1474 + #, gcc-internal-format + msgid "bytecode stream: no caller found while reading edge" + msgstr "flujo de bytecode: no se encontró un llamante al leer el borde" + +-#: lto-cgraph.c:1478 ++#: lto-cgraph.c:1480 + #, gcc-internal-format + msgid "bytecode stream: no callee found while reading edge" + msgstr "flujo de bytecode: no se encontró un llamado al leer el borde" + +-#: lto-cgraph.c:1552 ++#: lto-cgraph.c:1554 + #, gcc-internal-format + msgid "bytecode stream: found empty cgraph node" + msgstr "flujo de bytecode: se encontró un nodo cgraph vacío" + +-#: lto-cgraph.c:1730 ++#: lto-cgraph.c:1732 + #, gcc-internal-format, gfc-internal-format + msgid "At most %i profile runs is supported. Perhaps corrupted profile?" + msgstr "Por lo menos se admiten %i corridas de perfil. ¿Tal vez se corrompió el perfil?" + +-#: lto-cgraph.c:1817 ++#: lto-cgraph.c:1819 + #, gcc-internal-format, gfc-internal-format + msgid "Profile information in %s corrupted" + msgstr "La información de análisis de perfil en %s está corrupta" + +-#: lto-cgraph.c:1855 ++#: lto-cgraph.c:1857 + #, gcc-internal-format, gfc-internal-format + msgid "cannot find LTO cgraph in %s" + msgstr "no se puede encontrar cgraph de LTO en %s" + +-#: lto-cgraph.c:1865 ++#: lto-cgraph.c:1867 + #, gcc-internal-format, gfc-internal-format + msgid "cannot find LTO section refs in %s" + msgstr "no se pueden encontrar las referencias de sección LTO en %s" + +-#: lto-cgraph.c:1946 ++#: lto-cgraph.c:1948 + #, gcc-internal-format, gfc-internal-format + msgid "invalid offload table in %s" + msgstr "tabla de descarga no válida en %s" +@@ -20108,81 +20123,87 @@ + 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 %qs generado con LTO versión %d.%d en lugar de la versión esperada %d.%d" + +-#: lto-wrapper.c:117 ++#: lto-wrapper.c:118 + #, gcc-internal-format + msgid "deleting LTRANS file %s: %m" + msgstr "se borra el fichero LTRANS %s: %m" + +-#: lto-wrapper.c:154 ++#: lto-wrapper.c:155 + #, gcc-internal-format + msgid "malformed COLLECT_GCC_OPTIONS" + msgstr "COLLECT_GCC_OPTIONS malformado" + +-#: lto-wrapper.c:308 ++#: lto-wrapper.c:309 + #, gcc-internal-format, gfc-internal-format + msgid "Option %s with different values" + msgstr "Opción %s con valores diferentes" + +-#: lto-wrapper.c:392 ++#: lto-wrapper.c:393 + #, gcc-internal-format, gfc-internal-format + msgid "Option %s not used consistently in all LTO input files" + msgstr "Opción %s no usada con coherencia en todos los ficheros de entrada LTO" + +-#: lto-wrapper.c:832 ++#: lto-wrapper.c:833 + #, gcc-internal-format, gfc-internal-format + msgid "problem with building target image for %s\n" + msgstr "problema al construir la imagen de destino para %s\n" + +-#: lto-wrapper.c:852 ++#: lto-wrapper.c:853 + #, gcc-internal-format + msgid "reading input file" + msgstr "leyendo fichero de entrada" + +-#: lto-wrapper.c:857 ++#: lto-wrapper.c:858 + #, gcc-internal-format + msgid "writing output file" + msgstr "escribiendo fichero de salida" + +-#: lto-wrapper.c:889 ++#: lto-wrapper.c:890 + #, gcc-internal-format + msgid "installation error, can't find crtoffloadtable.o" + msgstr "error de instalación, no se puede encontrar crtoffloadtable.o" + +-#: lto-wrapper.c:1000 lto-wrapper.c:1012 ++#: lto-wrapper.c:1001 lto-wrapper.c:1013 + #, gcc-internal-format, gfc-internal-format + msgid "%s: %s\n" + msgstr "%s: %s\n" + +-#: lto-wrapper.c:1056 ++#: lto-wrapper.c:1064 + #, gcc-internal-format + msgid "environment variable COLLECT_GCC must be set" + msgstr "se debe establecer la variable de entorno COLLECT_GCC" + +-#: lto-wrapper.c:1060 config/nvptx/mkoffload.c:363 ++#: lto-wrapper.c:1068 config/nvptx/mkoffload.c:363 + #, gcc-internal-format + msgid "environment variable COLLECT_GCC_OPTIONS must be set" + msgstr "se debe establecer la variable de entorno COLLECT_GCC_OPTIONS" + +-#: lto-wrapper.c:1229 lto-wrapper.c:1285 ++#: lto-wrapper.c:1237 lto-wrapper.c:1293 + #, gcc-internal-format + msgid "cannot open %s: %m" + msgstr "no se puede abrir %s: %m" + +-#: lto-wrapper.c:1232 lto-wrapper.c:1291 ++#: lto-wrapper.c:1240 lto-wrapper.c:1299 + #, gcc-internal-format + msgid "cannot read %s: %m" + msgstr "no se puede leer %s: %m" + +-#: lto-wrapper.c:1259 ++#: lto-wrapper.c:1267 + #, gcc-internal-format, gfc-internal-format + msgid "invalid format of %s" + msgstr "formato no válido de %s" + +-#: lto-wrapper.c:1482 ++#: lto-wrapper.c:1491 + #, gcc-internal-format + msgid "fopen: %s: %m" + msgstr "fopen: %s: %m" + ++#: lto-wrapper.c:1508 ++#, fuzzy, gcc-internal-format, gfc-internal-format ++#| msgid "Could not open output file '%s'\n" ++msgid "Corrupted ltrans output file %s" ++msgstr "No se puede abrir el fichero de salida '%s'\n" ++ + #: multiple_target.c:76 + #, gcc-internal-format + msgid "the call requires ifunc, which is not supported by this target" +@@ -20535,12 +20556,12 @@ + msgid "unrecognized argument in option %qs" + msgstr "no se reconoce el argumento en la opción %qs" + +-#: opts-common.c:1198 config/i386/i386.c:3206 ++#: opts-common.c:1198 config/i386/i386.c:3209 + #, gcc-internal-format + msgid "valid arguments to %qs are: %s; did you mean %qs?" + msgstr "los argumentos válidos para %qs son: %s; ¿quiso decir %qs?" + +-#: opts-common.c:1201 config/i386/i386.c:3209 ++#: opts-common.c:1201 config/i386/i386.c:3212 + #, gcc-internal-format + msgid "valid arguments to %qs are: %s" + msgstr "los argumentos válidos para %qs son: %s" +@@ -21135,22 +21156,22 @@ + msgid "output operand %d must use %<&%> constraint" + msgstr "el operando de salida %d debe usar la restricción %<&%>" + +-#: regcprop.c:1187 ++#: regcprop.c:1193 + #, gcc-internal-format, gfc-internal-format + msgid "validate_value_data: [%u] Bad next_regno for empty chain (%u)" + msgstr "validate_value_data: [%u] next_regno erróneo para la cadena vacía (%u)" + +-#: regcprop.c:1199 ++#: regcprop.c:1205 + #, gcc-internal-format, gfc-internal-format + msgid "validate_value_data: Loop in regno chain (%u)" + msgstr "validate_value_data: Ciclo en la cadena regno (%u)" + +-#: regcprop.c:1202 ++#: regcprop.c:1208 + #, gcc-internal-format, gfc-internal-format + msgid "validate_value_data: [%u] Bad oldest_regno (%u)" + msgstr "validate_value_data: [%u] oldest_regno erróneo (%u)" + +-#: regcprop.c:1214 ++#: regcprop.c:1220 + #, gcc-internal-format, gfc-internal-format + msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)" + msgstr "validate_value_data: [%u] Registro no vacío en la cadena (%s %u %i)" +@@ -21194,7 +21215,7 @@ + msgstr "se usó el registro de %qD para múltiples variables de registro globales" + + #: reginfo.c:789 config/powerpcspe/powerpcspe.c:32259 +-#: config/rs6000/rs6000.c:29453 ++#: config/rs6000/rs6000.c:29530 + #, gcc-internal-format + msgid "conflicts with %qD" + msgstr "genera un conflicto con %qD" +@@ -21439,153 +21460,159 @@ + msgid "function symbol is not function" + msgstr "el símbolo de función no es una función" + +-#: symtab.c:1006 ++#: symtab.c:1005 ++#, fuzzy, gcc-internal-format ++#| msgid "inconsistent file architecture detected" ++msgid "inconsistent `ifunc' attribute" ++msgstr "se detectó una arquitectura de fichero inconsistente" ++ ++#: symtab.c:1013 + #, gcc-internal-format + msgid "variable symbol is not variable" + msgstr "el símbolo de variable no es una variable" + +-#: symtab.c:1012 ++#: symtab.c:1019 + #, gcc-internal-format + msgid "node has unknown type" + msgstr "el nodo tiene un tipo desconocido" + +-#: symtab.c:1021 ++#: symtab.c:1028 + #, 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:1029 ++#: symtab.c:1036 + #, 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:1038 ++#: symtab.c:1045 + #, gcc-internal-format + msgid "assembler name hash list corrupted" + msgstr "lista hash de nombres del ensamblador corrupta" + +-#: symtab.c:1051 ++#: symtab.c:1058 + #, 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:1058 ++#: symtab.c:1065 + #, gcc-internal-format + msgid "double linked list of assembler names corrupted" + msgstr "lista doblemente enlazada de nombres del ensamblador corrrupta" + +-#: symtab.c:1063 ++#: symtab.c:1070 + #, gcc-internal-format + msgid "node has body_removed but is definition" + msgstr "el nodo tiene body_removed y sin embargo es una definición" + +-#: symtab.c:1068 ++#: symtab.c:1075 + #, 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:1073 ++#: symtab.c:1080 + #, 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:1078 ++#: symtab.c:1085 + #, gcc-internal-format + msgid "node is alias but not definition" + msgstr "el nodo es un alias pero no una definición" + +-#: symtab.c:1083 ++#: symtab.c:1090 + #, 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:1088 ++#: symtab.c:1095 + #, 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:1097 ++#: symtab.c:1104 + #, 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:1102 ++#: symtab.c:1109 + #, gcc-internal-format + msgid "same_comdat_group list across different groups" + msgstr "list same_comdat_group con grupos diferentes" + +-#: symtab.c:1107 ++#: symtab.c:1114 + #, 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:1112 ++#: symtab.c:1119 + #, gcc-internal-format + msgid "node is alone in a comdat group" + msgstr "el nodo está solo en un grupo comdat" + +-#: symtab.c:1119 ++#: symtab.c:1126 + #, gcc-internal-format + msgid "same_comdat_group is not a circular list" + msgstr "same_comdat_group no es una lista circular" + +-#: symtab.c:1134 ++#: symtab.c:1141 + #, 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:1144 ++#: symtab.c:1151 + #, 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:1151 ++#: symtab.c:1158 + #, 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:1163 ++#: symtab.c:1170 + #, gcc-internal-format + msgid "Alias and target's section differs" + msgstr "Alias y sección del objetivo difieren" + +-#: symtab.c:1170 ++#: symtab.c:1177 + #, gcc-internal-format + msgid "Alias and target's comdat groups differs" + msgstr "El alias y los grupos comdat del objetivo difieren" + +-#: symtab.c:1185 ++#: symtab.c:1192 + #, 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:1193 ++#: symtab.c:1200 + #, gcc-internal-format + msgid "Chained transparent aliases" + msgstr "Alias transparentes encadenados" + +-#: symtab.c:1216 symtab.c:1253 ++#: symtab.c:1223 symtab.c:1260 + #, gcc-internal-format + msgid "symtab_node::verify failed" + msgstr "symtab_node::falló verify" + +-#: symtab.c:1249 ++#: symtab.c:1256 + #, 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:1658 ++#: symtab.c:1665 + #, 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:1660 ++#: symtab.c:1667 + #, 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:1688 ++#: symtab.c:1695 + #, 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" +@@ -22390,7 +22417,7 @@ + msgid "the first argument of a VEC_COND_EXPR must be of a boolean vector type of the same number of elements as the result" + msgstr "el primer argumento de una VEC_COND_EXPR debe ser de tipo vector de booleanos del mismo número de elementos que el resultado" + +-#: tree-cfg.c:4395 c/c-typeck.c:5212 ++#: tree-cfg.c:4395 c/c-typeck.c:5217 + #, gcc-internal-format + msgid "type mismatch in conditional expression" + msgstr "los tipos de datos no coinciden en la expresión condicional" +@@ -22740,22 +22767,22 @@ + msgid "missing edge %i->%i" + msgstr "falta el borde %i->%i" + +-#: tree-cfg.c:9379 ++#: tree-cfg.c:9388 + #, gcc-internal-format + msgid "% function does return" + msgstr "la función % devuelve" + +-#: tree-cfg.c:9400 tree-cfg.c:9432 ++#: tree-cfg.c:9409 tree-cfg.c:9441 + #, gcc-internal-format + msgid "control reaches end of non-void function" + msgstr "el control alcanza el final de una función que no es void" + +-#: tree-cfg.c:9498 cp/cvt.c:1039 ++#: tree-cfg.c:9507 cp/cvt.c:1039 + #, gcc-internal-format + msgid "ignoring return value of %qD, declared with attribute warn_unused_result" + msgstr "se descarta el valor de devolución de %qD, se declaró con el atributo warn_unused_result" + +-#: tree-cfg.c:9503 cp/cvt.c:1046 ++#: tree-cfg.c:9512 cp/cvt.c:1046 + #, gcc-internal-format + msgid "ignoring return value of function declared with attribute warn_unused_result" + msgstr "se descarta el valor de devolución de la función declarada con atributo warn_unused_result" +@@ -23022,48 +23049,48 @@ + msgid "stmt volatile flag not up-to-date" + msgstr "la opción volatile de stmt no está actualizada" + +-#: tree-ssa-strlen.c:1975 ++#: tree-ssa-strlen.c:1999 + msgid "%G%qD output truncated before terminating nul copying %E byte from a string of the same length" + msgid_plural "%G%qD output truncated before terminating nul copying %E bytes from a string of the same length" + msgstr[0] "" + msgstr[1] "" + +-#: tree-ssa-strlen.c:1989 ++#: tree-ssa-strlen.c:2013 + msgid "%G%qD output truncated copying %E byte from a string of length %wu" + msgid_plural "%G%qD output truncated copying %E bytes from a string of length %wu" + msgstr[0] "salida de %G%qD truncada copiando %E byte desde una cadena de longitud %wu" + msgstr[1] "salida de %G%qD truncada copiando %E bytes desde una cadena de longitud %wu" + +-#: tree-ssa-strlen.c:1996 ++#: tree-ssa-strlen.c:2020 + msgid "%G%qD output truncated copying between %wu and %wu bytes from a string of length %wu" + msgstr "salida de %G%qD truncada copiando entre %wu y %wu bytes desde una cadena de longitud %wu" + +-#: tree-ssa-strlen.c:2008 ++#: tree-ssa-strlen.c:2032 + msgid "%G%qD output may be truncated copying %E byte from a string of length %wu" + msgid_plural "%G%qD output may be truncated copying %E bytes from a string of length %wu" + msgstr[0] "la salida de %G%qD puede truncarse copiando %E byte desde una cadena de longitud %wu" + msgstr[1] "la salida de %G%qD puede truncarse copiando %E bytes desde una cadena de longitud %wu" + +-#: tree-ssa-strlen.c:2015 tree-ssa-strlen.c:2029 ++#: tree-ssa-strlen.c:2039 tree-ssa-strlen.c:2053 + msgid "%G%qD output may be truncated copying between %wu and %wu bytes from a string of length %wu" + msgstr "la salida de %G%qD puede truncarse copiando entre %wu y %wu bytes desde una cadena de longitud %wu" + +-#: tree-ssa-strlen.c:2150 ++#: tree-ssa-strlen.c:2174 + #, fuzzy + #| msgid "%qE output truncated before the last format character" + msgid "%G%qD output truncated before terminating nul copying as many bytes from a string as its length" + msgstr "la salida %qE podría truncarse antes del último carácter de formato" + +-#: tree-ssa-strlen.c:2156 ++#: tree-ssa-strlen.c:2180 + msgid "%G%qD specified bound depends on the length of the source argument" + msgstr "%G%qD: el límite especificado depende de la longitud del argumento origen" + +-#: tree-ssa-strlen.c:2163 ++#: tree-ssa-strlen.c:2187 + #, gcc-internal-format + msgid "length computed here" + msgstr "la longitud se calcula aquí" + +-#: tree-ssa-uninit.c:191 varasm.c:331 ++#: tree-ssa-uninit.c:191 varasm.c:342 + #, gcc-internal-format + msgid "%qD was declared here" + msgstr "%qD se declaró aquí" +@@ -23238,27 +23265,27 @@ + msgid "target specific builtin not available" + msgstr "no está disponible la orden interna específica del objetivo" + +-#: tree-vect-generic.c:287 ++#: tree-vect-generic.c:283 + #, gcc-internal-format + msgid "vector operation will be expanded piecewise" + msgstr "la operación vectorial se expandirá por piezas" + +-#: tree-vect-generic.c:290 ++#: tree-vect-generic.c:286 + #, gcc-internal-format + msgid "vector operation will be expanded in parallel" + msgstr "la operación vectorial se expandirá en paralelo" + +-#: tree-vect-generic.c:341 ++#: tree-vect-generic.c:337 + #, gcc-internal-format + msgid "vector operation will be expanded with a single scalar operation" + msgstr "la operación vectorial se expandirá con una sola operación escalar" + +-#: tree-vect-generic.c:941 ++#: tree-vect-generic.c:937 + #, gcc-internal-format + msgid "vector condition will be expanded piecewise" + msgstr "la condición vectorial se expandirá por piezas" + +-#: tree-vect-generic.c:1373 ++#: tree-vect-generic.c:1369 + #, gcc-internal-format + msgid "vector shuffling operation will be expanded piecewise" + msgstr "la operación de ordenamiento vectorial se expandirá por piezas" +@@ -23268,27 +23295,27 @@ + msgid "vectorization did not happen for a simd loop" + msgstr "no se ha producido vectorización para un bucle simd" + +-#: tree-vrp.c:4930 tree-vrp.c:4974 ++#: tree-vrp.c:4931 tree-vrp.c:4975 + #, gcc-internal-format + msgid "array subscript %E is above array bounds of %qT" + msgstr "el subíndice %E de la matriz está por encima de los límites de matriz de %qT" + +-#: tree-vrp.c:4956 ++#: tree-vrp.c:4957 + #, gcc-internal-format + msgid "array subscript [%E, %E] is outside array bounds of %qT" + msgstr "el subíndice [%E, %E] de la matriz está fuera de los límites de matriz de %qT" + +-#: tree-vrp.c:4988 ++#: tree-vrp.c:4989 + #, gcc-internal-format + msgid "array subscript %E is below array bounds of %qT" + msgstr "el subíndice %E de la matriz está por debajo de los límites de matriz de %qT" + +-#: tree-vrp.c:5046 ++#: tree-vrp.c:5047 + #, gcc-internal-format + msgid "array subscript %wi is below array bounds of %qT" + msgstr "el subíndice %wi de la matriz está por debajo de los límites de matriz de %qT" + +-#: tree-vrp.c:5060 ++#: tree-vrp.c:5061 + #, gcc-internal-format + msgid "array subscript %wu is above array bounds of %qT" + msgstr "el subíndice %wu de la matriz está por encima de los límites de matriz de %qT" +@@ -23303,92 +23330,92 @@ + msgid "side-effects element in no-side-effects CONSTRUCTOR" + msgstr "elemento con efectos colaterales en CONSTRUCTOR sin efectos colaterales" + +-#: tree.c:7852 ++#: tree.c:7856 + #, gcc-internal-format + msgid "arrays of functions are not meaningful" + msgstr "las matrices de funciones no tienen significado" + +-#: tree.c:8019 ++#: tree.c:8023 + #, 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:9327 tree.c:9412 tree.c:9473 ++#: tree.c:9331 tree.c:9416 tree.c:9477 + #, 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:9364 ++#: tree.c:9368 + #, 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:9377 ++#: tree.c:9381 + #, 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:9426 ++#: tree.c:9430 + #, 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:9439 ++#: tree.c:9443 + #, 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:9499 ++#: tree.c:9503 + #, 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:9513 ++#: tree.c:9517 + #, 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:9525 ++#: tree.c:9529 + #, 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:9538 ++#: tree.c:9542 + #, 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:9551 ++#: tree.c:9555 + #, 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:12446 ++#: tree.c:12450 + #, gcc-internal-format + msgid "%qD is deprecated: %s" + msgstr "%qD es obsoleto: %s" + +-#: tree.c:12449 ++#: tree.c:12453 + #, gcc-internal-format + msgid "%qD is deprecated" + msgstr "%qD es obsoleto" + +-#: tree.c:12473 tree.c:12495 ++#: tree.c:12477 tree.c:12499 + #, gcc-internal-format + msgid "%qE is deprecated: %s" + msgstr "%qE es obsoleto: %s" + +-#: tree.c:12476 tree.c:12498 ++#: tree.c:12480 tree.c:12502 + #, gcc-internal-format + msgid "%qE is deprecated" + msgstr "%qE es obsoleto" + +-#: tree.c:12482 tree.c:12503 ++#: tree.c:12486 tree.c:12507 + #, gcc-internal-format, gfc-internal-format + msgid "type is deprecated: %s" + msgstr "el tipo es obsoleto: %s" + +-#: tree.c:12485 tree.c:12506 ++#: tree.c:12489 tree.c:12510 + #, gcc-internal-format + msgid "type is deprecated" + msgstr "el tipo es obsoleto" +@@ -23413,242 +23440,242 @@ + #. - vector types may differ by TYPE_VECTOR_OPAQUE + #. + #. Convenience macro for matching individual fields. +-#: tree.c:13043 ++#: tree.c:13047 + #, gcc-internal-format, gfc-internal-format + msgid "type variant differs by %s" + msgstr "tipo variante difiere en %s" + +-#: tree.c:13084 ++#: tree.c:13088 + #, gcc-internal-format + msgid "type variant has different TYPE_SIZE_UNIT" + msgstr "tipos variantes difieren en TYPE_SIZE_UNIT" + +-#: tree.c:13086 ++#: tree.c:13090 + #, gcc-internal-format + msgid "type variant's TYPE_SIZE_UNIT" + msgstr "TYPE_SIZE_UNIT del tipo variante" + +-#: tree.c:13088 ++#: tree.c:13092 + #, gcc-internal-format + msgid "type's TYPE_SIZE_UNIT" + msgstr "TYPE_SIZE_UNIT del tipo" + +-#: tree.c:13108 ++#: tree.c:13112 + #, gcc-internal-format + msgid "type variant with TYPE_ALIAS_SET_KNOWN_P" + msgstr "tipo variante con TYPE_ALIAS_SET_KNOWN_P" + +-#: tree.c:13121 ++#: tree.c:13125 + #, gcc-internal-format + msgid "type variant has different TYPE_VFIELD" + msgstr "tipo variante con diferente TYPE_VFIELD" + +-#: tree.c:13157 ++#: tree.c:13161 + #, gcc-internal-format + msgid "type variant has different TYPE_BINFO" + msgstr "tipo variante con diferente TYPE_BINFO" + +-#: tree.c:13159 ++#: tree.c:13163 + #, gcc-internal-format + msgid "type variant's TYPE_BINFO" + msgstr "TYPE_BINFO del tipo variante" + +-#: tree.c:13161 ++#: tree.c:13165 + #, gcc-internal-format + msgid "type's TYPE_BINFO" + msgstr "TYPE_BINFO del tipo" + +-#: tree.c:13199 ++#: tree.c:13203 + #, gcc-internal-format + msgid "type variant has different TYPE_FIELDS" + msgstr "tipo variante con diferente TYPE_FIELDS" + +-#: tree.c:13201 ++#: tree.c:13205 + #, gcc-internal-format + msgid "first mismatch is field" + msgstr "el primer descuadre es campo" + +-#: tree.c:13203 ++#: tree.c:13207 + #, gcc-internal-format + msgid "and field" + msgstr "y campo" + +-#: tree.c:13220 ++#: tree.c:13224 + #, gcc-internal-format + msgid "type variant has different TREE_TYPE" + msgstr "tipo variante con diferente TREE_TYPE" + +-#: tree.c:13222 tree.c:13233 ++#: tree.c:13226 tree.c:13237 + #, gcc-internal-format + msgid "type variant's TREE_TYPE" + msgstr "TREE_TYPE del tipo variante" + +-#: tree.c:13224 tree.c:13235 ++#: tree.c:13228 tree.c:13239 + #, gcc-internal-format + msgid "type's TREE_TYPE" + msgstr "TREE_TYPE del tipo" + +-#: tree.c:13231 ++#: tree.c:13235 + #, gcc-internal-format + msgid "type is not compatible with its variant" + msgstr "el tipo no es compatible con su variante" + +-#: tree.c:13534 ++#: tree.c:13538 + #, gcc-internal-format + msgid "Main variant is not defined" + msgstr "La variante principal no está definida" + +-#: tree.c:13539 ++#: tree.c:13543 + #, gcc-internal-format + msgid "TYPE_MAIN_VARIANT has different TYPE_MAIN_VARIANT" + msgstr "TYPE_MAIN_VARIANT tiene diferente TYPE_MAIN_VARIANT" + +-#: tree.c:13551 ++#: tree.c:13555 + #, gcc-internal-format + msgid "TYPE_CANONICAL has different TYPE_CANONICAL" + msgstr "TYPE_CANONICAL tiene diferente TYPE_CANONICAL" + +-#: tree.c:13569 ++#: tree.c:13573 + #, gcc-internal-format + msgid "TYPE_CANONICAL is not compatible" + msgstr "TYPE_CANONICAL no es compatible" + +-#: tree.c:13577 ++#: tree.c:13581 + #, gcc-internal-format + msgid "TYPE_MODE of TYPE_CANONICAL is not compatible" + msgstr "TYPE_MODE de TYPE_CANONICAL no es compatible" + +-#: tree.c:13583 ++#: tree.c:13587 + #, gcc-internal-format + msgid "TYPE_CANONICAL of main variant is not main variant" + msgstr "" + +-#: tree.c:13599 ++#: tree.c:13603 + #, 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:13609 ++#: tree.c:13613 + #, gcc-internal-format + msgid "TYPE_NEXT_PTR_TO is not POINTER_TYPE" + msgstr "TYPE_NEXT_PTR_TO no es POINTER_TYPE" + +-#: tree.c:13619 ++#: tree.c:13623 + #, gcc-internal-format + msgid "TYPE_NEXT_REF_TO is not REFERENCE_TYPE" + msgstr "TYPE_NEXT_REF_TO no es REFERENCE_TYPE" + +-#: tree.c:13640 ++#: tree.c:13644 + #, gcc-internal-format + msgid "TYPE_BINFO is not TREE_BINFO" + msgstr "TYPE_BINFO no es TREE_BINFO" + +-#: tree.c:13646 ++#: tree.c:13650 + #, gcc-internal-format + msgid "TYPE_BINFO type is not TYPE_MAIN_VARIANT" + msgstr "El tipo TYPE_BINFO no es TYPE_MAIN_VARIANT" + +-#: tree.c:13657 ++#: tree.c:13661 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not record nor union" + msgstr "TYPE_METHOD_BASETYPE no es registro ni unión" + +-#: tree.c:13668 ++#: tree.c:13672 + #, gcc-internal-format + msgid "TYPE_OFFSET_BASETYPE is not record nor union" + msgstr "TYPE_OFFSET_BASETYPE no es registro ni unión" + +-#: tree.c:13686 ++#: tree.c:13690 + #, gcc-internal-format + msgid "TYPE_ARRAY_MAX_SIZE not INTEGER_CST" + msgstr "TYPE_ARRAY_MAX_SIZE no es INTEGER_CST" + +-#: tree.c:13693 ++#: tree.c:13697 + #, gcc-internal-format + msgid "TYPE_MAX_VALUE_RAW non-NULL" + msgstr "TYPE_MAX_VALUE_RAW no NULL" + +-#: tree.c:13700 ++#: tree.c:13704 + #, 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:13716 ++#: tree.c:13720 + #, 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:13724 ++#: tree.c:13728 + #, 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:13731 ++#: tree.c:13735 + #, gcc-internal-format + msgid "Enum value name is not IDENTIFIER_NODE" + msgstr "El nombre de valor enumerado no es IDENTIFIER_NODE" + +-#: tree.c:13741 ++#: tree.c:13745 + #, gcc-internal-format + msgid "Array TYPE_DOMAIN is not integer type" + msgstr "El array TYPE_DOMAIN no es de un tipo entero" + +-#: tree.c:13750 ++#: tree.c:13754 + #, gcc-internal-format + msgid "TYPE_FIELDS defined in incomplete type" + msgstr "TYPE_FIELDS definidos en un tipo incompleto" + +-#: tree.c:13772 ++#: tree.c:13776 + #, gcc-internal-format + msgid "Wrong tree in TYPE_FIELDS list" + msgstr "Árbol incorrecto en una lista TYPE_FIELDS" + +-#: tree.c:13787 ++#: tree.c:13791 + #, 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:13793 ++#: tree.c:13797 + #, gcc-internal-format + msgid "TYPE_CACHED_VALUES is not TREE_VEC" + msgstr "TYPE_CACHED_VALUES no es TREE_VEC" + +-#: tree.c:13806 ++#: tree.c:13810 + #, gcc-internal-format + msgid "wrong TYPE_CACHED_VALUES entry" + msgstr "entrada TYPE_CACHED_VALUES incorrecta" + +-#: tree.c:13819 ++#: tree.c:13823 + #, 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:13825 ++#: tree.c:13829 + #, gcc-internal-format + msgid "Wrong entry in TYPE_ARG_TYPES list" + msgstr "Entrada incorrecta en una lista TYPE_ARG_TYPES" + +-#: tree.c:13832 ++#: tree.c:13836 + #, gcc-internal-format + msgid "TYPE_VALUES_RAW field is non-NULL" + msgstr "El campo TYPE_VALUES_RAW es no NULL" + +-#: tree.c:13844 ++#: tree.c:13848 + #, 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:13850 ++#: tree.c:13854 + #, 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:13860 ++#: tree.c:13864 + #, gcc-internal-format + msgid "TYPE_METHOD_BASETYPE is not main variant" + msgstr "TYPE_METHOD_BASETYPE no es una variante de main" + +-#: tree.c:13867 ++#: tree.c:13871 + #, gcc-internal-format + msgid "verify_type failed" + msgstr "falló verify_type" +@@ -23673,183 +23700,183 @@ + msgid "corrupted value profile: %s profile counter (%d out of %d) inconsistent with basic-block count (%d)" + msgstr "valor de perfil corrupto: la cuenta del perfilador %s (%d de %d) es inconsistente con la cuenta bloque-básico (%d)" + +-#: var-tracking.c:7166 ++#: var-tracking.c:7184 + #, gcc-internal-format + msgid "variable tracking size limit exceeded with -fvar-tracking-assignments, retrying without" + msgstr "se excedió el límite de tamaño de rastreo de variable con -fvar-tracking-assignments, se reintenta sin esa opción" + +-#: var-tracking.c:7170 ++#: var-tracking.c:7188 + #, gcc-internal-format + msgid "variable tracking size limit exceeded" + msgstr "se excedió el límite de tamaño de rastreo de variable" + +-#: varasm.c:326 ++#: varasm.c:337 + #, gcc-internal-format + msgid "%+qD causes a section type conflict with %qD" + msgstr "%+qD causa un conflicto de tipo de sección con %qD" + +-#: varasm.c:329 ++#: varasm.c:340 + #, gcc-internal-format + msgid "section type conflict with %qD" + msgstr "conflicto de tipo de sección con %qD" + +-#: varasm.c:334 ++#: varasm.c:345 + #, gcc-internal-format + msgid "%+qD causes a section type conflict" + msgstr "%+qD causa un conflicto de tipo de sección" + +-#: varasm.c:336 ++#: varasm.c:347 + #, gcc-internal-format + msgid "section type conflict" + msgstr "conflicto de tipo de sección" + +-#: varasm.c:1019 ++#: varasm.c:1030 + #, gcc-internal-format + msgid "alignment of %q+D is greater than maximum object file alignment %d" + msgstr "la alineación de %q+D es mayor que la alineación máxima del fichero objeto %d" + +-#: varasm.c:1172 ++#: varasm.c:1183 + #, gcc-internal-format + msgid "only zero initializers are allowed in section %qs" + msgstr "solo se permiten inicializadores a cero en la sección %qs" + +-#: varasm.c:1378 varasm.c:1387 ++#: varasm.c:1389 varasm.c:1398 + #, gcc-internal-format + msgid "register name not specified for %q+D" + msgstr "no se especifica un nombre de registro para %q+D" + +-#: varasm.c:1389 ++#: varasm.c:1400 + #, gcc-internal-format + msgid "invalid register name for %q+D" + msgstr "nombre de registro no válido para %q+D" + +-#: varasm.c:1391 ++#: varasm.c:1402 + #, gcc-internal-format + msgid "data type of %q+D isn%'t suitable for a register" + msgstr "el tipo de datos de %q+D no es adecuado para un registro" + +-#: varasm.c:1394 ++#: varasm.c:1405 + #, gcc-internal-format + msgid "the register specified for %q+D cannot be accessed by the current target" + msgstr "no se puede acceder al registro especificado por %q+D en el objetivo actual" + +-#: varasm.c:1397 ++#: varasm.c:1408 + #, gcc-internal-format + msgid "the register specified for %q+D is not general enough to be used as a register variable" + msgstr "el registro especificado para %q+D no es lo suficientemente general para usarse como variable de registro" + +-#: varasm.c:1400 ++#: varasm.c:1411 + #, gcc-internal-format + msgid "register specified for %q+D isn%'t suitable for data type" + msgstr "el registro especificado por %q+D no es adecuado para el tipo de datos" + +-#: varasm.c:1410 ++#: varasm.c:1421 + #, gcc-internal-format + msgid "global register variable has initial value" + msgstr "la variable de registro global tiene valor inicial" + +-#: varasm.c:1414 ++#: varasm.c:1425 + #, gcc-internal-format + msgid "optimization may eliminate reads and/or writes to register variables" + msgstr "la optimización puede eliminar lecturas y/o escrituras a variables de registro" + +-#: varasm.c:1460 ++#: varasm.c:1471 + #, gcc-internal-format + msgid "register name given for non-register variable %q+D" + msgstr "nombre de registro dado para la variable %q+D que no es registro" + +-#: varasm.c:1870 ++#: varasm.c:1881 + #, fuzzy, gcc-internal-format + #| msgid "Use alternate leaf function entries" + msgid "Patchable function entry > size" + msgstr "Usar entradas de función hojas alternadas" + +-#: varasm.c:2069 ++#: varasm.c:2080 + #, gcc-internal-format + msgid "thread-local COMMON data not implemented" + msgstr "los datos COMMON thread-local no están implementados" + +-#: varasm.c:2102 ++#: varasm.c:2113 + #, gcc-internal-format + msgid "requested alignment for %q+D is greater than implemented alignment of %wu" + msgstr "la alineación solicitada para %q+D es mayor que la alineación implementada de %wu" + +-#: varasm.c:2205 c/c-decl.c:5027 c/c-parser.c:1534 ++#: varasm.c:2216 c/c-decl.c:5027 c/c-parser.c:1534 + #, gcc-internal-format + msgid "storage size of %q+D isn%'t known" + msgstr "no se conoce el tamaño de almacenamiento de %q+D" + +-#: varasm.c:4910 ++#: varasm.c:4921 + #, gcc-internal-format + msgid "initializer for integer/fixed-point value is too complicated" + msgstr "el inicializador para un valor entero/coma fija es demasiado complicado" + +-#: varasm.c:4915 ++#: varasm.c:4926 + #, gcc-internal-format + msgid "initializer for floating value is not a floating constant" + msgstr "el inicializador para un valor de coma flotante no es una constante de coma flotante" + +-#: varasm.c:5227 ++#: varasm.c:5238 + #, gcc-internal-format + msgid "invalid initial value for member %qE" + msgstr "valor inicial no válido para el miembro %qE" + +-#: varasm.c:5487 ++#: varasm.c:5498 + #, gcc-internal-format + msgid "%+qD declared weak after being used" + msgstr "%+qD se declaró débil después de usarse" + +-#: varasm.c:5539 ++#: varasm.c:5550 + #, gcc-internal-format + msgid "weak declaration of %q+D being applied to a already existing, static definition" + msgstr "la declaración débil de %q+D se está aplicando a una definición estática que ya existe" + +-#: varasm.c:5575 ++#: varasm.c:5586 + #, gcc-internal-format + msgid "weak declaration of %q+D must be public" + msgstr "la declaración weak de %q+D debe ser public" + +-#: varasm.c:5579 ++#: varasm.c:5590 + #, gcc-internal-format + msgid "weak declaration of %q+D not supported" + msgstr "no se admite la declaración weak de %q+D" + +-#: varasm.c:5608 varasm.c:5912 ++#: varasm.c:5619 varasm.c:5926 + #, gcc-internal-format + msgid "only weak aliases are supported in this configuration" + msgstr "sólo se admiten los aliases weak en esta configuración" + +-#: varasm.c:5802 ++#: varasm.c:5813 + #, gcc-internal-format + msgid "weakref is not supported in this configuration" + msgstr "weakref no se admite en esta configuración" + +-#: varasm.c:5834 ++#: varasm.c:5846 + #, gcc-internal-format + msgid "ifunc is not supported on this target" + msgstr "no se admiten ifunc en este objetivo" + +-#: varasm.c:5892 ++#: varasm.c:5904 + #, gcc-internal-format + msgid "weakref %q+D ultimately targets itself" + msgstr "la referencia débil %q+D finalmente apunta a sí misma" + +-#: varasm.c:5894 ++#: varasm.c:5906 + #, gcc-internal-format + msgid "weakref %q+D must have static linkage" + msgstr "la referencia débil %q+D debe tener enlace estático" + +-#: varasm.c:5901 ++#: varasm.c:5913 + #, gcc-internal-format + msgid "alias definitions not supported in this configuration" + msgstr "no se admiten las definiciones de alias en esta configuración" + +-#: varasm.c:5909 ++#: varasm.c:5923 + #, gcc-internal-format + msgid "ifunc is not supported in this configuration" + msgstr "ifunc no se admite en esta configuración" + +-#: varasm.c:6127 config/sol2.c:159 config/i386/winnt.c:265 ++#: varasm.c:6141 config/sol2.c:159 config/i386/winnt.c:265 + #, gcc-internal-format + msgid "visibility attribute not supported in this configuration; ignored" + msgstr "no se admiten los atributos de visibilidad en esta configuración; descartados" +@@ -23925,467 +23952,473 @@ + msgid "bytecode stream: tag %s is not in the expected range [%s, %s]" + msgstr "flujo de bytecode: la etiqueta %s no está en el rango esperado [%s, %s]" + +-#: c-family/c-attribs.c:529 ++#: c-family/c-attribs.c:524 ++#, fuzzy, gcc-internal-format ++#| msgid "%qE attribute ignored for %qE" ++msgid "%qE attribute ignored for type %qT" ++msgstr "se descarta el atributo %qE para %qE" ++ ++#: c-family/c-attribs.c:536 + #, gcc-internal-format + msgid "%qE attribute ignored for field of type %qT" + msgstr "se descarta el atributo %qE para el campo de tipo %qT" + +-#: c-family/c-attribs.c:696 ++#: c-family/c-attribs.c:706 + #, fuzzy, gcc-internal-format + #| msgid "alias argument not a string" + msgid "no_sanitize argument not a string" + msgstr "el argumento de alias no es una cadena" + +-#: c-family/c-attribs.c:826 ada/gcc-interface/utils.c:6235 ++#: c-family/c-attribs.c:837 ada/gcc-interface/utils.c:6240 + #, gcc-internal-format + msgid "%qE attribute ignored due to conflict with attribute %qs" + msgstr "Se hace caso omiso del atributo %qE debido a un conflicto con el atributo %qs" + +-#: c-family/c-attribs.c:875 ++#: c-family/c-attribs.c:886 + #, gcc-internal-format + msgid "%qE attribute ignored. Use -fcf-protection option to enable it" + msgstr "Se descarta el atributo %qE. Utilice la opción -fcf-protection para activarlo" + +-#: c-family/c-attribs.c:914 c-family/c-attribs.c:920 c-family/c-attribs.c:3388 +-#: c-family/c-attribs.c:3423 c-family/c-attribs.c:3429 ++#: c-family/c-attribs.c:925 c-family/c-attribs.c:931 c-family/c-attribs.c:3399 ++#: c-family/c-attribs.c:3434 c-family/c-attribs.c:3440 + #, gcc-internal-format + msgid "%qE attribute ignored due to conflict with %qs attribute" + msgstr "Se hace caso omiso del atributo %qE debido a un conflicto con el atributo %qs" + +-#: c-family/c-attribs.c:976 brig/brig-lang.c:482 lto/lto-lang.c:288 ++#: c-family/c-attribs.c:987 brig/brig-lang.c:482 lto/lto-lang.c:288 + #, gcc-internal-format + msgid "%qE attribute has no effect on unit local functions" + msgstr "el atributo %qE no tiene efecto en funciones locales de unidad" + +-#: c-family/c-attribs.c:1130 ++#: c-family/c-attribs.c:1141 + #, gcc-internal-format + msgid "%qE attribute have effect only on public objects" + msgstr "el atributo %qE sólo tiene efecto en objetos públicos" + +-#: c-family/c-attribs.c:1159 ++#: c-family/c-attribs.c:1170 + #, gcc-internal-format + msgid "%qE attribute only affects top level objects" + msgstr "el atributo %qE solamente afecta a objetos de alto nivel" + +-#: c-family/c-attribs.c:1198 c-family/c-attribs.c:2682 ++#: c-family/c-attribs.c:1209 c-family/c-attribs.c:2693 + #, gcc-internal-format + msgid "%qE attribute on function returning %" + msgstr "atributo %qE en una función que devuelve %" + +-#: c-family/c-attribs.c:1221 c-family/c-pragma.c:419 ++#: c-family/c-attribs.c:1232 c-family/c-pragma.c:419 + #, gcc-internal-format + msgid "scalar_storage_order is not supported because endianness is not uniform" + msgstr "scalar_storage_order no se admite porque el endianess no es uniforme" + +-#: c-family/c-attribs.c:1238 ++#: c-family/c-attribs.c:1249 + #, gcc-internal-format + msgid "scalar_storage_order argument must be one of \"big-endian\" or \"little-endian\"" + msgstr "el argumento scalar_storage_order solo puede ser \"big-endian\" o \"little-endian\"" + +-#: c-family/c-attribs.c:1334 ++#: c-family/c-attribs.c:1345 + #, gcc-internal-format + msgid "destructor priorities are not supported" + msgstr "no se admiten las prioridades de destructor" + +-#: c-family/c-attribs.c:1336 ++#: c-family/c-attribs.c:1347 + #, gcc-internal-format + msgid "constructor priorities are not supported" + msgstr "no se admiten las prioridades de constructor" + +-#: c-family/c-attribs.c:1358 ++#: c-family/c-attribs.c:1369 + #, gcc-internal-format, gfc-internal-format + msgid "destructor priorities from 0 to %d are reserved for the implementation" + msgstr "las prioridades de destructor desde 0 hasta %d están reservadas para la implementación" + +-#: c-family/c-attribs.c:1363 ++#: c-family/c-attribs.c:1374 + #, gcc-internal-format, gfc-internal-format + msgid "constructor priorities from 0 to %d are reserved for the implementation" + msgstr "las prioridades de constructor desde 0 hasta %d están reservadas para la implementación" + +-#: c-family/c-attribs.c:1371 ++#: c-family/c-attribs.c:1382 + #, gcc-internal-format, gfc-internal-format + msgid "destructor priorities must be integers from 0 to %d inclusive" + msgstr "las prioridades de destructor deben ser enteros desde 0 hasta %d inclusive" + +-#: c-family/c-attribs.c:1374 ++#: c-family/c-attribs.c:1385 + #, gcc-internal-format, gfc-internal-format + msgid "constructor priorities must be integers from 0 to %d inclusive" + msgstr "las prioridades de constructor deben ser enteros desde 0 hasta %d inclusive" + +-#: c-family/c-attribs.c:1527 ++#: c-family/c-attribs.c:1538 + #, gcc-internal-format + msgid "unknown machine mode %qE" + msgstr "se desconoce el modo de máquina %qE" + +-#: c-family/c-attribs.c:1557 ++#: c-family/c-attribs.c:1568 + #, gcc-internal-format + msgid "specifying vector types with __attribute__ ((mode)) is deprecated" + msgstr "es obsoleto especificar tipos vectoriales con __attribute__ ((mode))" + +-#: c-family/c-attribs.c:1560 ++#: c-family/c-attribs.c:1571 + #, gcc-internal-format + msgid "use __attribute__ ((vector_size)) instead" + msgstr "utilice __attribute__ ((vector_size)) en su lugar" + +-#: c-family/c-attribs.c:1569 ++#: c-family/c-attribs.c:1580 + #, gcc-internal-format + msgid "unable to emulate %qs" + msgstr "no se puede emular %qs" + +-#: c-family/c-attribs.c:1582 ++#: c-family/c-attribs.c:1593 + #, gcc-internal-format + msgid "invalid pointer mode %qs" + msgstr "modo de puntero %qs no válido" + +-#: c-family/c-attribs.c:1599 ++#: c-family/c-attribs.c:1610 + #, gcc-internal-format + msgid "signedness of type and machine mode %qs don%'t match" + msgstr "no coinciden los signos del tipo y del modo de máquina %qs" + +-#: c-family/c-attribs.c:1610 ++#: c-family/c-attribs.c:1621 + #, gcc-internal-format + msgid "no data type for mode %qs" + msgstr "no hay tipo de datos para el modo %qs" + +-#: c-family/c-attribs.c:1620 ++#: c-family/c-attribs.c:1631 + #, gcc-internal-format + msgid "cannot use mode %qs for enumeral types" + msgstr "no se puede usar el modo %qs para tipos de enumeración" + +-#: c-family/c-attribs.c:1647 ++#: c-family/c-attribs.c:1658 + #, gcc-internal-format + msgid "mode %qs applied to inappropriate type" + msgstr "se aplicó el modo %qs a un tipo inapropiado" + +-#: c-family/c-attribs.c:1669 ++#: c-family/c-attribs.c:1680 + #, gcc-internal-format + msgid "section attributes are not supported for this target" + msgstr "no se admiten atributos de sección en este objetivo" + +-#: c-family/c-attribs.c:1675 ++#: c-family/c-attribs.c:1686 + #, gcc-internal-format + msgid "section attribute not allowed for %q+D" + msgstr "no se permite un atributo de sección para %q+D" + +-#: c-family/c-attribs.c:1681 ++#: c-family/c-attribs.c:1692 + #, gcc-internal-format + msgid "section attribute argument not a string constant" + msgstr "el argumento del atributo sección no es una constante de cadena" + +-#: c-family/c-attribs.c:1690 ++#: c-family/c-attribs.c:1701 + #, gcc-internal-format + msgid "section attribute cannot be specified for local variables" + msgstr "no se puede especificar el atributo de sección para las variables locales" + +-#: c-family/c-attribs.c:1700 config/bfin/bfin.c:4806 config/bfin/bfin.c:4857 ++#: c-family/c-attribs.c:1711 config/bfin/bfin.c:4806 config/bfin/bfin.c:4857 + #: config/bfin/bfin.c:4883 config/bfin/bfin.c:4896 + #, gcc-internal-format + msgid "section of %q+D conflicts with previous declaration" + msgstr "la sección de %q+D genera un conflicto con la declaración previa" + +-#: c-family/c-attribs.c:1708 ++#: c-family/c-attribs.c:1719 + #, gcc-internal-format + msgid "section of %q+D cannot be overridden" + msgstr "no se puede sobreescribir la sección de %q+D" + +-#: c-family/c-attribs.c:1773 ++#: c-family/c-attribs.c:1784 + #, gcc-internal-format, gfc-internal-format + msgid "requested alignment %d is larger than %d" + msgstr "la alineación solicitada %d es mayor que %d" + +-#: c-family/c-attribs.c:1866 ++#: c-family/c-attribs.c:1877 + #, gcc-internal-format + msgid "alignment may not be specified for %q+D" + msgstr "la alineación puede no estar especificada para %q+D" + +-#: c-family/c-attribs.c:1886 ++#: c-family/c-attribs.c:1897 + #, gcc-internal-format + msgid "ignoring attribute %<%E (%u)%> because it conflicts with attribute %<%E (%u)%>" + msgstr "Se descarta el atributo %<%E (%u)%> porque genera un conflicto con el atributo %<%E (%u)%>" + + #. Do not error out for attribute warn_if_not_aligned. +-#: c-family/c-attribs.c:1891 c-family/c-attribs.c:1920 ++#: c-family/c-attribs.c:1902 c-family/c-attribs.c:1931 + #, gcc-internal-format + msgid "alignment for %q+D must be at least %d" + msgstr "la alineación para %q+D debe ser por lo menos %d" + +-#: c-family/c-attribs.c:1916 ++#: c-family/c-attribs.c:1927 + #, gcc-internal-format + msgid "alignment for %q+D was previously specified as %d and may not be decreased" + msgstr "la alineación para %q+D se especifió previamente como %d y no se puede decrementar" + +-#: c-family/c-attribs.c:1943 ++#: c-family/c-attribs.c:1954 + #, gcc-internal-format + msgid "% may not be specified for %q+D" + msgstr "% puede no estar especificada para %q+D" + +-#: c-family/c-attribs.c:1986 ++#: c-family/c-attribs.c:1997 + #, gcc-internal-format + msgid "inline function %q+D declared weak" + msgstr "la función inline %q+D se declaró weak" + +-#: c-family/c-attribs.c:1991 ++#: c-family/c-attribs.c:2002 + #, gcc-internal-format + msgid "indirect function %q+D cannot be declared weak" + msgstr "la función indirecta %q+D no se puede declarar weak" + +-#: c-family/c-attribs.c:2015 ++#: c-family/c-attribs.c:2026 + #, gcc-internal-format + msgid "%qE attribute is only applicable on functions" + msgstr "el atributo %qE se aplica solamente a funciones" + +-#: c-family/c-attribs.c:2046 ++#: c-family/c-attribs.c:2057 + #, gcc-internal-format + msgid "%q+D defined both normally and as %qE attribute" + msgstr "se definió %q+D normalmente y como un atributo %qE al mismo tiempo" + +-#: c-family/c-attribs.c:2054 ++#: c-family/c-attribs.c:2065 + #, gcc-internal-format + msgid "weak %q+D cannot be defined %qE" + msgstr "weak %q+D no se puede definir como %qE" + +-#: c-family/c-attribs.c:2071 c-family/c-attribs.c:2582 ++#: c-family/c-attribs.c:2082 c-family/c-attribs.c:2593 + #, gcc-internal-format + msgid "attribute %qE argument not a string" + msgstr "el argumento del atributo %qE no es una cadena" + +-#: c-family/c-attribs.c:2106 ++#: c-family/c-attribs.c:2117 + #, gcc-internal-format + msgid "%+qD declared alias after being used" + msgstr "%+qD se declaró después de ser usado" + +-#: c-family/c-attribs.c:2108 ++#: c-family/c-attribs.c:2119 + #, gcc-internal-format + msgid "%+qD declared ifunc after being used" + msgstr "%+qD se declaró ifunc después de ser usado" + +-#: c-family/c-attribs.c:2159 ++#: c-family/c-attribs.c:2170 + #, gcc-internal-format + msgid "indirect function %q+D cannot be declared weakref" + msgstr "la función indirecta %q+D no se puede declarar weakref" + +-#: c-family/c-attribs.c:2181 ++#: c-family/c-attribs.c:2192 + #, gcc-internal-format + msgid "weakref attribute must appear before alias attribute" + msgstr "el atributo weakref debe aparecer antes de los atributos de alias" + +-#: c-family/c-attribs.c:2193 ++#: c-family/c-attribs.c:2204 + #, gcc-internal-format + msgid "%+qD declared weakref after being used" + msgstr "%+qD se declaró weakref después de ser usado" + +-#: c-family/c-attribs.c:2217 ++#: c-family/c-attribs.c:2228 + #, gcc-internal-format + msgid "%qE attribute ignored on non-class types" + msgstr "se descarta el atributo %qE en tipos que no son clases" + +-#: c-family/c-attribs.c:2223 ++#: c-family/c-attribs.c:2234 + #, gcc-internal-format + msgid "%qE attribute ignored because %qT is already defined" + msgstr "se descarta el atributo %qE porque %qT ya está definido" + +-#: c-family/c-attribs.c:2236 ++#: c-family/c-attribs.c:2247 + #, gcc-internal-format + msgid "visibility argument not a string" + msgstr "el argumento de visibilidad no es una cadena" + +-#: c-family/c-attribs.c:2248 ++#: c-family/c-attribs.c:2259 + #, gcc-internal-format + msgid "%qE attribute ignored on types" + msgstr "se descarta el atributo %qE en tipos" + +-#: c-family/c-attribs.c:2264 ++#: c-family/c-attribs.c:2275 + #, gcc-internal-format + msgid "visibility argument must be one of \"default\", \"hidden\", \"protected\" or \"internal\"" + msgstr "el argumento de visibilidad debe ser \"default\", \"hidden\", \"protected\" o \"internal\"" + +-#: c-family/c-attribs.c:2275 ++#: c-family/c-attribs.c:2286 + #, gcc-internal-format + msgid "%qD redeclared with different visibility" + msgstr "%qD se redeclaró con visibilidad diferente" + +-#: c-family/c-attribs.c:2278 c-family/c-attribs.c:2282 ++#: c-family/c-attribs.c:2289 c-family/c-attribs.c:2293 + #, gcc-internal-format + msgid "%qD was declared %qs which implies default visibility" + msgstr "%qD se declaró %qs lo cual implica visibilidad por defecto" + +-#: c-family/c-attribs.c:2320 ++#: c-family/c-attribs.c:2331 + #, gcc-internal-format + msgid "tls_model argument not a string" + msgstr "el argumento de tls_model no es una cadena" + +-#: c-family/c-attribs.c:2333 ++#: c-family/c-attribs.c:2344 + #, gcc-internal-format + msgid "tls_model argument must be one of \"local-exec\", \"initial-exec\", \"local-dynamic\" or \"global-dynamic\"" + msgstr "el argumento de tls_model debe ser \"local-exec\", \"initial-exec\", \"local-dynamic\" o \"global-dynamic\"" + +-#: c-family/c-attribs.c:2353 c-family/c-attribs.c:2656 +-#: c-family/c-attribs.c:3497 config/m32c/m32c.c:2944 ++#: c-family/c-attribs.c:2364 c-family/c-attribs.c:2667 ++#: c-family/c-attribs.c:3508 config/m32c/m32c.c:2944 + #, gcc-internal-format + msgid "%qE attribute applies only to functions" + msgstr "el atributo %qE se aplica solamente a funciones" + +-#: c-family/c-attribs.c:2417 ++#: c-family/c-attribs.c:2428 + #, gcc-internal-format + msgid "alloc_size parameter outside range" + msgstr "el parámetro de alloc_size está fuera de rango" + +-#: c-family/c-attribs.c:2443 ++#: c-family/c-attribs.c:2454 + #, gcc-internal-format + msgid "alloc_align parameter outside range" + msgstr "el parámetro de alloc_align está fuera de rango" + +-#: c-family/c-attribs.c:2467 ++#: c-family/c-attribs.c:2478 + #, gcc-internal-format + msgid "assume_aligned parameter not integer constant" + msgstr "el parámetro assume_aligned no es una constante entera" + +-#: c-family/c-attribs.c:2595 ++#: c-family/c-attribs.c:2606 + #, gcc-internal-format + msgid "only % and % flags are allowed for %<__simd__%> attribute" + msgstr "% y % son los únicos indicadores permitidos con el atributo %<__simd__%>" + +-#: c-family/c-attribs.c:2662 c-family/c-attribs.c:3503 ++#: c-family/c-attribs.c:2673 c-family/c-attribs.c:3514 + #, gcc-internal-format + msgid "can%'t set %qE attribute after definition" + msgstr "no se puede establecer el atributo %qE después de la definición" + +-#: c-family/c-attribs.c:2727 ++#: c-family/c-attribs.c:2738 + #, gcc-internal-format + msgid "%qE attribute duplicated" + msgstr "atributo %qE duplicado" + +-#: c-family/c-attribs.c:2729 ++#: c-family/c-attribs.c:2740 + #, gcc-internal-format + msgid "%qE attribute follows %qE" + msgstr "atributo %qE a continuación de %qE" + +-#: c-family/c-attribs.c:2828 ++#: c-family/c-attribs.c:2839 + #, gcc-internal-format + msgid "type was previously declared %qE" + msgstr "el tipo se declaró previamente %qE" + +-#: c-family/c-attribs.c:2841 cp/class.c:4397 ++#: c-family/c-attribs.c:2852 cp/class.c:4401 + #, gcc-internal-format + msgid "% may only be specified for a virtual function" + msgstr "% solo se puede especificar para funciones virtuales" + +-#: c-family/c-attribs.c:2899 ++#: c-family/c-attribs.c:2910 + #, gcc-internal-format + msgid "%qE argument not an identifier" + msgstr "el argumento %qE no es un identificador" + +-#: c-family/c-attribs.c:2910 ++#: c-family/c-attribs.c:2921 + #, gcc-internal-format + msgid "%qD is not compatible with %qD" + msgstr "%qD no es compatible con %qD" + +-#: c-family/c-attribs.c:2913 ++#: c-family/c-attribs.c:2924 + #, gcc-internal-format + msgid "%qE argument is not a function" + msgstr "el argumento %qE no es una función" + +-#: c-family/c-attribs.c:2961 ++#: c-family/c-attribs.c:2972 + #, gcc-internal-format + msgid "deprecated message is not a string" + msgstr "el mensaje obsoleto no es una cadena" + +-#: c-family/c-attribs.c:3002 ++#: c-family/c-attribs.c:3013 + #, gcc-internal-format + msgid "%qE attribute ignored for %qE" + msgstr "se descarta el atributo %qE para %qE" + +-#: c-family/c-attribs.c:3065 ++#: c-family/c-attribs.c:3076 + #, gcc-internal-format + msgid "invalid vector type for attribute %qE" + msgstr "tipo de vector no válido para el atributo %qE" + +-#: c-family/c-attribs.c:3071 ada/gcc-interface/utils.c:3896 ++#: c-family/c-attribs.c:3082 ada/gcc-interface/utils.c:3899 + #, gcc-internal-format + msgid "vector size not an integral multiple of component size" + msgstr "el tamaño del vector no es un múltiplo integral del tamaño del componente" + +-#: c-family/c-attribs.c:3077 ada/gcc-interface/utils.c:3903 ++#: c-family/c-attribs.c:3088 ada/gcc-interface/utils.c:3906 + #, gcc-internal-format + msgid "zero vector size" + msgstr "vector de tamaño cero" + +-#: c-family/c-attribs.c:3085 ++#: c-family/c-attribs.c:3096 + #, gcc-internal-format + msgid "number of components of the vector not a power of two" + msgstr "el número de componentes del vector no es una potencia de dos" + +-#: c-family/c-attribs.c:3118 ada/gcc-interface/utils.c:6092 ++#: c-family/c-attribs.c:3129 ada/gcc-interface/utils.c:6098 + #, gcc-internal-format + msgid "nonnull attribute without arguments on a non-prototype" + msgstr "un atributo que no es nulo sin argumento es un atributo que no es prototipo" + +-#: c-family/c-attribs.c:3137 ada/gcc-interface/utils.c:6106 ++#: c-family/c-attribs.c:3148 ada/gcc-interface/utils.c:6112 + #, gcc-internal-format, gfc-internal-format + msgid "nonnull argument has invalid operand number (argument %lu)" + msgstr "un argumento que no es nulo tiene un número de operando no válido (argumento %lu)" + +-#: c-family/c-attribs.c:3159 ada/gcc-interface/utils.c:6128 ++#: c-family/c-attribs.c:3170 ada/gcc-interface/utils.c:6134 + #, gcc-internal-format, gfc-internal-format + msgid "nonnull argument with out-of-range operand number (argument %lu, operand %lu)" + msgstr "un argumento que no es nulo con número de operando fuera de rango (argumento %lu, operando %lu)" + +-#: c-family/c-attribs.c:3168 ada/gcc-interface/utils.c:6137 ++#: c-family/c-attribs.c:3179 ada/gcc-interface/utils.c:6143 + #, gcc-internal-format, gfc-internal-format + msgid "nonnull argument references non-pointer operand (argument %lu, operand %lu)" + msgstr "un argumento que no es nulo hace referencia a un operando que no es puntero (argumento %lu, operando %lu)" + +-#: c-family/c-attribs.c:3208 ++#: c-family/c-attribs.c:3219 + #, gcc-internal-format + msgid "%qE attribute ignored on objects of type %qT" + msgstr "se descarta el atributo %qE en objetos de tipo %qT" + +-#: c-family/c-attribs.c:3216 ++#: c-family/c-attribs.c:3227 + #, gcc-internal-format + msgid "%qE attribute does not apply to functions" + msgstr "el atributo %qE no se aplica a funciones" + +-#: c-family/c-attribs.c:3273 ++#: c-family/c-attribs.c:3284 + #, gcc-internal-format + msgid "cleanup argument not an identifier" + msgstr "el argumento de limpieza no es un identificador" + +-#: c-family/c-attribs.c:3280 ++#: c-family/c-attribs.c:3291 + #, gcc-internal-format + msgid "cleanup argument not a function" + msgstr "el argumento de limpieza no es una función" + +-#: c-family/c-attribs.c:3317 ++#: c-family/c-attribs.c:3328 + #, gcc-internal-format + msgid "%qE attribute requires prototypes with named arguments" + msgstr "el atributo %qE requiere prototipos con argumentos nombrados" + +-#: c-family/c-attribs.c:3325 ++#: c-family/c-attribs.c:3336 + #, gcc-internal-format + msgid "%qE attribute only applies to variadic functions" + msgstr "el atributo %qE se aplica solamente a funciones variadic" + +-#: c-family/c-attribs.c:3341 ada/gcc-interface/utils.c:6179 ++#: c-family/c-attribs.c:3352 ada/gcc-interface/utils.c:6185 + #, gcc-internal-format + msgid "requested position is not an integer constant" + msgstr "la posición solicitada no es una constante entera" + +-#: c-family/c-attribs.c:3349 ada/gcc-interface/utils.c:6186 ++#: c-family/c-attribs.c:3360 ada/gcc-interface/utils.c:6192 + #, gcc-internal-format + msgid "requested position is less than zero" + msgstr "la posición solicitada es menor a cero" + +-#: c-family/c-attribs.c:3404 ++#: c-family/c-attribs.c:3415 + #, gcc-internal-format + msgid "empty string in attribute %" + msgstr "cadena vacía en el atributo %" + +-#: c-family/c-attribs.c:3520 ++#: c-family/c-attribs.c:3531 + #, gcc-internal-format + msgid "returns_nonnull attribute on a function not returning a pointer" + msgstr "atributo returns_nonnull en una función que no devuelve puntero" + +-#: c-family/c-attribs.c:3535 ++#: c-family/c-attribs.c:3546 + #, gcc-internal-format + msgid "%qE attribute is only valid on % type" + msgstr "el atributo %qE solo es válido con tipos %" +@@ -24430,12 +24463,12 @@ + msgid "__builtin_shuffle argument vector(s) inner type must have the same size as inner type of the mask" + msgstr "el tipo interno del vector (o vectores) argumento de __builtin_shuffle debe tener el mismo tamaño que el tipo interno de la máscara" + +-#: c-family/c-common.c:1262 c-family/c-warn.c:1194 ++#: c-family/c-common.c:1262 c-family/c-warn.c:1202 + #, gcc-internal-format + msgid "unsigned conversion from %qT to %qT changes value from %qE to %qE" + msgstr "la conversión sin signo de %qT a %qT cambia el valor de %qE a %qE" + +-#: c-family/c-common.c:1267 c-family/c-warn.c:1202 ++#: c-family/c-common.c:1267 c-family/c-warn.c:1210 + #, gcc-internal-format + msgid "unsigned conversion from %qT to %qT changes the value of %qE" + msgstr "la conversión sin signo de %qT a %qT cambia el valor de %qE" +@@ -24565,7 +24598,7 @@ + msgid "suggest parentheses around assignment used as truth value" + msgstr "se sugieren paréntesis alrededor de la asignación usada como valor verdadero" + +-#: c-family/c-common.c:3518 c/c-decl.c:4325 c/c-decl.c:6430 c/c-typeck.c:14177 ++#: c-family/c-common.c:3518 c/c-decl.c:4325 c/c-decl.c:6450 c/c-typeck.c:14182 + #, gcc-internal-format + msgid "invalid use of %" + msgstr "uso no válido de %" +@@ -24645,7 +24678,7 @@ + msgid "duplicate case value" + msgstr "valor de case duplicado" + +-#: c-family/c-common.c:4867 c-family/c-warn.c:2216 ++#: c-family/c-common.c:4867 c-family/c-warn.c:2225 + #, gcc-internal-format + msgid "previously used here" + msgstr "se usó previamente aquí" +@@ -24690,193 +24723,193 @@ + msgid "missing sentinel in function call" + msgstr "falta un centinela en la llamada a la función" + +-#: c-family/c-common.c:5411 ++#: c-family/c-common.c:5409 + #, gcc-internal-format, gfc-internal-format + msgid "null argument where non-null required (argument %lu)" + msgstr "argumento nulo donde se requiere uno que no sea nulo (argumento %lu)" + +-#: c-family/c-common.c:5506 c-family/c-common.c:5553 ++#: c-family/c-common.c:5504 c-family/c-common.c:5551 + #, gcc-internal-format + msgid "bad option %qs to attribute %" + msgstr "opción %qs errónea para el atributo %" + +-#: c-family/c-common.c:5509 c-family/c-common.c:5557 ++#: c-family/c-common.c:5507 c-family/c-common.c:5555 + #, gcc-internal-format + msgid "bad option %qs to pragma %" + msgstr "opción %qs errónea para el pragma %" + +-#: c-family/c-common.c:5589 ++#: c-family/c-common.c:5587 + #, gcc-internal-format + msgid "% attribute specified multiple times" + msgstr "atributo % especificado múltiples veces" + +-#: c-family/c-common.c:5593 ++#: c-family/c-common.c:5591 + #, gcc-internal-format + msgid "% attribute specified with a parameter" + msgstr "el atributo % se especificó con un parámetro" + +-#: c-family/c-common.c:5733 c-family/c-common.c:6485 c-family/c-common.c:6558 ++#: c-family/c-common.c:5731 c-family/c-common.c:6477 c-family/c-common.c:6550 + #: c/c-typeck.c:3555 + #, gcc-internal-format + msgid "too few arguments to function %qE" + msgstr "faltan argumentos para la función %qE" + +-#: c-family/c-common.c:5738 c-family/c-common.c:6584 c/c-typeck.c:3284 ++#: c-family/c-common.c:5736 c-family/c-common.c:6576 c/c-typeck.c:3284 + #, gcc-internal-format + msgid "too many arguments to function %qE" + msgstr "demasiados argumentos para la función %qE" + +-#: c-family/c-common.c:5769 ++#: c-family/c-common.c:5767 + #, gcc-internal-format + msgid "third argument to function %qE must be a constant integer" + msgstr "el tercer argumento de la función %qEdebe ser una constante entera" + +-#: c-family/c-common.c:5794 ++#: c-family/c-common.c:5792 + #, gcc-internal-format + msgid "second argument to function %qE must be a constant integer power of 2 between %qi and %qu bits" + msgstr "el segundo argumento de la función %qE tiene que ser una potencia de 2 entera constante entre loss bits %qi y %qu" + +-#: c-family/c-common.c:5815 c-family/c-common.c:5859 ++#: c-family/c-common.c:5813 c-family/c-common.c:5857 + #, gcc-internal-format + msgid "non-floating-point argument in call to function %qE" + msgstr "argumento que no es de coma flotante en la llamada a la función %qE" + +-#: c-family/c-common.c:5838 ++#: c-family/c-common.c:5836 + #, gcc-internal-format + msgid "non-floating-point arguments in call to function %qE" + msgstr "argumentos que no son de coma flotante en la llamada a la función %qE" + +-#: c-family/c-common.c:5852 ++#: c-family/c-common.c:5850 + #, gcc-internal-format + msgid "non-const integer argument %u in call to function %qE" + msgstr "argumento %u entero que no es constante en la llamada a la función %qE" + +-#: c-family/c-common.c:5872 ++#: c-family/c-common.c:5870 + #, gcc-internal-format + msgid "non-integer argument 3 in call to function %qE" + msgstr "el argumento 3 no es entero en la llamada a la función %qE" + +-#: c-family/c-common.c:5889 c-family/c-common.c:5925 ++#: c-family/c-common.c:5887 c-family/c-common.c:5923 + #, gcc-internal-format + msgid "argument %u in call to function %qE does not have integral type" + msgstr "el argumento %u en la llamada a la función %qE no tiene un tipo entero" + +-#: c-family/c-common.c:5896 ++#: c-family/c-common.c:5894 + #, gcc-internal-format + msgid "argument 3 in call to function %qE does not have pointer to integral type" + msgstr "el argumento 3 en la llamada a la función %qE no tiene un puntero a un tipo entero" + +-#: c-family/c-common.c:5902 ++#: c-family/c-common.c:5900 + #, gcc-internal-format + msgid "argument 3 in call to function %qE has pointer to enumerated type" + msgstr "el argumento 3 en la llamada a la función %qE tiene un puntero a un tipo enumerado" + +-#: c-family/c-common.c:5908 ++#: c-family/c-common.c:5906 + #, gcc-internal-format + msgid "argument 3 in call to function %qE has pointer to boolean type" + msgstr "el argumento 3 en la llamada a la función %qE tiene un puntero a un tipo boolean" + +-#: c-family/c-common.c:5931 ++#: c-family/c-common.c:5929 + #, gcc-internal-format + msgid "argument 3 in call to function %qE has enumerated type" + msgstr "el argumento 3 en la llamada a la función %qE tiene un tipo enumerado" + +-#: c-family/c-common.c:5937 ++#: c-family/c-common.c:5935 + #, gcc-internal-format + msgid "argument 3 in call to function %qE has boolean type" + msgstr "el argumento 3 en la llamada a la función %qE tiene un tipo boolean" + +-#: c-family/c-common.c:6184 ++#: c-family/c-common.c:6183 + #, gcc-internal-format + msgid "cannot apply % to static data member %qD" + msgstr "no se puede aplicar % al dato miembro static %qD" + +-#: c-family/c-common.c:6189 ++#: c-family/c-common.c:6188 + #, gcc-internal-format + msgid "cannot apply % when % is overloaded" + msgstr "no se puede aplicar % cuando % está sobrecargado" + +-#: c-family/c-common.c:6196 ++#: c-family/c-common.c:6195 + #, gcc-internal-format + msgid "cannot apply % to a non constant address" + msgstr "no se puede aplicar % a una dirección que no es constante" + +-#: c-family/c-common.c:6209 ++#: c-family/c-common.c:6208 + #, gcc-internal-format + msgid "attempt to take address of bit-field structure member %qD" + msgstr "se intentó tomar la dirección del miembro de la estructura de campos de bits %qD" + +-#: c-family/c-common.c:6261 ++#: c-family/c-common.c:6260 + #, gcc-internal-format + 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:6427 cp/init.c:3004 cp/init.c:3023 ++#: c-family/c-common.c:6419 cp/init.c:3020 cp/init.c:3039 + #, 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:6517 ++#: c-family/c-common.c:6509 + #, 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:6651 ++#: c-family/c-common.c:6643 + #, 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:6665 ++#: c-family/c-common.c:6657 + #, 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:6674 ++#: c-family/c-common.c:6666 + #, 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:6685 ++#: c-family/c-common.c:6677 + #, 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:6706 ++#: c-family/c-common.c:6698 + #, 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:6714 ++#: c-family/c-common.c:6706 + #, 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:6720 ++#: c-family/c-common.c:6712 + #, 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:6728 ++#: c-family/c-common.c:6720 + #, 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:6740 ++#: c-family/c-common.c:6732 + #, 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:6753 ++#: c-family/c-common.c:6745 + #, 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:7672 ++#: c-family/c-common.c:7664 + #, 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:7714 c-family/c-common.c:7763 c-family/c-common.c:7779 ++#: c-family/c-common.c:7706 c-family/c-common.c:7755 c-family/c-common.c:7771 + #, gcc-internal-format + msgid "conversion of scalar %qT to vector %qT involves truncation" + msgstr "la conversión del escalar %qT al vector %qT implica truncado" +@@ -24883,22 +24916,22 @@ + + #. Reject arguments that are built-in functions with + #. no library fallback. +-#: c-family/c-common.c:7867 ++#: c-family/c-common.c:7859 + #, 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:7889 c/c-decl.c:6177 ++#: c-family/c-common.c:7881 c/c-decl.c:6197 + #, 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:7891 c/c-decl.c:6180 ++#: c-family/c-common.c:7883 c/c-decl.c:6200 + #, 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:7921 ++#: c-family/c-common.c:7913 + #, gcc-internal-format + msgid "environment variable SOURCE_DATE_EPOCH must expand to a non-negative integer less than or equal to %wd" + msgstr "" +@@ -25422,7 +25455,7 @@ + msgid "%<#pragma omp atomic capture%> uses two different variables for memory" + msgstr "%<#pragma omp atomic capture%> usa dos variables diferentes para la memoria" + +-#: c-family/c-omp.c:557 cp/semantics.c:8186 ++#: c-family/c-omp.c:557 cp/semantics.c:8189 + #, gcc-internal-format + msgid "invalid type for iteration variable %qE" + msgstr "tipo no válido para la variable de iteración %qE" +@@ -25437,22 +25470,22 @@ + msgid "%qE is not initialized" + msgstr "%qE no está inicializado" + +-#: c-family/c-omp.c:599 cp/semantics.c:8076 ++#: c-family/c-omp.c:599 cp/semantics.c:8079 + #, gcc-internal-format + msgid "missing controlling predicate" + msgstr "falta el predicado controlador" + +-#: c-family/c-omp.c:704 cp/semantics.c:7732 ++#: c-family/c-omp.c:704 cp/semantics.c:7735 + #, gcc-internal-format + msgid "invalid controlling predicate" + msgstr "predicado controlador no válido" + +-#: c-family/c-omp.c:711 cp/semantics.c:8082 ++#: c-family/c-omp.c:711 cp/semantics.c:8085 + #, gcc-internal-format + msgid "missing increment expression" + msgstr "falta la expresión de incremento" + +-#: c-family/c-omp.c:775 cp/semantics.c:7847 ++#: c-family/c-omp.c:775 cp/semantics.c:7850 + #, gcc-internal-format + msgid "invalid increment expression" + msgstr "expresión de incremento no válida" +@@ -25507,112 +25540,127 @@ + msgid "%<-Wabi=1%> is not supported, using =2" + msgstr "no se admite %<-Wabi=1%>; se usará =2" + +-#: c-family/c-opts.c:612 fortran/cpp.c:350 ++#: c-family/c-opts.c:610 fortran/cpp.c:350 + #, gcc-internal-format + msgid "output filename specified twice" + msgstr "se especificó dos veces el nombre del fichero de salida" + +-#: c-family/c-opts.c:799 ++#: c-family/c-opts.c:797 + #, gcc-internal-format + msgid "-fexcess-precision=standard for C++" + msgstr "-fexcess-precision=standard para C++" + +-#: c-family/c-opts.c:834 ++#: c-family/c-opts.c:832 + #, gcc-internal-format + msgid "-fno-gnu89-inline is only supported in GNU99 or C99 mode" + msgstr "-fno-gnu89-inline sólo se admite en modo GNU99 o C99" + +-#: c-family/c-opts.c:880 ++#: c-family/c-opts.c:878 + #, gcc-internal-format + msgid "-Wformat-y2k ignored without -Wformat" + msgstr "se descarta -Wformat-y2k sin -Wformat" + +-#: c-family/c-opts.c:882 ++#: c-family/c-opts.c:880 + #, gcc-internal-format + msgid "-Wformat-extra-args ignored without -Wformat" + msgstr "se descarta -Wformat-extra-args sin -Wformat" + +-#: c-family/c-opts.c:884 ++#: c-family/c-opts.c:882 + #, gcc-internal-format + msgid "-Wformat-zero-length ignored without -Wformat" + msgstr "se descarta -Wformat-zero-lenght sin -Wformat" + +-#: c-family/c-opts.c:886 ++#: c-family/c-opts.c:884 + #, gcc-internal-format + msgid "-Wformat-nonliteral ignored without -Wformat" + msgstr "se descarta -Wformat-nonliteral sin -Wformat" + +-#: c-family/c-opts.c:888 ++#: c-family/c-opts.c:886 + #, gcc-internal-format + msgid "-Wformat-contains-nul ignored without -Wformat" + msgstr "se descarta -Wformat-contains-nul sin -Wformat" + +-#: c-family/c-opts.c:890 ++#: c-family/c-opts.c:888 + #, gcc-internal-format + msgid "-Wformat-security ignored without -Wformat" + msgstr "se descarta -Wformat-security sin -Wformat" + +-#: c-family/c-opts.c:928 ++#: c-family/c-opts.c:918 + #, gcc-internal-format + msgid "%<-fabi-compat-version=1%> is not supported, using =2" + msgstr "no se admite %<-fabi-compat-version=1%>; se usará =2" + +-#: c-family/c-opts.c:988 ++#: c-family/c-opts.c:944 + #, gcc-internal-format ++msgid "-Wabi won't warn about anything" ++msgstr "" ++ ++#: c-family/c-opts.c:946 ++#, gcc-internal-format ++msgid "-Wabi warns about differences from the most up-to-date ABI, which is also used by default" ++msgstr "" ++ ++#: c-family/c-opts.c:949 ++#, gcc-internal-format ++msgid "use e.g. -Wabi=11 to warn about changes from GCC 7" ++msgstr "" ++ ++#: c-family/c-opts.c:1003 ++#, gcc-internal-format + msgid "external TLS initialization functions not supported on this target" + msgstr "no se admiten funciones de inicialización TLS externas en este objetivo" + +-#: c-family/c-opts.c:1001 ++#: c-family/c-opts.c:1016 + #, gcc-internal-format, gfc-internal-format + msgid "too many filenames given. Type %s --help for usage" + msgstr "demasiados nombres de ficheros. Teclee %s --help para información de modo de empleo" + +-#: c-family/c-opts.c:1016 ++#: c-family/c-opts.c:1031 + #, gcc-internal-format + msgid "opening output file %s: %m" + msgstr "abriendo el fichero de salida %s: %m" + +-#: c-family/c-opts.c:1036 ++#: c-family/c-opts.c:1051 + #, gcc-internal-format, gfc-internal-format + msgid "the \"%s\" debug format cannot be used with pre-compiled headers" + msgstr "" + +-#: c-family/c-opts.c:1190 ++#: c-family/c-opts.c:1205 + #, gcc-internal-format + msgid "opening dependency file %s: %m" + msgstr "abriendo el fichero de dependencias %s: %m" + +-#: c-family/c-opts.c:1201 ++#: c-family/c-opts.c:1216 + #, gcc-internal-format + msgid "closing dependency file %s: %m" + msgstr "cerrando el fichero de dependencias %s: %m" + +-#: c-family/c-opts.c:1204 ++#: c-family/c-opts.c:1219 + #, gcc-internal-format + msgid "when writing output to %s: %m" + msgstr "al escribir la salida a %s: %m" + +-#: c-family/c-opts.c:1284 ++#: c-family/c-opts.c:1299 + #, gcc-internal-format + msgid "to generate dependencies you must specify either -M or -MM" + msgstr "para generar dependencias debe especificar -M ó -MM" + +-#: c-family/c-opts.c:1307 ++#: c-family/c-opts.c:1322 + #, gcc-internal-format + msgid "-MG may only be used with -M or -MM" + msgstr "-MG sólo se puede usar con -M ó -MM" + +-#: c-family/c-opts.c:1340 ++#: c-family/c-opts.c:1355 + #, gcc-internal-format + msgid "-fdirectives-only is incompatible with -Wunused_macros" + msgstr "-fdirectives-only es incompatible con -Wunused_macros" + +-#: c-family/c-opts.c:1342 ++#: c-family/c-opts.c:1357 + #, gcc-internal-format + msgid "-fdirectives-only is incompatible with -traditional" + msgstr "-fdirectives-only es incompatible con -traditional" + +-#: c-family/c-opts.c:1534 ++#: c-family/c-opts.c:1549 + #, gcc-internal-format + msgid "too late for # directive to set debug directory" + msgstr "demasiado tarde para que la directiva # establezca el directorio de depuración" +@@ -25997,128 +26045,128 @@ + msgid "wrong type argument to %s" + msgstr "argumento de tipo erróneo para %s" + +-#: c-family/c-warn.c:53 c-family/c-warn.c:66 cp/constexpr.c:1847 ++#: c-family/c-warn.c:54 c-family/c-warn.c:67 cp/constexpr.c:1847 + #: cp/constexpr.c:4099 + #, gcc-internal-format + msgid "overflow in constant expression" + msgstr "desbordamiento en la expresión constante" + +-#: c-family/c-warn.c:93 ++#: c-family/c-warn.c:94 + #, gcc-internal-format + msgid "integer overflow in expression %qE of type %qT results in %qE" + msgstr "desbordamiento entero en la expresión %qE de tipo %qT da %qE" + +-#: c-family/c-warn.c:95 ++#: c-family/c-warn.c:96 + #, gcc-internal-format + msgid "integer overflow in expression of type %qT results in %qE" + msgstr "desbordamiento entero en expresión de tipo %qT da como resultado %qE" + +-#: c-family/c-warn.c:101 ++#: c-family/c-warn.c:102 + #, gcc-internal-format + msgid "floating point overflow in expression %qE of type %qT results in %qE" + msgstr "desbordamiento de coma flotante en la expresión %qE de tipo %qT da como resultado %qE" + +-#: c-family/c-warn.c:103 ++#: c-family/c-warn.c:104 + #, gcc-internal-format + msgid "floating point overflow in expression of type %qT results in %qE" + msgstr "desbordamiento de coma flotante en expresión de tipo %qT da como resultado %qE" + +-#: c-family/c-warn.c:109 ++#: c-family/c-warn.c:110 + #, gcc-internal-format + msgid "fixed-point overflow in expression %qE of type %qT results in %qE" + msgstr "desbordamiento de coma fija en la expresión %qE de tipo %qT da como resultado %qE" + +-#: c-family/c-warn.c:111 ++#: c-family/c-warn.c:112 + #, gcc-internal-format + msgid "fixed-point overflow in expression of type %qT results in %qE" + msgstr "desbordamiento de coma fija en expresión de tipo %qT da como resultado %qE" + +-#: c-family/c-warn.c:117 ++#: c-family/c-warn.c:118 + #, gcc-internal-format + msgid "vector overflow in expression %qE of type %qT results in %qE" + msgstr "desbordamiento vectorial en la expresión %qE de tipo %qT da como resultado %qE" + +-#: c-family/c-warn.c:119 ++#: c-family/c-warn.c:120 + #, gcc-internal-format + msgid "vector overflow in expression of type %qT results in %qE" + msgstr "desbordamiento vectorial en expresión de tipo %qT da como resultado %qE" + +-#: c-family/c-warn.c:126 ++#: c-family/c-warn.c:127 + #, gcc-internal-format + msgid "complex integer overflow in expression %qE of type %qT results in %qE" + msgstr "desbordamiento de entero complejo en la expresión %qE de tipo %qT da como resultado %qE" + +-#: c-family/c-warn.c:128 ++#: c-family/c-warn.c:129 + #, gcc-internal-format + msgid "complex integer overflow in expression of type %qT results in %qE" + msgstr "desbordamiento de entero complejo en expresión de tipo %qT da como resultado %qE" + +-#: c-family/c-warn.c:132 ++#: c-family/c-warn.c:133 + #, gcc-internal-format + msgid "complex floating point overflow in expression %qE of type %qT results in %qE" + msgstr "desbordamiento de coma flotante compleja en la expresión %qE de tipo %qT da como resultado %qE" + +-#: c-family/c-warn.c:134 ++#: c-family/c-warn.c:135 + #, gcc-internal-format + msgid "complex floating point overflow in expression of type %qT results in %qE" + msgstr "desbordamiento de coma flotante compleja en expresión de tipo %qT da como resultado %qE" + +-#: c-family/c-warn.c:216 ++#: c-family/c-warn.c:217 + #, gcc-internal-format + msgid "logical % applied to non-boolean constant" + msgstr "se aplicó un % lógico a una constante que no es booleana" + +-#: c-family/c-warn.c:219 ++#: c-family/c-warn.c:220 + #, gcc-internal-format + msgid "logical % applied to non-boolean constant" + msgstr "se aplicó un % lógico a una constante que no es booleana" + +-#: c-family/c-warn.c:289 ++#: c-family/c-warn.c:290 + #, gcc-internal-format + msgid "logical % of collectively exhaustive tests is always true" + msgstr "un % lógico de pruebas colectivamente exhaustivas siempre es verdadero" + +-#: c-family/c-warn.c:293 ++#: c-family/c-warn.c:294 + #, gcc-internal-format + msgid "logical % of mutually exclusive tests is always false" + msgstr "un % de pruebas equivalentes mutuamente exclusivas siempre es falso" + +-#: c-family/c-warn.c:303 ++#: c-family/c-warn.c:304 + #, gcc-internal-format + msgid "logical % of equal expressions" + msgstr "% lógico de expresiones equivalentes" + +-#: c-family/c-warn.c:306 ++#: c-family/c-warn.c:307 + #, gcc-internal-format + msgid "logical % of equal expressions" + msgstr "un % de expresiones equivalentes" + +-#: c-family/c-warn.c:384 ++#: c-family/c-warn.c:385 + #, gcc-internal-format + msgid "bitwise comparison always evaluates to false" + msgstr "comparación de bits siempre falsa" + +-#: c-family/c-warn.c:387 ++#: c-family/c-warn.c:388 + #, gcc-internal-format + msgid "bitwise comparison always evaluates to true" + msgstr "comparación de bits siempre verdadera" + +-#: c-family/c-warn.c:441 ++#: c-family/c-warn.c:442 + #, gcc-internal-format + msgid "self-comparison always evaluates to true" + msgstr "autocomparación siempre verdadera" + +-#: c-family/c-warn.c:444 ++#: c-family/c-warn.c:445 + #, gcc-internal-format + msgid "self-comparison always evaluates to false" + msgstr "autocomparación siempre falsa" + +-#: c-family/c-warn.c:494 ++#: c-family/c-warn.c:495 + #, gcc-internal-format + msgid "logical not is only applied to the left hand side of comparison" + msgstr "" + +-#: c-family/c-warn.c:502 ++#: c-family/c-warn.c:503 + #, gcc-internal-format + msgid "add parentheses around left hand side expression to silence this warning" + msgstr "" +@@ -26125,7 +26173,7 @@ + + # No existe una traducción para type-punning. Gracias a Jose María Pérez + # por el comentario. cfuga +-#: c-family/c-warn.c:636 ++#: c-family/c-warn.c:637 + #, gcc-internal-format + msgid "type-punning to incomplete type might break strict-aliasing rules" + msgstr "el uso de % sobre un tipo incompleto puede romper las reglas de alias estricto" +@@ -26132,7 +26180,7 @@ + + # No existe una traducción para type-punning. Gracias a Jose María Pérez + # por el comentario. cfuga +-#: c-family/c-warn.c:654 ++#: c-family/c-warn.c:655 + #, gcc-internal-format + msgid "dereferencing type-punned pointer will break strict-aliasing rules" + msgstr "la dereferencia de punteros % romperá las reglas de alias estricto" +@@ -26139,573 +26187,573 @@ + + # No existe una traducción para type-punning. Gracias a Jose María Pérez + # por el comentario. cfuga +-#: c-family/c-warn.c:662 c-family/c-warn.c:680 ++#: c-family/c-warn.c:663 c-family/c-warn.c:681 + #, gcc-internal-format + msgid "dereferencing type-punned pointer might break strict-aliasing rules" + msgstr "la dereferencia de punteros % puede romper las reglas de alias estricto" + +-#: c-family/c-warn.c:803 ++#: c-family/c-warn.c:811 + #, gcc-internal-format + msgid "argument to % in %qD call is the same expression as the source; did you mean to use the size of the destination?" + msgstr "el argumento de % en la llamada %qD es la misma expresión que el origen; ¿pretendía usar el tamaño del destino?" + +-#: c-family/c-warn.c:834 ++#: c-family/c-warn.c:842 + #, gcc-internal-format + msgid "argument to % in %qD call is the same expression as the destination; did you mean to remove the addressof?" + 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:841 ++#: c-family/c-warn.c:849 + #, 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 "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:846 ++#: c-family/c-warn.c:854 + #, gcc-internal-format + msgid "argument to % in %qD call is the same expression as the destination; did you mean to dereference it?" + msgstr "el argumento de % en la llamada %qD es la misma expresión que el destino; ¿pretendía desreferenciarla?" + +-#: c-family/c-warn.c:858 ++#: c-family/c-warn.c:866 + #, 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 "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:874 ++#: c-family/c-warn.c:882 + #, gcc-internal-format + msgid "argument to % in %qD call is the same expression as the source; did you mean to remove the addressof?" + 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:881 ++#: c-family/c-warn.c:889 + #, 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 "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:886 ++#: c-family/c-warn.c:894 + #, gcc-internal-format + msgid "argument to % in %qD call is the same expression as the source; did you mean to dereference it?" + msgstr "el argumento de % en la llamada %qD es la misma expresión que el origen; ¿pretendía desreferenciarla?" + +-#: c-family/c-warn.c:898 ++#: c-family/c-warn.c:906 + #, 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 "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:914 ++#: c-family/c-warn.c:922 + #, 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 "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:921 ++#: c-family/c-warn.c:929 + #, 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 "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:926 ++#: c-family/c-warn.c:934 + #, gcc-internal-format + msgid "argument to % in %qD call is the same expression as the first source; did you mean to dereference it?" + 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:938 ++#: c-family/c-warn.c:946 + #, 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 "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:954 ++#: c-family/c-warn.c:962 + #, 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 "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:961 ++#: c-family/c-warn.c:969 + #, 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 "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:966 ++#: c-family/c-warn.c:974 + #, gcc-internal-format + msgid "argument to % in %qD call is the same expression as the second source; did you mean to dereference it?" + 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:978 ++#: c-family/c-warn.c:986 + #, 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 "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:1007 c-family/c-warn.c:1014 ++#: c-family/c-warn.c:1015 c-family/c-warn.c:1022 + #, gcc-internal-format + msgid "%<_Atomic%>-qualified parameter type %qT of %q+D" + msgstr "tipo de parámetro cualificado %<_Atomic%> %qT de %q+D" + +-#: c-family/c-warn.c:1024 ++#: c-family/c-warn.c:1032 + #, gcc-internal-format + msgid "first argument of %q+D should be %" + msgstr "el primer argumento de %q+D debe ser %" + +-#: c-family/c-warn.c:1033 ++#: c-family/c-warn.c:1041 + #, gcc-internal-format + msgid "second argument of %q+D should be %" + msgstr "el segundo argumento de %q+D debe ser %" + +-#: c-family/c-warn.c:1042 ++#: c-family/c-warn.c:1050 + #, gcc-internal-format + msgid "third argument of %q+D should probably be %" + msgstr "el tercer argumento de %q+D debería ser %" + +-#: c-family/c-warn.c:1053 ++#: c-family/c-warn.c:1061 + #, gcc-internal-format + msgid "%q+D takes only zero or two arguments" + msgstr "%q+D sólo toma cero o dos argumentos" + +-#: c-family/c-warn.c:1057 ++#: c-family/c-warn.c:1065 + #, gcc-internal-format + msgid "%q+D declared as variadic function" + msgstr "%q+D declarado como función variádica" + +-#: c-family/c-warn.c:1099 ++#: c-family/c-warn.c:1107 + #, gcc-internal-format + msgid "conversion to %qT from boolean expression" + msgstr "la conversión de %qT desde la expresión booleana" + +-#: c-family/c-warn.c:1117 c-family/c-warn.c:1192 ++#: c-family/c-warn.c:1125 c-family/c-warn.c:1200 + #, gcc-internal-format + msgid "conversion from %qT to %qT changes value from %qE to %qE" + msgstr "la conversión de %qT a %qT cambia el valor de %qE a %qE" + +-#: c-family/c-warn.c:1121 c-family/c-warn.c:1200 ++#: c-family/c-warn.c:1129 c-family/c-warn.c:1208 + #, gcc-internal-format + msgid "conversion from %qT to %qT changes the value of %qE" + msgstr "la conversión de %qT a %qT cambia el valor de %qE" + +-#: c-family/c-warn.c:1141 ++#: c-family/c-warn.c:1149 + #, gcc-internal-format + msgid "conversion from %qT to %qT discards imaginary component" + msgstr "la conversión de %qT a %qT descarta la componente imaginaria" + +-#: c-family/c-warn.c:1153 ++#: c-family/c-warn.c:1161 + #, gcc-internal-format + msgid "conversion from %qT to %qT may change value" + msgstr "la conversión de %qT a %qT puede cambiar el valor" + +-#: c-family/c-warn.c:1213 c-family/c-warn.c:1230 c-family/c-warn.c:1247 ++#: c-family/c-warn.c:1221 c-family/c-warn.c:1238 c-family/c-warn.c:1255 + #, gcc-internal-format + msgid "overflow in conversion from %qT to %qT changes value from %qE to %qE" + msgstr "el desbordamiento en la conversión de %qT a %qT cambia el valor de %qE a %qE" + +-#: c-family/c-warn.c:1218 c-family/c-warn.c:1235 c-family/c-warn.c:1252 ++#: c-family/c-warn.c:1226 c-family/c-warn.c:1243 c-family/c-warn.c:1260 + #, gcc-internal-format + msgid "overflow in conversion from %qT to %qT changes the value of %qE" + msgstr "el desbordamiento en la conversión de %qT a %qT cambia el valor de %qE" + +-#: c-family/c-warn.c:1282 ++#: c-family/c-warn.c:1290 + #, gcc-internal-format + msgid "case value %qs not in enumerated type" + msgstr "el valor de case %qs no es un tipo enumerado" + +-#: c-family/c-warn.c:1287 ++#: c-family/c-warn.c:1295 + #, gcc-internal-format + msgid "case value %qs not in enumerated type %qT" + msgstr "el valor de case %qs no es un tipo enumerado %qT" + +-#: c-family/c-warn.c:1348 ++#: c-family/c-warn.c:1356 + #, gcc-internal-format + msgid "switch missing default case" + msgstr "falta el case por defecto para un switch" + +-#: c-family/c-warn.c:1393 ++#: c-family/c-warn.c:1401 + #, gcc-internal-format + msgid "switch condition has boolean value" + msgstr "la condición de switch tiene valor boolean" + +-#: c-family/c-warn.c:1466 ++#: c-family/c-warn.c:1474 + #, gcc-internal-format + msgid "enumeration value %qE not handled in switch" + msgstr "el valor de enumeración %qE no se maneja en un switch" + +-#: c-family/c-warn.c:1494 ++#: c-family/c-warn.c:1502 + #, gcc-internal-format + msgid "the omitted middle operand in ?: will always be %, suggest explicit middle operand" + msgstr "el operando medio omitido en ?: siempre será %, se sugiere un operando medio explícito" + +-#: c-family/c-warn.c:1515 ++#: c-family/c-warn.c:1523 + #, gcc-internal-format + msgid "assignment of member %qD in read-only object" + msgstr "asignación de miembro %qD en objeto de sólo-lectura" + +-#: c-family/c-warn.c:1517 ++#: c-family/c-warn.c:1525 + #, gcc-internal-format + msgid "increment of member %qD in read-only object" + msgstr "incremento de miembro %qD en objeto de sólo lectura" + +-#: c-family/c-warn.c:1519 ++#: c-family/c-warn.c:1527 + #, gcc-internal-format + msgid "decrement of member %qD in read-only object" + msgstr "decremento de miembro %qD en objeto de sólo lectura" + +-#: c-family/c-warn.c:1521 ++#: c-family/c-warn.c:1529 + #, gcc-internal-format + msgid "member %qD in read-only object used as % output" + msgstr "se usó el miembro %qD en un objeto de sólo lectura como salida %" + +-#: c-family/c-warn.c:1525 ++#: c-family/c-warn.c:1533 + #, gcc-internal-format + msgid "assignment of read-only member %qD" + msgstr "asignación del miembro de sólo lectura %qD" + +-#: c-family/c-warn.c:1526 ++#: c-family/c-warn.c:1534 + #, gcc-internal-format + msgid "increment of read-only member %qD" + msgstr "incremento del miembro de sólo lectura %qD" + +-#: c-family/c-warn.c:1527 ++#: c-family/c-warn.c:1535 + #, gcc-internal-format + msgid "decrement of read-only member %qD" + msgstr "decremento del miembro de sólo lectura %qD" + +-#: c-family/c-warn.c:1528 ++#: c-family/c-warn.c:1536 + #, gcc-internal-format + msgid "read-only member %qD used as % output" + msgstr "se usó el miembro de sólo lectura %qD como salida %" + +-#: c-family/c-warn.c:1532 ++#: c-family/c-warn.c:1540 + #, gcc-internal-format + msgid "assignment of read-only variable %qD" + msgstr "asignación de la variable de sólo lectura %qD" + +-#: c-family/c-warn.c:1533 ++#: c-family/c-warn.c:1541 + #, gcc-internal-format + msgid "increment of read-only variable %qD" + msgstr "incremento de la variable de sólo lectura %qD" + +-#: c-family/c-warn.c:1534 ++#: c-family/c-warn.c:1542 + #, gcc-internal-format + msgid "decrement of read-only variable %qD" + msgstr "decremento de la variable de sólo lectura %qD" + +-#: c-family/c-warn.c:1535 ++#: c-family/c-warn.c:1543 + #, gcc-internal-format + msgid "read-only variable %qD used as % output" + msgstr "se usó la variable de sólo lectura %qD como salida %" + +-#: c-family/c-warn.c:1538 ++#: c-family/c-warn.c:1546 + #, gcc-internal-format + msgid "assignment of read-only parameter %qD" + msgstr "asignación del parámetro de sólo-lectura %qD" + +-#: c-family/c-warn.c:1539 ++#: c-family/c-warn.c:1547 + #, gcc-internal-format + msgid "increment of read-only parameter %qD" + msgstr "incremento del parámetro de sólo lectura %qD" + +-#: c-family/c-warn.c:1540 ++#: c-family/c-warn.c:1548 + #, gcc-internal-format + msgid "decrement of read-only parameter %qD" + msgstr "decremento del parámetro de sólo lectura %qD" + +-#: c-family/c-warn.c:1541 ++#: c-family/c-warn.c:1549 + #, gcc-internal-format + msgid "read-only parameter %qD use as % output" + msgstr "se usó el parámetro de sólo lectura %qD como salida %" + +-#: c-family/c-warn.c:1546 ++#: c-family/c-warn.c:1554 + #, gcc-internal-format + msgid "assignment of read-only named return value %qD" + msgstr "asignación del valor de devolución nombrado de sólo lectura %qD" + +-#: c-family/c-warn.c:1548 ++#: c-family/c-warn.c:1556 + #, gcc-internal-format + msgid "increment of read-only named return value %qD" + msgstr "incremento del valor de devolución nombrado de sólo lectura %qD" + +-#: c-family/c-warn.c:1550 ++#: c-family/c-warn.c:1558 + #, gcc-internal-format + msgid "decrement of read-only named return value %qD" + msgstr "decremento del valor de devolución nombrado de sólo lectura %qD" + +-#: c-family/c-warn.c:1552 ++#: c-family/c-warn.c:1560 + #, gcc-internal-format + msgid "read-only named return value %qD used as %output" + msgstr "se usó el valor de devolución nombrado de sólo lectura %qD como salida %" + +-#: c-family/c-warn.c:1557 ++#: c-family/c-warn.c:1565 + #, gcc-internal-format + msgid "assignment of function %qD" + msgstr "asignación de la función %qD" + +-#: c-family/c-warn.c:1558 ++#: c-family/c-warn.c:1566 + #, gcc-internal-format + msgid "increment of function %qD" + msgstr "incremento de la función %qD" + +-#: c-family/c-warn.c:1559 ++#: c-family/c-warn.c:1567 + #, gcc-internal-format + msgid "decrement of function %qD" + msgstr "decremento de la función %qD" + +-#: c-family/c-warn.c:1560 ++#: c-family/c-warn.c:1568 + #, gcc-internal-format + msgid "function %qD used as % output" + msgstr "se usó la función %qD como salida %" + +-#: c-family/c-warn.c:1563 c/c-typeck.c:4762 ++#: c-family/c-warn.c:1571 c/c-typeck.c:4767 + #, gcc-internal-format + msgid "assignment of read-only location %qE" + msgstr "asignación de la ubicación de sólo lectura %qE" + +-#: c-family/c-warn.c:1564 c/c-typeck.c:4765 ++#: c-family/c-warn.c:1572 c/c-typeck.c:4770 + #, gcc-internal-format + msgid "increment of read-only location %qE" + msgstr "incremento de la ubicación de sólo lectura %qE" + +-#: c-family/c-warn.c:1565 c/c-typeck.c:4768 ++#: c-family/c-warn.c:1573 c/c-typeck.c:4773 + #, gcc-internal-format + msgid "decrement of read-only location %qE" + msgstr "decremento de la ubicación de sólo lectura %qE" + +-#: c-family/c-warn.c:1566 ++#: c-family/c-warn.c:1574 + #, gcc-internal-format + msgid "read-only location %qE used as % output" + msgstr "se usó la ubicación de sólo lectura %qE como salida %" + +-#: c-family/c-warn.c:1580 ++#: c-family/c-warn.c:1588 + #, gcc-internal-format + msgid "lvalue required as left operand of assignment" + msgstr "se requiere un l-valor como operando izquierdo de la asignación" + +-#: c-family/c-warn.c:1583 ++#: c-family/c-warn.c:1591 + #, gcc-internal-format + msgid "lvalue required as increment operand" + msgstr "se requiere un l-valor como un operando de incremento" + +-#: c-family/c-warn.c:1586 ++#: c-family/c-warn.c:1594 + #, gcc-internal-format + msgid "lvalue required as decrement operand" + msgstr "se requiere un l-valor como un operando de decremento" + +-#: c-family/c-warn.c:1589 ++#: c-family/c-warn.c:1597 + #, gcc-internal-format + msgid "lvalue required as unary %<&%> operand" + msgstr "se requiere un l-valor como un operador unario %<&%>" + +-#: c-family/c-warn.c:1592 ++#: c-family/c-warn.c:1600 + #, gcc-internal-format + msgid "lvalue required in asm statement" + msgstr "se requiere un l-valor en la declaración asm" + +-#: c-family/c-warn.c:1609 ++#: c-family/c-warn.c:1617 + #, gcc-internal-format + msgid "invalid type argument (have %qT)" + msgstr "argumento de tipo no válido (se tiene %qT)" + +-#: c-family/c-warn.c:1613 ++#: c-family/c-warn.c:1621 + #, gcc-internal-format + msgid "invalid type argument of array indexing (have %qT)" + msgstr "argumento de tipo no válido de índice de matriz (se tiene %qT)" + +-#: c-family/c-warn.c:1618 ++#: c-family/c-warn.c:1626 + #, gcc-internal-format + msgid "invalid type argument of unary %<*%> (have %qT)" + msgstr "argumento de tipo no válido del unario %<*%> (se tiene %qT)" + +-#: c-family/c-warn.c:1623 ++#: c-family/c-warn.c:1631 + #, gcc-internal-format + msgid "invalid type argument of %<->%> (have %qT)" + msgstr "argumento de tipo no válido de %<->%> (se tiene %qT)" + +-#: c-family/c-warn.c:1628 ++#: c-family/c-warn.c:1636 + #, gcc-internal-format + msgid "invalid type argument of %<->*%> (have %qT)" + msgstr "argumento de tipo no válido de %<->*%> (se tiene %qT)" + +-#: c-family/c-warn.c:1633 ++#: c-family/c-warn.c:1641 + #, gcc-internal-format + msgid "invalid type argument of implicit conversion (have %qT)" + msgstr "argumento de tipo no válido en la conversión implícita (se tiene %qT)" + +-#: c-family/c-warn.c:1654 ++#: c-family/c-warn.c:1662 + #, gcc-internal-format + msgid "array subscript has type %" + msgstr "el subíndice de la matriz es de tipo %" + +-#: c-family/c-warn.c:1689 c-family/c-warn.c:1692 ++#: c-family/c-warn.c:1697 c-family/c-warn.c:1700 + #, gcc-internal-format + msgid "suggest parentheses around %<+%> inside %<<<%>" + msgstr "se sugieren paréntesis alrededor de %<+%> dentro de %<<<%>" + +-#: c-family/c-warn.c:1695 c-family/c-warn.c:1698 ++#: c-family/c-warn.c:1703 c-family/c-warn.c:1706 + #, gcc-internal-format + msgid "suggest parentheses around %<-%> inside %<<<%>" + msgstr "se sugieren paréntesis alrededor de %<-%> dentro de %<<<%>" + +-#: c-family/c-warn.c:1704 c-family/c-warn.c:1707 ++#: c-family/c-warn.c:1712 c-family/c-warn.c:1715 + #, gcc-internal-format + msgid "suggest parentheses around %<+%> inside %<>>%>" + msgstr "se sugieren paréntesis alrededor de %<+%> dentro de %<>>%>" + +-#: c-family/c-warn.c:1710 c-family/c-warn.c:1713 ++#: c-family/c-warn.c:1718 c-family/c-warn.c:1721 + #, gcc-internal-format + msgid "suggest parentheses around %<-%> inside %<>>%>" + msgstr "se sugieren paréntesis alrededor de %<-%> dentro de %<>>%>" + +-#: c-family/c-warn.c:1719 c-family/c-warn.c:1722 ++#: c-family/c-warn.c:1727 c-family/c-warn.c:1730 + #, gcc-internal-format + msgid "suggest parentheses around %<&&%> within %<||%>" + msgstr "se sugieren paréntesis alrededor de %<&&%> junto con %<||%>" + +-#: c-family/c-warn.c:1729 c-family/c-warn.c:1733 ++#: c-family/c-warn.c:1737 c-family/c-warn.c:1741 + #, gcc-internal-format + msgid "suggest parentheses around arithmetic in operand of %<|%>" + msgstr "se sugieren paréntesis alrededor de la aritmética para un operando de %<|%>" + +-#: c-family/c-warn.c:1737 c-family/c-warn.c:1740 ++#: c-family/c-warn.c:1745 c-family/c-warn.c:1748 + #, gcc-internal-format + msgid "suggest parentheses around comparison in operand of %<|%>" + msgstr "se sugieren paréntesis alrededor de la comparación para un operando de %<|%>" + +-#: c-family/c-warn.c:1745 ++#: c-family/c-warn.c:1753 + #, gcc-internal-format + msgid "suggest parentheses around operand of % or change %<|%> to %<||%> or % to %<~%>" + msgstr "se sugieren paréntesis alrededor del operando de % o cambie %<|%> a %<||%> o % a %<~%>" + +-#: c-family/c-warn.c:1753 c-family/c-warn.c:1757 ++#: c-family/c-warn.c:1761 c-family/c-warn.c:1765 + #, gcc-internal-format + msgid "suggest parentheses around arithmetic in operand of %<^%>" + msgstr "se sugieren paréntesis alrededor de la aritmética para un operando de %<^%>" + +-#: c-family/c-warn.c:1761 c-family/c-warn.c:1764 ++#: c-family/c-warn.c:1769 c-family/c-warn.c:1772 + #, gcc-internal-format + msgid "suggest parentheses around comparison in operand of %<^%>" + msgstr "se sugieren paréntesis alrededor de la comparación para un operando de %<^%>" + +-#: c-family/c-warn.c:1770 c-family/c-warn.c:1773 ++#: c-family/c-warn.c:1778 c-family/c-warn.c:1781 + #, gcc-internal-format + msgid "suggest parentheses around %<+%> in operand of %<&%>" + msgstr "se sugieren paréntesis alrededor de %<+%> para un operando de %<&%>" + +-#: c-family/c-warn.c:1776 c-family/c-warn.c:1779 ++#: c-family/c-warn.c:1784 c-family/c-warn.c:1787 + #, gcc-internal-format + msgid "suggest parentheses around %<-%> in operand of %<&%>" + msgstr "se sugieren paréntesis alrededor de %<-%> para un operando de %<&%>" + +-#: c-family/c-warn.c:1783 c-family/c-warn.c:1786 ++#: c-family/c-warn.c:1791 c-family/c-warn.c:1794 + #, gcc-internal-format + msgid "suggest parentheses around comparison in operand of %<&%>" + msgstr "se sugieren paréntesis alrededor de la comparación para un operando de %<&%>" + +-#: c-family/c-warn.c:1791 ++#: c-family/c-warn.c:1799 + #, gcc-internal-format + msgid "suggest parentheses around operand of % or change %<&%> to %<&&%> or % to %<~%>" + msgstr "se sugieren paréntesis alrededor de un operando de % o cambie %<&%> a %<&&%> o % a %<~%>" + +-#: c-family/c-warn.c:1798 c-family/c-warn.c:1801 ++#: c-family/c-warn.c:1806 c-family/c-warn.c:1809 + #, gcc-internal-format + msgid "suggest parentheses around comparison in operand of %<==%>" + msgstr "se sugieren paréntesis alrededor de la comparación en un operando de %<==%>" + +-#: c-family/c-warn.c:1806 c-family/c-warn.c:1809 ++#: c-family/c-warn.c:1814 c-family/c-warn.c:1817 + #, gcc-internal-format + msgid "suggest parentheses around comparison in operand of %" + msgstr "se sugieren paréntesis alrededor de la comparación en un operando de %" + +-#: c-family/c-warn.c:1819 c-family/c-warn.c:1825 ++#: c-family/c-warn.c:1827 c-family/c-warn.c:1833 + #, gcc-internal-format + msgid "comparisons like % do not have their mathematical meaning" + msgstr "las comparaciones como % no tienen su significado matemático" + +-#: c-family/c-warn.c:1841 ++#: c-family/c-warn.c:1849 + #, gcc-internal-format + msgid "label %q+D defined but not used" + msgstr "se define la etiqueta %q+D pero no se usa" + +-#: c-family/c-warn.c:1843 ++#: c-family/c-warn.c:1851 + #, gcc-internal-format + msgid "label %q+D declared but not defined" + msgstr "se declara la etiqueta %q+D pero no está definida" + +-#: c-family/c-warn.c:1866 ++#: c-family/c-warn.c:1874 + #, gcc-internal-format + msgid "division by zero" + msgstr "división por cero" + +-#: c-family/c-warn.c:1886 ++#: c-family/c-warn.c:1894 + #, gcc-internal-format + msgid "% used with constant zero length parameter; this could be due to transposed parameters" + msgstr "" + +-#: c-family/c-warn.c:1909 ++#: c-family/c-warn.c:1918 + #, gcc-internal-format + msgid "% used with length equal to number of elements without multiplication by element size" + msgstr "" + +-#: c-family/c-warn.c:1948 c/c-typeck.c:11499 c/c-typeck.c:11667 ++#: c-family/c-warn.c:1957 c/c-typeck.c:11504 c/c-typeck.c:11672 + #: cp/typeck.c:5048 + #, gcc-internal-format + msgid "comparison between types %qT and %qT" + msgstr "comparación entre los tipos %qT y %qT" + +-#: c-family/c-warn.c:1998 ++#: c-family/c-warn.c:2007 + #, gcc-internal-format + msgid "comparison of integer expressions of different signedness: %qT and %qT" + msgstr "" + +-#: c-family/c-warn.c:2051 ++#: c-family/c-warn.c:2060 + #, gcc-internal-format + msgid "promoted ~unsigned is always non-zero" + msgstr "el ~unsigned promovido es siempre diferente de cero" + +-#: c-family/c-warn.c:2054 ++#: c-family/c-warn.c:2063 + #, gcc-internal-format + msgid "comparison of promoted ~unsigned with constant" + msgstr "comparación de un ~unsigned promovido con una constante" + +-#: c-family/c-warn.c:2064 ++#: c-family/c-warn.c:2073 + #, gcc-internal-format + msgid "comparison of promoted ~unsigned with unsigned" + msgstr "comparación de un ~unsigned promovido con unsigned" + +-#: c-family/c-warn.c:2118 ++#: c-family/c-warn.c:2127 + #, gcc-internal-format + msgid "unused parameter %qD" + msgstr "parámetro %qD sin uso" + +-#: c-family/c-warn.c:2180 ++#: c-family/c-warn.c:2189 + #, gcc-internal-format + msgid "typedef %qD locally defined but not used" + msgstr "se define tipo %qD localmente pero no se usa" + +-#: c-family/c-warn.c:2215 ++#: c-family/c-warn.c:2224 + #, gcc-internal-format + msgid "duplicated % condition" + msgstr "condición % duplicada" + +-#: c-family/c-warn.c:2244 ++#: c-family/c-warn.c:2253 + #, gcc-internal-format + msgid "optimization attribute on %qD follows definition but the attribute doesn%'t match" + msgstr "el atributo de optimización en %qD después de la definición pero el atributo no concuerda" + +-#: c-family/c-warn.c:2254 ++#: c-family/c-warn.c:2261 + #, gcc-internal-format + msgid "inline declaration of %qD follows declaration with attribute %qs" + msgstr "declaración inline de %qD después de una declaración con atributo %qs" + +-#: c-family/c-warn.c:2259 ++#: c-family/c-warn.c:2266 + #, gcc-internal-format + msgid "declaration of %q+D with attribute %qs follows inline declaration" + msgstr "declaración de %q+D con atributo %qs después de declaración inline" + +-#: c-family/c-warn.c:2306 ++#: c-family/c-warn.c:2313 + #, gcc-internal-format + msgid "result of %qE requires %u bits to represent, but %qT only has %u bits" + msgstr "el resultado de %qE requiere %u bits para representarlo, pero %qT solo tiene %u bits" + +-#: c-family/c-warn.c:2344 c-family/c-warn.c:2368 ++#: c-family/c-warn.c:2351 c-family/c-warn.c:2375 + #, gcc-internal-format + msgid "comparison of constant %qE with boolean expression is always false" + msgstr "la comparación de una constante %qE con una expresión boolean siempre es falsa" + +-#: c-family/c-warn.c:2347 c-family/c-warn.c:2365 ++#: c-family/c-warn.c:2354 c-family/c-warn.c:2372 + #, gcc-internal-format + msgid "comparison of constant %qE with boolean expression is always true" + msgstr "la comparación de una constante %qE con una expresión boolean siempre es verdadera" + +-#: c-family/c-warn.c:2415 ++#: c-family/c-warn.c:2422 + #, fuzzy + #| msgid "passing argument %d of %qE discards %qv qualifier from pointer target type" + msgid "passing argument %i to restrict-qualified parameter aliases with argument %Z" +@@ -26713,17 +26761,17 @@ + msgstr[0] "el paso del argumento %d de %qE descarta el calificador %qv del tipo del destino del puntero" + msgstr[1] "el paso del argumento %d de %qE descarta el calificador %qv del tipo del destino del puntero" + +-#: c-family/c-warn.c:2480 c/c-typeck.c:5288 cp/call.c:5365 ++#: c-family/c-warn.c:2487 c/c-typeck.c:5293 cp/call.c:5365 + #, gcc-internal-format + msgid "this condition has identical branches" + msgstr "esta condición tiene bifurcaciones idénticas" + +-#: c-family/c-warn.c:2586 ++#: c-family/c-warn.c:2593 + #, gcc-internal-format + msgid "macro expands to multiple statements" + msgstr "la macro se expande en múltiples sentencias" + +-#: c-family/c-warn.c:2587 ++#: c-family/c-warn.c:2594 + #, gcc-internal-format + msgid "some parts of macro expansion are not guarded by this %qs clause" + msgstr "algunas partes de la expansión de macro no están flanqueadas por esta cláusula %qs" +@@ -26738,7 +26786,7 @@ + msgid "too many input files" + msgstr "demasiados ficheros de entrada" + +-#: common/config/aarch64/aarch64-common.c:319 config/aarch64/aarch64.c:10686 ++#: common/config/aarch64/aarch64-common.c:319 config/aarch64/aarch64.c:10702 + #, gcc-internal-format + msgid "unknown value %qs for -mcpu" + msgstr "valor %qs desconocido para -mcpu" +@@ -26769,13 +26817,13 @@ + msgstr "se pasa opción no reconocida a %%:target_mode_check" + + #: common/config/arm/arm-common.c:322 common/config/arm/arm-common.c:376 +-#: common/config/arm/arm-common.c:423 config/aarch64/aarch64.c:10639 ++#: common/config/arm/arm-common.c:423 config/aarch64/aarch64.c:10655 + #, gcc-internal-format + msgid "valid arguments are: %s; did you mean %qs?" + msgstr "los argumentos válidos son: %s; ¿quiso decir %qs?" + + #: common/config/arm/arm-common.c:325 common/config/arm/arm-common.c:379 +-#: common/config/arm/arm-common.c:426 config/aarch64/aarch64.c:10642 ++#: common/config/arm/arm-common.c:426 config/aarch64/aarch64.c:10658 + #, gcc-internal-format, gfc-internal-format + msgid "valid arguments are: %s" + msgstr "los argumentos válidos son: %s" +@@ -27248,12 +27296,12 @@ + msgid "profiler support for VxWorks" + msgstr "soporte de análisis de perfil para VxWorks" + +-#: config/aarch64/aarch64-builtins.c:1109 config/arm/arm-builtins.c:2262 ++#: config/aarch64/aarch64-builtins.c:1109 config/arm/arm-builtins.c:2272 + #, gcc-internal-format + msgid "%Kargument %d must be a constant immediate" + msgstr "el %Kargumento %d debe ser un inmediato constante" + +-#: config/aarch64/aarch64-builtins.c:1180 config/arm/arm-builtins.c:2492 ++#: config/aarch64/aarch64-builtins.c:1180 config/arm/arm-builtins.c:2502 + #, gcc-internal-format + msgid "%Klane index must be a constant immediate" + msgstr "el índice %Klane debe ser un inmediato constante" +@@ -27263,175 +27311,175 @@ + msgid "%Ktotal size and element size must be a non-zero constant immediate" + msgstr "el tamaño %Ktotal y el tamaño de elemento han de ser un inmediato constante distinto de cero" + +-#: config/aarch64/aarch64.c:1053 ++#: config/aarch64/aarch64.c:1069 + #, gcc-internal-format + msgid "%qs is incompatible with %s %s" + msgstr "%qs es incompatible con %s %s" + +-#: config/aarch64/aarch64.c:1055 ++#: config/aarch64/aarch64.c:1071 + #, gcc-internal-format + msgid "%qs feature modifier is incompatible with %s %s" + msgstr "el modificador de característica %qs es incompatible con %s %s" + +-#: config/aarch64/aarch64.c:3772 ++#: config/aarch64/aarch64.c:3788 + #, gcc-internal-format + msgid "stack probes for SVE frames" + msgstr "" + +-#: config/aarch64/aarch64.c:10287 ++#: config/aarch64/aarch64.c:10303 + #, gcc-internal-format, gfc-internal-format + msgid "unknown flag passed in -moverride=%s (%s)" + msgstr "indicador pasado en -moverride=%s (%s) desconocido" + +-#: config/aarch64/aarch64.c:10331 ++#: config/aarch64/aarch64.c:10347 + #, gcc-internal-format, gfc-internal-format + msgid "%s string ill-formed\n" + msgstr "cadena %s mal formada\n" + +-#: config/aarch64/aarch64.c:10388 ++#: config/aarch64/aarch64.c:10404 + #, gcc-internal-format, gfc-internal-format + msgid "tuning string missing in option (%s)" + msgstr "falta la cadena de ajuste en la opción (%s)" + +-#: config/aarch64/aarch64.c:10406 ++#: config/aarch64/aarch64.c:10422 + #, gcc-internal-format, gfc-internal-format + msgid "unknown tuning option (%s)" + msgstr "opción de cadena de ajuste desconocida (%s)" + +-#: config/aarch64/aarch64.c:10683 ++#: config/aarch64/aarch64.c:10699 + #, gcc-internal-format + msgid "missing cpu name in %<-mcpu=%s%>" + msgstr "falta el nombre de la cpu en %<-mcpu=%s%>" + +-#: config/aarch64/aarch64.c:10690 ++#: config/aarch64/aarch64.c:10706 + #, gcc-internal-format + msgid "invalid feature modifier in %<-mcpu=%s%>" + msgstr "modificador de característica no válido en %<-mcpu=%s%>" + +-#: config/aarch64/aarch64.c:10717 ++#: config/aarch64/aarch64.c:10733 + #, gcc-internal-format + msgid "missing arch name in %<-march=%s%>" + msgstr "falta el nombre de la arquitectura en %<-march=%s%>" + +-#: config/aarch64/aarch64.c:10720 ++#: config/aarch64/aarch64.c:10736 + #, gcc-internal-format + msgid "unknown value %qs for -march" + msgstr "valor %qs desconocido para -march" + +-#: config/aarch64/aarch64.c:10724 ++#: config/aarch64/aarch64.c:10740 + #, gcc-internal-format + msgid "invalid feature modifier in %<-march=%s%>" + msgstr "modificador de característica no válido en %<-march=%s%>" + +-#: config/aarch64/aarch64.c:10750 ++#: config/aarch64/aarch64.c:10766 + #, gcc-internal-format + msgid "missing cpu name in %<-mtune=%s%>" + msgstr "falta el nombre de la cpu en %<-mtune=%s%>" + +-#: config/aarch64/aarch64.c:10753 ++#: config/aarch64/aarch64.c:10769 + #, gcc-internal-format + msgid "unknown value %qs for -mtune" + msgstr "valor %qs desconocido para -mtune" + +-#: config/aarch64/aarch64.c:10871 config/arm/arm.c:3173 ++#: config/aarch64/aarch64.c:10887 config/arm/arm.c:3173 + #, 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:10906 ++#: config/aarch64/aarch64.c:10922 + #, gcc-internal-format + msgid "assembler does not support -mabi=ilp32" + msgstr "el ensamblador no tiene soporte para -mabi=ilp32" + +-#: config/aarch64/aarch64.c:10913 ++#: config/aarch64/aarch64.c:10929 + #, gcc-internal-format + msgid "return address signing is only supported for -mabi=lp64" + msgstr "" + +-#: config/aarch64/aarch64.c:10975 ++#: config/aarch64/aarch64.c:10991 + #, gcc-internal-format + msgid "code model %qs with -f%s" + msgstr "modelo de código %qs con -f%s" + +-#: config/aarch64/aarch64.c:11138 ++#: config/aarch64/aarch64.c:11154 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "falta el nombre en atributo %" + +-#: config/aarch64/aarch64.c:11141 ++#: config/aarch64/aarch64.c:11157 + #, gcc-internal-format + msgid "invalid name (\"%s\") in % pragma or attribute" + msgstr "nombre no válido (\"%s\") en el pragma o atributo %" + +-#: config/aarch64/aarch64.c:11145 config/aarch64/aarch64.c:11184 +-#: config/aarch64/aarch64.c:11257 ++#: config/aarch64/aarch64.c:11161 config/aarch64/aarch64.c:11200 ++#: config/aarch64/aarch64.c:11273 + #, gcc-internal-format + msgid "invalid value (\"%s\") in % pragma or attribute" + msgstr "valor no válido (\"%s\") en el pragma o atributo %" + +-#: config/aarch64/aarch64.c:11177 ++#: config/aarch64/aarch64.c:11193 + #, gcc-internal-format + msgid "missing name in % pragma or attribute" + msgstr "falta el nombre en el pragma o atributo %" + +-#: config/aarch64/aarch64.c:11180 ++#: config/aarch64/aarch64.c:11196 + #, gcc-internal-format + msgid "invalid name (\"%s\") in % pragma or attribute" + msgstr "nombre no válido (\"%s\") en el pragma o atributo %" + +-#: config/aarch64/aarch64.c:11213 ++#: config/aarch64/aarch64.c:11229 + #, gcc-internal-format + msgid "invalid name (\"%s\") in % pragma or attribute" + msgstr "nombre no válido (\"%s\") en el pragma o atributo %" + +-#: config/aarch64/aarch64.c:11253 ++#: config/aarch64/aarch64.c:11269 + #, gcc-internal-format + msgid "missing value in % pragma or attribute" + msgstr "falta el valor en el pragma o atributo %" + +-#: config/aarch64/aarch64.c:11306 config/aarch64/aarch64.c:11483 ++#: config/aarch64/aarch64.c:11322 config/aarch64/aarch64.c:11499 + #, gcc-internal-format + msgid "malformed % pragma or attribute" + msgstr "pragma o atributo % mal formado" + +-#: config/aarch64/aarch64.c:11354 ++#: config/aarch64/aarch64.c:11370 + #, gcc-internal-format + msgid "pragma or attribute % does not accept an argument" + msgstr "el pragma o atributo % no acepta un argumento" + +-#: config/aarch64/aarch64.c:11362 ++#: config/aarch64/aarch64.c:11378 + #, gcc-internal-format + msgid "pragma or attribute % does not allow a negated form" + msgstr "el pragma o atributo % no acepta forma negada" + +-#: config/aarch64/aarch64.c:11416 ++#: config/aarch64/aarch64.c:11432 + #, gcc-internal-format + msgid "pragma or attribute % is not valid" + msgstr "el pragma o atributo % no es válido" + +-#: config/aarch64/aarch64.c:11473 config/arm/arm.c:30742 +-#: config/i386/i386.c:5440 config/powerpcspe/powerpcspe.c:39760 +-#: config/rs6000/rs6000.c:36904 config/s390/s390.c:15746 ++#: config/aarch64/aarch64.c:11489 config/arm/arm.c:30742 ++#: config/i386/i386.c:5443 config/powerpcspe/powerpcspe.c:39760 ++#: config/rs6000/rs6000.c:36960 config/s390/s390.c:15746 + #, gcc-internal-format + msgid "attribute % argument not a string" + msgstr "el argumento del atributo % no es una cadena" + +-#: config/aarch64/aarch64.c:11500 ++#: config/aarch64/aarch64.c:11516 + #, gcc-internal-format + msgid "pragma or attribute % is not valid" + msgstr "el pragma o atributo % no es válido" + +-#: config/aarch64/aarch64.c:11509 ++#: config/aarch64/aarch64.c:11525 + #, gcc-internal-format + msgid "malformed % pragma or attribute" + msgstr "pragma o atributo % mal formado" + +-#: config/aarch64/aarch64.c:13571 ++#: config/aarch64/aarch64.c:13587 + #, gcc-internal-format + msgid "%Klane %wd out of range %wd - %wd" + msgstr "%Klane %wd fuera de rango %wd - %wd" + +-#: config/aarch64/aarch64.c:13573 ++#: config/aarch64/aarch64.c:13589 + #, gcc-internal-format + msgid "lane %wd out of range %wd - %wd" + msgstr "vía %wd fuera de rango %wd - %wd" +@@ -27491,8 +27539,8 @@ + msgid "bad value %qs for -mmemory-latency" + msgstr "valor %qs erróneo para -mmemory-latency" + +-#: config/alpha/alpha.c:6683 config/alpha/alpha.c:6686 config/arc/arc.c:6526 +-#: config/arc/arc.c:6800 config/s390/s390.c:847 config/tilegx/tilegx.c:3544 ++#: config/alpha/alpha.c:6683 config/alpha/alpha.c:6686 config/arc/arc.c:6517 ++#: config/arc/arc.c:6791 config/s390/s390.c:847 config/tilegx/tilegx.c:3544 + #: config/tilepro/tilepro.c:3108 + #, gcc-internal-format + msgid "bad builtin fcode" +@@ -27601,11 +27649,11 @@ + #: config/arm/arm.c:7029 config/avr/avr.c:9718 config/avr/avr.c:9734 + #: config/bfin/bfin.c:4705 config/bfin/bfin.c:4766 config/bfin/bfin.c:4795 + #: config/epiphany/epiphany.c:491 config/h8300/h8300.c:5459 +-#: config/i386/i386.c:6452 config/i386/i386.c:12479 config/i386/i386.c:41424 +-#: config/i386/i386.c:41474 config/i386/i386.c:41544 config/m68k/m68k.c:780 ++#: config/i386/i386.c:6455 config/i386/i386.c:12482 config/i386/i386.c:41418 ++#: config/i386/i386.c:41468 config/i386/i386.c:41538 config/m68k/m68k.c:780 + #: config/mcore/mcore.c:3070 config/nvptx/nvptx.c:4611 + #: config/powerpcspe/powerpcspe.c:35785 config/riscv/riscv.c:2698 +-#: config/rl78/rl78.c:815 config/rl78/rl78.c:884 config/rs6000/rs6000.c:32982 ++#: config/rl78/rl78.c:815 config/rl78/rl78.c:884 config/rs6000/rs6000.c:33038 + #: config/rx/rx.c:2719 config/rx/rx.c:2745 config/s390/s390.c:1056 + #: config/s390/s390.c:1143 config/sh/sh.c:8428 config/sh/sh.c:8446 + #: config/sh/sh.c:8470 config/sh/sh.c:8541 config/sh/sh.c:8564 +@@ -27615,134 +27663,134 @@ + msgid "%qE attribute only applies to functions" + msgstr "el atributo %qE se aplica solamente a funciones" + +-#: config/arc/arc.c:6425 ++#: config/arc/arc.c:6416 + #, gcc-internal-format + msgid "__builtin_arc_aligned with non-constant alignment" + msgstr "__builtin_arc_aligned con alineamiento no constante" + +-#: config/arc/arc.c:6433 ++#: config/arc/arc.c:6424 + #, gcc-internal-format + msgid "invalid alignment value for __builtin_arc_aligned" + msgstr "valor de argumento no válido para __builtin_arc_aligned" + +-#: config/arc/arc.c:6596 ++#: config/arc/arc.c:6587 + #, gcc-internal-format + msgid "operand 1 should be an unsigned 3-bit immediate" + msgstr "el operando 1 debería ser un inmediato de 3 bits sin signo" + +-#: config/arc/arc.c:6637 config/arc/arc.c:6734 ++#: config/arc/arc.c:6628 config/arc/arc.c:6725 + #, gcc-internal-format + msgid "operand 2 should be an unsigned 3-bit value (I0-I7)" + msgstr "el operando 2 debería ser un valor de 3 bits sin signo (10-17)" + +-#: config/arc/arc.c:6670 config/arc/arc.c:6702 ++#: config/arc/arc.c:6661 config/arc/arc.c:6693 + #, gcc-internal-format + msgid "operand 1 should be an unsigned 3-bit value (I0-I7)" + msgstr "el operando 1 debería ser un valor de 3 bits sin signo (10-17)" + +-#: config/arc/arc.c:6674 config/arc/arc.c:6706 ++#: config/arc/arc.c:6665 config/arc/arc.c:6697 + #, gcc-internal-format + msgid "operand 2 should be an unsigned 8-bit value" + msgstr "el operando 2 debería ser un valor de 8 bits sin signo" + +-#: config/arc/arc.c:6738 ++#: config/arc/arc.c:6729 + #, gcc-internal-format + msgid "operand 3 should be an unsigned 8-bit value" + msgstr "el operando 3 debería ser un valor de 8 bits sin signo" + +-#: config/arc/arc.c:6771 ++#: config/arc/arc.c:6762 + #, gcc-internal-format + msgid "operand 4 should be an unsigned 8-bit value (0-255)" + msgstr "el operando 4 debería ser un valor de 8 bits sin signo (0-255)" + +-#: config/arc/arc.c:6775 ++#: config/arc/arc.c:6766 + #, gcc-internal-format + msgid "operand 3 should be an unsigned 3-bit value (I0-I7)" + msgstr "el operando 3 debería ser un valor de 3 bits sin signo (10-17)" + +-#: config/arc/arc.c:6782 ++#: config/arc/arc.c:6773 + #, gcc-internal-format + msgid "operand 2 should be an unsigned 3-bit value (subreg 0-7)" + msgstr "el operando 2 debería ser un valor de 3 bits sin signo (0-7)" + +-#: config/arc/arc.c:6785 ++#: config/arc/arc.c:6776 + #, gcc-internal-format + msgid "operand 2 should be an even 3-bit value (subreg 0,2,4,6)" + msgstr "el operando 2 debería ser un valor de 3 bits par (subreg 0,2,4,6)" + +-#: config/arc/arc.c:6832 ++#: config/arc/arc.c:6823 + #, gcc-internal-format, gfc-internal-format + msgid "builtin requires an immediate for operand %d" + msgstr "el interno requiere un inmediato para el operando %d" + +-#: config/arc/arc.c:6837 ++#: config/arc/arc.c:6828 + #, gcc-internal-format, gfc-internal-format + msgid "operand %d should be a 6 bit unsigned immediate" + msgstr "el operando %d debería ser un inmediato sin signo de 6 bits" + +-#: config/arc/arc.c:6841 ++#: config/arc/arc.c:6832 + #, gcc-internal-format, gfc-internal-format + msgid "operand %d should be a 8 bit unsigned immediate" + msgstr "el operando %d debería ser un inmediato sin signo de 8 bits" + +-#: config/arc/arc.c:6845 ++#: config/arc/arc.c:6836 + #, gcc-internal-format, gfc-internal-format + msgid "operand %d should be a 3 bit unsigned immediate" + msgstr "el operando %d debería ser un inmediato sin signo de 3 bits" + +-#: config/arc/arc.c:6848 ++#: config/arc/arc.c:6839 + #, gcc-internal-format, gfc-internal-format + msgid "unknown builtin immediate operand type for operand %d" + msgstr "" + +-#: config/arc/arc.c:6899 ++#: config/arc/arc.c:6890 + #, gcc-internal-format + msgid "register number must be a compile-time constant. Try giving higher optimization levels" + 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:7685 ++#: config/arc/arc.c:7747 + #, gcc-internal-format + msgid "Insn addresses not set after shorten_branches" + msgstr "Direcciones de insn no establecidas después de shorten_branches" + +-#: config/arc/arc.c:7894 ++#: config/arc/arc.c:7956 + #, gcc-internal-format + msgid "insn addresses not freed" + msgstr "direcciones de insn no liberadas" + +-#: config/arc/arc.c:10682 ++#: config/arc/arc.c:10670 + #, gcc-internal-format + msgid "%qE attribute only valid for ARCv2 architecture" + msgstr "el atributo %qE solamente es válido para la arquitectura ARCv2" + +-#: config/arc/arc.c:10690 config/arc/arc.c:10729 ++#: config/arc/arc.c:10678 config/arc/arc.c:10717 + #, gcc-internal-format + msgid "argument of %qE attribute is missing" + msgstr "falta el argumento del atributo %qE" + +-#: config/arc/arc.c:10701 config/arc/arc.c:10740 config/arc/arc.c:10842 ++#: config/arc/arc.c:10689 config/arc/arc.c:10728 config/arc/arc.c:10830 + #: config/avr/avr.c:9790 + #, gcc-internal-format + msgid "%qE attribute allows only an integer constant argument" + msgstr "el atributo %qE sólo permite una constante entera como argumento" + +-#: config/arc/arc.c:10721 ++#: config/arc/arc.c:10709 + #, gcc-internal-format + msgid "%qE attribute only valid for ARC EM architecture" + msgstr "el atributo %qE solo es válido para la arquitectura ARC EM" + +-#: config/arc/arc.c:10776 ++#: config/arc/arc.c:10764 + #, gcc-internal-format + msgid "%qE attribute only applies to types" + msgstr "el atributo %qE se aplica solamente a tipos" + +-#: config/arc/arc.c:10782 ++#: config/arc/arc.c:10770 + #, fuzzy, gcc-internal-format + #| msgid "argument of %qE attribute is missing" + msgid "argument of %qE attribute ignored" + msgstr "falta el argumento del atributo %qE" + +-#: config/arc/arc.c:10832 config/avr/avr.c:9777 config/bfin/bfin.c:4827 ++#: config/arc/arc.c:10820 config/avr/avr.c:9777 config/bfin/bfin.c:4827 + #: config/i386/winnt.c:63 config/msp430/msp430.c:2018 + #: config/nvptx/nvptx.c:4634 + #, gcc-internal-format +@@ -27749,174 +27797,174 @@ + msgid "%qE attribute only applies to variables" + msgstr "el atributo %qE solamente se aplica a variables" + +-#: config/arm/arm-builtins.c:2370 ++#: config/arm/arm-builtins.c:2380 + #, gcc-internal-format + msgid "this builtin is not supported for this target" + msgstr "no se admite este interno para este objetivo" + +-#: config/arm/arm-builtins.c:2475 ++#: config/arm/arm-builtins.c:2485 + #, gcc-internal-format + msgid "You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use these intrinsics." + msgstr "Debe activar las instrucciones NEON (e.g. -mfloat-abi=softfp -mfpu=neon) para usar estos intrínsecos." + +-#: config/arm/arm-builtins.c:2513 ++#: config/arm/arm-builtins.c:2523 + #, gcc-internal-format + msgid "You must enable VFP instructions to use these intrinsics." + msgstr "Debe activar las instrucciones VFP para usar estos intrínsecos." + +-#: config/arm/arm-builtins.c:2573 ++#: config/arm/arm-builtins.c:2583 + #, gcc-internal-format + msgid "You must enable crypto instructions (e.g. include -mfloat-abi=softfp -mfpu=crypto-neon...) to use these intrinsics." + 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:2633 config/arm/arm-builtins.c:2737 ++#: config/arm/arm-builtins.c:2643 config/arm/arm-builtins.c:2747 + #, gcc-internal-format + msgid "selector must be an immediate" + msgstr "el selector debe ser un inmediato" + +-#: config/arm/arm-builtins.c:2641 config/arm/arm-builtins.c:2686 +-#: config/arm/arm-builtins.c:2744 config/arm/arm-builtins.c:2753 ++#: config/arm/arm-builtins.c:2651 config/arm/arm-builtins.c:2696 ++#: config/arm/arm-builtins.c:2754 config/arm/arm-builtins.c:2763 + #, gcc-internal-format + msgid "the range of selector should be in 0 to 7" + msgstr "el rango del selector debe estar entre 0 y 7" + +-#: config/arm/arm-builtins.c:2646 config/arm/arm-builtins.c:2755 ++#: config/arm/arm-builtins.c:2656 config/arm/arm-builtins.c:2765 + #, gcc-internal-format + msgid "the range of selector should be in 0 to 3" + msgstr "el rango del selector debe estar entre 0 y 3" + +-#: config/arm/arm-builtins.c:2651 config/arm/arm-builtins.c:2757 ++#: config/arm/arm-builtins.c:2661 config/arm/arm-builtins.c:2767 + #, gcc-internal-format + msgid "the range of selector should be in 0 to 1" + msgstr "el rango del selector debe estar entre 0 y 1" + +-#: config/arm/arm-builtins.c:2823 ++#: config/arm/arm-builtins.c:2833 + #, gcc-internal-format + msgid "mask must be an immediate" + msgstr "la máscara debe ser un inmediato" + +-#: config/arm/arm-builtins.c:2828 ++#: config/arm/arm-builtins.c:2838 + #, gcc-internal-format + msgid "the range of mask should be in 0 to 255" + msgstr "el rango de la máscara debe estar entre 0 y 255" + +-#: config/arm/arm-builtins.c:3016 ++#: config/arm/arm-builtins.c:3026 + #, gcc-internal-format + msgid "the range of count should be in 0 to 32. please check the intrinsic _mm_rori_pi16 in code." + msgstr "" + +-#: config/arm/arm-builtins.c:3018 ++#: config/arm/arm-builtins.c:3028 + #, gcc-internal-format + msgid "the range of count should be in 0 to 32. please check the intrinsic _mm_rori_pi32 in code." + msgstr "" + +-#: config/arm/arm-builtins.c:3020 ++#: config/arm/arm-builtins.c:3030 + #, gcc-internal-format + msgid "the range of count should be in 0 to 32. please check the intrinsic _mm_ror_pi16 in code." + msgstr "" + +-#: config/arm/arm-builtins.c:3022 ++#: config/arm/arm-builtins.c:3032 + #, gcc-internal-format + msgid "the range of count should be in 0 to 32. please check the intrinsic _mm_ror_pi32 in code." + msgstr "" + +-#: config/arm/arm-builtins.c:3028 ++#: config/arm/arm-builtins.c:3038 + #, gcc-internal-format + msgid "the range of count should be in 0 to 64. please check the intrinsic _mm_rori_si64 in code." + msgstr "" + +-#: config/arm/arm-builtins.c:3030 ++#: config/arm/arm-builtins.c:3040 + #, gcc-internal-format + msgid "the range of count should be in 0 to 64. please check the intrinsic _mm_ror_si64 in code." + msgstr "" + +-#: config/arm/arm-builtins.c:3035 ++#: config/arm/arm-builtins.c:3045 + #, gcc-internal-format + msgid "the count should be no less than 0. please check the intrinsic _mm_srli_pi16 in code." + msgstr "" + +-#: config/arm/arm-builtins.c:3037 ++#: config/arm/arm-builtins.c:3047 + #, gcc-internal-format + msgid "the count should be no less than 0. please check the intrinsic _mm_srli_pi32 in code." + msgstr "" + +-#: config/arm/arm-builtins.c:3039 ++#: config/arm/arm-builtins.c:3049 + #, gcc-internal-format + msgid "the count should be no less than 0. please check the intrinsic _mm_srli_si64 in code." + msgstr "" + +-#: config/arm/arm-builtins.c:3041 ++#: config/arm/arm-builtins.c:3051 + #, gcc-internal-format + msgid "the count should be no less than 0. please check the intrinsic _mm_slli_pi16 in code." + msgstr "" + +-#: config/arm/arm-builtins.c:3043 ++#: config/arm/arm-builtins.c:3053 + #, gcc-internal-format + msgid "the count should be no less than 0. please check the intrinsic _mm_slli_pi32 in code." + msgstr "" + +-#: config/arm/arm-builtins.c:3045 ++#: config/arm/arm-builtins.c:3055 + #, gcc-internal-format + msgid "the count should be no less than 0. please check the intrinsic _mm_slli_si64 in code." + msgstr "" + +-#: config/arm/arm-builtins.c:3047 ++#: config/arm/arm-builtins.c:3057 + #, gcc-internal-format + msgid "the count should be no less than 0. please check the intrinsic _mm_srai_pi16 in code." + msgstr "" + +-#: config/arm/arm-builtins.c:3049 ++#: config/arm/arm-builtins.c:3059 + #, gcc-internal-format + msgid "the count should be no less than 0. please check the intrinsic _mm_srai_pi32 in code." + msgstr "" + +-#: config/arm/arm-builtins.c:3051 ++#: config/arm/arm-builtins.c:3061 + #, gcc-internal-format + msgid "the count should be no less than 0. please check the intrinsic _mm_srai_si64 in code." + msgstr "" + +-#: config/arm/arm-builtins.c:3053 ++#: config/arm/arm-builtins.c:3063 + #, gcc-internal-format + msgid "the count should be no less than 0. please check the intrinsic _mm_srl_pi16 in code." + msgstr "" + +-#: config/arm/arm-builtins.c:3055 ++#: config/arm/arm-builtins.c:3065 + #, gcc-internal-format + msgid "the count should be no less than 0. please check the intrinsic _mm_srl_pi32 in code." + msgstr "" + +-#: config/arm/arm-builtins.c:3057 ++#: config/arm/arm-builtins.c:3067 + #, gcc-internal-format + msgid "the count should be no less than 0. please check the intrinsic _mm_srl_si64 in code." + msgstr "" + +-#: config/arm/arm-builtins.c:3059 ++#: config/arm/arm-builtins.c:3069 + #, gcc-internal-format + msgid "the count should be no less than 0. please check the intrinsic _mm_sll_pi16 in code." + msgstr "" + +-#: config/arm/arm-builtins.c:3061 ++#: config/arm/arm-builtins.c:3071 + #, gcc-internal-format + msgid "the count should be no less than 0. please check the intrinsic _mm_sll_pi32 in code." + msgstr "" + +-#: config/arm/arm-builtins.c:3063 ++#: config/arm/arm-builtins.c:3073 + #, gcc-internal-format + msgid "the count should be no less than 0. please check the intrinsic _mm_sll_si64 in code." + msgstr "" + +-#: config/arm/arm-builtins.c:3065 ++#: config/arm/arm-builtins.c:3075 + #, gcc-internal-format + msgid "the count should be no less than 0. please check the intrinsic _mm_sra_pi16 in code." + msgstr "" + +-#: config/arm/arm-builtins.c:3067 ++#: config/arm/arm-builtins.c:3077 + #, gcc-internal-format + msgid "the count should be no less than 0. please check the intrinsic _mm_sra_pi32 in code." + msgstr "" + +-#: config/arm/arm-builtins.c:3069 ++#: config/arm/arm-builtins.c:3079 + #, gcc-internal-format + msgid "the count should be no less than 0. please check the intrinsic _mm_sra_si64 in code." + msgstr "" +@@ -28824,551 +28872,551 @@ + msgid "can%'t set position in PCH file: %m" + msgstr "no se puede establecer la posición en el fichero PCH: %m" + +-#: config/i386/i386.c:3177 ++#: config/i386/i386.c:3180 + #, gcc-internal-format + msgid "wrong argument %qs to option %qs" + msgstr "argumento %qs incorrecto para la opción %qs" + +-#: config/i386/i386.c:3183 ++#: config/i386/i386.c:3186 + #, gcc-internal-format + msgid "size ranges of option %qs should be increasing" + msgstr "los rangos de tamaño de la opción %qs deberían ser crecientes" + +-#: config/i386/i386.c:3193 ++#: config/i386/i386.c:3196 + #, gcc-internal-format + msgid "wrong strategy name %qs specified for option %qs" + 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:3219 ++#: config/i386/i386.c:3222 + #, gcc-internal-format + msgid "strategy name %qs specified for option %qs not supported for 32-bit code" + 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:3232 ++#: config/i386/i386.c:3235 + #, gcc-internal-format + msgid "unknown alignment %qs specified for option %qs" + msgstr "se especificó una alineación %qs desconocida para la opción %qs" + +-#: config/i386/i386.c:3242 ++#: config/i386/i386.c:3245 + #, gcc-internal-format + msgid "the max value for the last size range should be -1 for option %qs" + 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:3249 ++#: config/i386/i386.c:3252 + #, gcc-internal-format + msgid "too many size ranges specified in option %qs" + msgstr "se especificaron demasiados rangos de tamaños en la opción %qs" + +-#: config/i386/i386.c:3302 ++#: config/i386/i386.c:3305 + #, gcc-internal-format, gfc-internal-format + msgid "unknown parameter to option -mtune-ctrl: %s" + msgstr "parámetro desconocido para la opción -mtune-ctrl: %s" + +-#: config/i386/i386.c:3726 ++#: config/i386/i386.c:3729 + #, gcc-internal-format + msgid "Intel MCU psABI isn%'t supported in %s mode" + msgstr "no se admite Intel MCU psABI en el modo %s" + +-#: config/i386/i386.c:3775 ++#: config/i386/i386.c:3778 + #, gcc-internal-format + msgid "%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> instead as appropriate" + msgstr "%<-mtune=x86-64%> es obsoleto; use en su lugar %<-mtune=k8%> o %<-mtune=generic%> como sea adecuado" + +-#: config/i386/i386.c:3777 ++#: config/i386/i386.c:3780 + #, gcc-internal-format + msgid "% is deprecated; use % or % instead as appropriate" + msgstr "% es obsoleto; use % o % en su lugar como convenga" + + #. rep; movq isn't available in 32-bit code. +-#: config/i386/i386.c:3804 ++#: config/i386/i386.c:3807 + #, gcc-internal-format + msgid "-mstringop-strategy=rep_8byte not supported for 32-bit code" + msgstr "no se admite -mstringop-stategy=rep_8byte para código de 32-bit" + +-#: config/i386/i386.c:3821 ++#: config/i386/i386.c:3824 + #, gcc-internal-format + msgid "address mode %qs not supported in the %s bit mode" + msgstr "el modelo de direcciones %qs no se admite en el modo de bit %s" + +-#: config/i386/i386.c:3833 ++#: config/i386/i386.c:3836 + #, gcc-internal-format + msgid "-mabi=ms not supported with X32 ABI" + msgstr "no se admite -mabi=ms con X32 ABI" + +-#: config/i386/i386.c:3851 config/i386/i386.c:3860 config/i386/i386.c:3872 +-#: config/i386/i386.c:3883 config/i386/i386.c:3894 ++#: config/i386/i386.c:3854 config/i386/i386.c:3863 config/i386/i386.c:3875 ++#: config/i386/i386.c:3886 config/i386/i386.c:3897 + #, gcc-internal-format + msgid "code model %qs not supported in the %s bit mode" + msgstr "el modelo de código %qs no se admite en el modo de bit %s" + +-#: config/i386/i386.c:3863 config/i386/i386.c:3875 ++#: config/i386/i386.c:3866 config/i386/i386.c:3878 + #, gcc-internal-format + msgid "code model %qs not supported in x32 mode" + msgstr "el modelo de código %qs no se admite en modo x32" + +-#: config/i386/i386.c:3881 config/i386/i386.c:3890 config/i386/i386.c:5213 ++#: config/i386/i386.c:3884 config/i386/i386.c:3893 config/i386/i386.c:5216 + #, gcc-internal-format, gfc-internal-format + msgid "code model %s does not support PIC mode" + msgstr "el modelo de código %s no admite el modo PIC" + +-#: config/i386/i386.c:3918 ++#: config/i386/i386.c:3921 + #, gcc-internal-format + msgid "-masm=intel not supported in this configuration" + msgstr "no se admite -masm=intel en esta configuración" + +-#: config/i386/i386.c:3923 ++#: config/i386/i386.c:3926 + #, gcc-internal-format, gfc-internal-format + msgid "%i-bit mode not compiled in" + msgstr "no está compilado el modo bit-%i" + +-#: config/i386/i386.c:3932 ++#: config/i386/i386.c:3935 + #, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "la CPU % solo se puede usar para el ajuste %<-tune=%>" + +-#: config/i386/i386.c:3934 ++#: config/i386/i386.c:3937 + #, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "la CPU % solo se puede usar para el atributo %" + +-#: config/i386/i386.c:3941 ++#: config/i386/i386.c:3944 + #, gcc-internal-format + msgid "% CPU can be used only for %<-mtune=%> switch" + msgstr "la CPU % solo se puede usar para el ajuste %<-mtune=%>" + +-#: config/i386/i386.c:3943 ++#: config/i386/i386.c:3946 + #, gcc-internal-format + msgid "% CPU can be used only for % attribute" + msgstr "la CPU % solo se puede usar para el atributo %" + +-#: config/i386/i386.c:3951 config/i386/i386.c:4265 ++#: config/i386/i386.c:3954 config/i386/i386.c:4268 + #, gcc-internal-format + msgid "CPU you selected does not support x86-64 instruction set" + msgstr "el CPU que seleccionó no admite el conjunto de instrucciones x86-64" + +-#: config/i386/i386.c:4197 config/i386/i386.c:4200 ++#: config/i386/i386.c:4200 config/i386/i386.c:4203 + #, gcc-internal-format + msgid "Intel MPX does not support x32" + msgstr "Intel MPX no tiene soporte para x32" + +-#: config/i386/i386.c:4205 ++#: config/i386/i386.c:4208 + #, gcc-internal-format + msgid "bad value (%qs) for %<-march=%> switch" + msgstr "valor erróneo (%qs) para la opción %<-march=%>" + +-#: config/i386/i386.c:4206 ++#: config/i386/i386.c:4209 + #, gcc-internal-format + msgid "bad value (%qs) for % attribute" + msgstr "valor erróneo (%qs) para el atributo %" + +-#: config/i386/i386.c:4228 ++#: config/i386/i386.c:4231 + #, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s; did you mean %qs?" + msgstr "los argumentos válidos para la opción %<-march=%> son: %s; ¿quiso decir %qs?" + +-#: config/i386/i386.c:4230 ++#: config/i386/i386.c:4233 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "los argumentos válidos para el atributo % son: %s; ¿qiuso decir %qs?" + +-#: config/i386/i386.c:4235 ++#: config/i386/i386.c:4238 + #, gcc-internal-format + msgid "valid arguments to %<-march=%> switch are: %s" + msgstr "los argumentos válidos para la opción %<-march=%> son: %s" + +-#: config/i386/i386.c:4236 ++#: config/i386/i386.c:4239 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s" + msgstr "los argumentos válidos para el atributo % son: %s" + +-#: config/i386/i386.c:4284 ++#: config/i386/i386.c:4287 + #, gcc-internal-format + msgid "bad value (%qs) for %<-mtune=%> switch" + msgstr "valor erróneo (%qs) para la opción %<-mtune=%>" + +-#: config/i386/i386.c:4285 ++#: config/i386/i386.c:4288 + #, gcc-internal-format + msgid "bad value (%qs) for % attribute" + msgstr "valor erróneo (%qs) para el atributo %" + +-#: config/i386/i386.c:4305 ++#: config/i386/i386.c:4308 + #, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s; did you mean %qs?" + msgstr "los argumentos válidos para la opción %<-mtune=%> son: %s; ¿quiso decir %qs?" + +-#: config/i386/i386.c:4307 ++#: config/i386/i386.c:4310 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s; did you mean %qs?" + msgstr "los argumentos válidos para el atributo % son: %s; ¿quiso decir %qs?" + +-#: config/i386/i386.c:4312 ++#: config/i386/i386.c:4315 + #, gcc-internal-format + msgid "valid arguments to %<-mtune=%> switch are: %s" + msgstr "los argumentos válidos para la opción %<-mtune=%> son: %s" + +-#: config/i386/i386.c:4313 ++#: config/i386/i386.c:4316 + #, gcc-internal-format + msgid "valid arguments to % attribute are: %s" + msgstr "los argumentos válidos para el atributo % son: %s" + +-#: config/i386/i386.c:4379 ++#: config/i386/i386.c:4382 + #, gcc-internal-format + msgid "-mregparm is ignored in 64-bit mode" + msgstr "se descarta -mregparm en modo de 64-bit" + +-#: config/i386/i386.c:4381 ++#: config/i386/i386.c:4384 + #, gcc-internal-format + msgid "-mregparm is ignored for Intel MCU psABI" + msgstr "se descarta -mregparm para Intel MCU psABI" + +-#: config/i386/i386.c:4384 ++#: config/i386/i386.c:4387 + #, gcc-internal-format, gfc-internal-format + msgid "-mregparm=%d is not between 0 and %d" + msgstr "-mregparm=%d no está entre 0 y %d" + +-#: config/i386/i386.c:4417 ++#: config/i386/i386.c:4420 + #, gcc-internal-format + msgid "%<-mrtd%> is ignored in 64bit mode" + msgstr "se descarta %<-mrtd%> en el modo de 64bit" + +-#: config/i386/i386.c:4418 ++#: config/i386/i386.c:4421 + #, gcc-internal-format + msgid "% is ignored in 64bit mode" + msgstr "se descarta % en el modo de 64bit" + +-#: config/i386/i386.c:4497 ++#: config/i386/i386.c:4500 + #, gcc-internal-format + msgid "-mpreferred-stack-boundary is not supported for this target" + msgstr "no se admite -mpreferred-stack-boundary en este objetivo" + +-#: config/i386/i386.c:4500 ++#: config/i386/i386.c:4503 + #, gcc-internal-format, gfc-internal-format + msgid "-mpreferred-stack-boundary=%d is not between %d and %d" + msgstr "-mpreferred-stack-boundary=%d no está entre %d y %d" + +-#: config/i386/i386.c:4523 ++#: config/i386/i386.c:4526 + #, gcc-internal-format, gfc-internal-format + msgid "-mincoming-stack-boundary=%d is not between %d and 12" + msgstr "-mincoming-stack-boundary=%d no está entre %d y 12" + +-#: config/i386/i386.c:4536 ++#: config/i386/i386.c:4539 + #, gcc-internal-format + msgid "-mnop-mcount is not compatible with this target" + msgstr "-mnop-mcount no es compatible con este objetivo" + +-#: config/i386/i386.c:4539 ++#: config/i386/i386.c:4542 + #, gcc-internal-format + msgid "-mnop-mcount is not implemented for -fPIC" + msgstr "-mnop-mcount no está implementada para -fPIC" + +-#: config/i386/i386.c:4545 ++#: config/i386/i386.c:4548 + #, gcc-internal-format + msgid "%<-msseregparm%> used without SSE enabled" + msgstr "se usó %<-msseregparm%> sin SSE activado" + +-#: config/i386/i386.c:4546 ++#: config/i386/i386.c:4549 + #, gcc-internal-format + msgid "% used without SSE enabled" + msgstr "se usó % sin SSE activado" + +-#: config/i386/i386.c:4556 ++#: config/i386/i386.c:4559 + #, gcc-internal-format + msgid "SSE instruction set disabled, using 387 arithmetics" + msgstr "el conjunto de instrucciones SSE está desactivado, usando la aritmética 387" + +-#: config/i386/i386.c:4563 ++#: config/i386/i386.c:4566 + #, gcc-internal-format + msgid "387 instruction set disabled, using SSE arithmetics" + msgstr "el conjunto de instrucciones 387 está desactivado, usando la aritmética SSE" + +-#: config/i386/i386.c:4613 ++#: config/i386/i386.c:4616 + #, gcc-internal-format + msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness" + msgstr "la prueba de pila requiere %<-maccumulate-outgoing-args%> para ser correcta" + +-#: config/i386/i386.c:4615 ++#: config/i386/i386.c:4618 + #, gcc-internal-format + msgid "stack probing requires % for correctness" + msgstr "la prueba de pila requiere % para ser correcta" + +-#: config/i386/i386.c:4629 ++#: config/i386/i386.c:4632 + #, gcc-internal-format + msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>" + msgstr "el registro ebp fijo requiere %<-maccumulate-outgoing-args%>" + +-#: config/i386/i386.c:4631 ++#: config/i386/i386.c:4634 + #, gcc-internal-format + msgid "fixed ebp register requires %" + msgstr "el registro ebp fijo requiere %" + +-#: config/i386/i386.c:4741 ++#: config/i386/i386.c:4744 + #, gcc-internal-format + msgid "-mfentry isn%'t supported for 32-bit in combination with -fpic" + msgstr "-mfentry no se admite para 32-bit en combinación con -fpic" + +-#: config/i386/i386.c:4744 ++#: config/i386/i386.c:4747 + #, gcc-internal-format + msgid "-mno-fentry isn%'t compatible with SEH" + msgstr "-mno-fentry no es compatible con SEH" + +-#: config/i386/i386.c:4748 ++#: config/i386/i386.c:4751 + #, gcc-internal-format + msgid "-mcall-ms2sysv-xlogues isn%'t currently supported with SEH" + msgstr "" + +-#: config/i386/i386.c:4813 config/powerpcspe/powerpcspe.c:5663 ++#: config/i386/i386.c:4816 config/powerpcspe/powerpcspe.c:5663 + #, gcc-internal-format, gfc-internal-format + msgid "unknown option for -mrecip=%s" + msgstr "opción desconocida para -mrecip=%s" + +-#: config/i386/i386.c:4870 config/powerpcspe/powerpcspe.c:5339 ++#: config/i386/i386.c:4873 config/powerpcspe/powerpcspe.c:5339 + #, gcc-internal-format + msgid "%qs is not a valid number in -mstack-protector-guard-offset=" + msgstr "%qs no es un número válido en -mstack-protector-guard-offset=" + +-#: config/i386/i386.c:4875 config/powerpcspe/powerpcspe.c:5344 ++#: config/i386/i386.c:4878 config/powerpcspe/powerpcspe.c:5344 + #, gcc-internal-format + msgid "%qs is not a valid offset in -mstack-protector-guard-offset=" + msgstr "%qs no es un desplazamiento válido en -mstack-protector-guard-offset=" + +-#: config/i386/i386.c:4907 config/powerpcspe/powerpcspe.c:5356 ++#: config/i386/i386.c:4910 config/powerpcspe/powerpcspe.c:5356 + #, gcc-internal-format + msgid "%qs is not a valid base register in -mstack-protector-guard-reg=" + msgstr "%qs no es un registro base válido en -mstack-protector-guard-reg=" + +-#: config/i386/i386.c:5506 config/i386/i386.c:5553 config/s390/s390.c:15812 ++#: config/i386/i386.c:5509 config/i386/i386.c:5556 config/s390/s390.c:15812 + #: config/s390/s390.c:15862 config/s390/s390.c:15879 + #, gcc-internal-format, gfc-internal-format + msgid "attribute(target(\"%s\")) is unknown" + msgstr "se desconoce attribute(target(\"%s\"))" + +-#: config/i386/i386.c:5534 ++#: config/i386/i386.c:5537 + #, gcc-internal-format, gfc-internal-format + msgid "option(\"%s\") was already specified" + msgstr "ya se había especificado option(\"%s\")" + +-#: config/i386/i386.c:5837 ++#: config/i386/i386.c:5840 + #, gcc-internal-format + msgid "interrupt and naked attributes are not compatible" + msgstr "interrupción y atributos desnudos no es compatible" + +-#: config/i386/i386.c:5852 ++#: config/i386/i386.c:5855 + #, gcc-internal-format + msgid "Only DWARF debug format is supported for interrupt service routine." + msgstr "Solo se admite el formato de depuración DWARF para la rutina de servicio de interrupciones." + +-#: config/i386/i386.c:5901 ++#: config/i386/i386.c:5904 + #, gcc-internal-format + msgid "%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "%<-mindirect-branch=%s%> y %<-mcmodel=large%> no son compatibles" + +-#: config/i386/i386.c:5913 ++#: config/i386/i386.c:5916 + #, gcc-internal-format + msgid "%<-mindirect-branch=thunk-extern%>, %<-fcf-protection=branch%> and %<-fcheck-pointer-bounds%> are not compatible" + msgstr "%<-mindirect-branch=thunk-extern%>, %<-fcf-protection=branch%> y %<-fcheck-pointer-bounds%> no son compatibles" + +-#: config/i386/i386.c:5949 ++#: config/i386/i386.c:5952 + #, gcc-internal-format + msgid "%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible" + msgstr "%<-mfunction-return=%s%> y %<-mcmodel=large%> no son compatibles" + +-#: config/i386/i386.c:6047 ++#: config/i386/i386.c:6050 + #, gcc-internal-format, gfc-internal-format + msgid "%s instructions aren't allowed in %s service routine" + msgstr "las instrucciones %s no se permiten en la rutina de servicio %s" + +-#: config/i386/i386.c:6051 ++#: config/i386/i386.c:6054 + #, gcc-internal-format, gfc-internal-format + msgid "%s instructions aren't allowed in function with no_caller_saved_registers attribute" + msgstr "Las instrucciones %s no están permitidas en funciones con el atributo no_caller_saved_registers" + +-#: config/i386/i386.c:6465 config/i386/i386.c:6516 ++#: config/i386/i386.c:6468 config/i386/i386.c:6519 + #, gcc-internal-format + msgid "fastcall and regparm attributes are not compatible" + msgstr "los atributos fastcall y regparm no son compatibles" + +-#: config/i386/i386.c:6470 ++#: config/i386/i386.c:6473 + #, gcc-internal-format + msgid "regparam and thiscall attributes are not compatible" + msgstr "los atributos regparam y thiscall no son compatibles" + +-#: config/i386/i386.c:6477 config/i386/i386.c:41444 ++#: config/i386/i386.c:6480 config/i386/i386.c:41438 + #, gcc-internal-format + msgid "%qE attribute requires an integer constant argument" + msgstr "el atributo %qE requiere un argumento constante entero" + +-#: config/i386/i386.c:6483 ++#: config/i386/i386.c:6486 + #, gcc-internal-format + msgid "argument to %qE attribute larger than %d" + msgstr "el argumento para el atributo %qE es más grande que %d" + +-#: config/i386/i386.c:6508 config/i386/i386.c:6551 ++#: config/i386/i386.c:6511 config/i386/i386.c:6554 + #, gcc-internal-format + msgid "fastcall and cdecl attributes are not compatible" + msgstr "los atributos fastcall y cdecl no son compatibles" + +-#: config/i386/i386.c:6512 ++#: config/i386/i386.c:6515 + #, gcc-internal-format + msgid "fastcall and stdcall attributes are not compatible" + msgstr "los atributos fastcall y stdcall no son compatibles" + +-#: config/i386/i386.c:6520 config/i386/i386.c:6569 ++#: config/i386/i386.c:6523 config/i386/i386.c:6572 + #, gcc-internal-format + msgid "fastcall and thiscall attributes are not compatible" + msgstr "los atributos fastcall y thiscall no son compatibles" + +-#: config/i386/i386.c:6530 config/i386/i386.c:6547 ++#: config/i386/i386.c:6533 config/i386/i386.c:6550 + #, gcc-internal-format + msgid "stdcall and cdecl attributes are not compatible" + msgstr "los atributos stdcall y cdecl no son compatibles" + +-#: config/i386/i386.c:6534 ++#: config/i386/i386.c:6537 + #, gcc-internal-format + msgid "stdcall and fastcall attributes are not compatible" + msgstr "los atributos stdcall y fastcall no son compatibles" + +-#: config/i386/i386.c:6538 config/i386/i386.c:6565 ++#: config/i386/i386.c:6541 config/i386/i386.c:6568 + #, gcc-internal-format + msgid "stdcall and thiscall attributes are not compatible" + msgstr "los atributos stdcall y thiscall no son compatibles" + +-#: config/i386/i386.c:6555 config/i386/i386.c:6573 ++#: config/i386/i386.c:6558 config/i386/i386.c:6576 + #, gcc-internal-format + msgid "cdecl and thiscall attributes are not compatible" + msgstr "los atributos cdecl y thiscall no son compatibles" + +-#: config/i386/i386.c:6561 ++#: config/i386/i386.c:6564 + #, gcc-internal-format + msgid "%qE attribute is used for non-class method" + msgstr "se usó el atributo %qE para método no de clase" + +-#: config/i386/i386.c:6805 ++#: config/i386/i386.c:6808 + #, gcc-internal-format + msgid "calling %qD with attribute sseregparm without SSE/SSE2 enabled" + msgstr "se llama a %qD con el atributo sseregparm sin activar SSE/SSE2" + +-#: config/i386/i386.c:6808 ++#: config/i386/i386.c:6811 + #, gcc-internal-format + msgid "calling %qT with attribute sseregparm without SSE/SSE2 enabled" + msgstr "se llama a %qT con el atributo sseregparm sin activar SSE/SSE2" + +-#: config/i386/i386.c:7126 ++#: config/i386/i386.c:7129 + #, gcc-internal-format + msgid "X32 does not support ms_abi attribute" + msgstr "X32 no admite el atributo ms_abi" + +-#: config/i386/i386.c:7160 ++#: config/i386/i386.c:7163 + #, gcc-internal-format + msgid "ms_hook_prologue is not compatible with nested function" + msgstr "ms_hook_prologue no es compatible con la función anidada" + +-#: config/i386/i386.c:7502 ++#: config/i386/i386.c:7505 + #, gcc-internal-format + msgid "AVX512F vector argument without AVX512F enabled changes the ABI" + msgstr "el argumento de vector AVX512F sin AVX512F activado cambia la ABI" + +-#: config/i386/i386.c:7508 ++#: config/i386/i386.c:7511 + #, gcc-internal-format + msgid "AVX512F vector return without AVX512F enabled changes the ABI" + msgstr "el retorno de vector AVX512F sin AVX512F activado cambia la ABI" + +-#: config/i386/i386.c:7522 ++#: config/i386/i386.c:7525 + #, gcc-internal-format + msgid "AVX vector argument without AVX enabled changes the ABI" + msgstr "el argumento de vector AVX sin AVX activado cambia la ABI" + +-#: config/i386/i386.c:7528 ++#: config/i386/i386.c:7531 + #, gcc-internal-format + msgid "AVX vector return without AVX enabled changes the ABI" + msgstr "el retorno de vector AVX sin AVX activado cambia la ABI" + +-#: config/i386/i386.c:7544 ++#: config/i386/i386.c:7547 + #, gcc-internal-format + msgid "SSE vector argument without SSE enabled changes the ABI" + msgstr "el argumento de vector SSE sin SSE activado cambia la ABI" + +-#: config/i386/i386.c:7550 ++#: config/i386/i386.c:7553 + #, gcc-internal-format + msgid "SSE vector return without SSE enabled changes the ABI" + msgstr "la devolución de vector SSE sin SSE activado cambia la ABI" + +-#: config/i386/i386.c:7566 ++#: config/i386/i386.c:7569 + #, gcc-internal-format + msgid "MMX vector argument without MMX enabled changes the ABI" + msgstr "el argumento de vector MMX sin MMX activado cambia la ABI" + +-#: config/i386/i386.c:7572 ++#: config/i386/i386.c:7575 + #, gcc-internal-format + msgid "MMX vector return without MMX enabled changes the ABI" + msgstr "la devolución de vector MMX sin MMX activado cambia la ABI" + +-#: config/i386/i386.c:7754 ++#: config/i386/i386.c:7757 + #, gcc-internal-format + msgid "the ABI of passing struct with a flexible array member has changed in GCC 4.4" + msgstr "la ABI para pasar un struct con un miembro de matriz flexible cambió en GCC 4.4" + +-#: config/i386/i386.c:7871 ++#: config/i386/i386.c:7874 + #, gcc-internal-format + msgid "the ABI of passing union with long double has changed in GCC 4.4" + msgstr "la ABI para pasar un union con long double cambió en GCC 4.4" + +-#: config/i386/i386.c:7989 ++#: config/i386/i386.c:7992 + #, gcc-internal-format + msgid "the ABI of passing structure with complex float member has changed in GCC 4.4" + msgstr "la ABI para pasar una estructura con un miembro de coma flotante compleja cambió en GCC 4.4" + +-#: config/i386/i386.c:8152 ++#: config/i386/i386.c:8155 + #, gcc-internal-format + msgid "SSE register return with SSE disabled" + msgstr "se devuelve el registro SSE con SSE desactivado" + +-#: config/i386/i386.c:8158 ++#: config/i386/i386.c:8161 + #, gcc-internal-format + msgid "SSE register argument with SSE disabled" + msgstr "argumento de registro SSE con SSE desactivado" + +-#: config/i386/i386.c:8174 ++#: config/i386/i386.c:8177 + #, gcc-internal-format + msgid "x87 register return with x87 disabled" + msgstr "se devuelve el registro x87 con x87 desactivado" + +-#: config/i386/i386.c:8471 config/i386/i386.c:8750 config/i386/i386.c:9276 ++#: config/i386/i386.c:8474 config/i386/i386.c:8753 config/i386/i386.c:9279 + #, gcc-internal-format + msgid "calling %qD with SSE calling convention without SSE/SSE2 enabled" + msgstr "se llama a %qD con el convenio de llamadas SSE sin activar SSE/SSE2" + +-#: config/i386/i386.c:8473 config/i386/i386.c:8752 config/i386/i386.c:9278 ++#: config/i386/i386.c:8476 config/i386/i386.c:8755 config/i386/i386.c:9281 + #, gcc-internal-format + msgid "this is a GCC bug that can be worked around by adding attribute used to function called" + 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:9178 ++#: config/i386/i386.c:9181 + #, gcc-internal-format, gfc-internal-format + msgid "The ABI for passing parameters with %d-byte alignment has changed in GCC 4.6" + msgstr "La ABI para pasar parámetros con alineación de %d-bytes cambió en GCC 4.6" + +-#: config/i386/i386.c:11601 ++#: config/i386/i386.c:11604 + #, gcc-internal-format, gfc-internal-format + msgid "-mcall-ms2sysv-xlogues is not compatible with %s" + msgstr "-mcall-ms2sysv-xlogues no es compatible con %s" + +-#: config/i386/i386.c:13593 ++#: config/i386/i386.c:13596 + #, gcc-internal-format + msgid "ms_hook_prologue attribute isn%'t compatible with -mfentry for 32-bit" + msgstr "el atributo ms_hook_prologue no es compatible con -mfentry para 32-bit" + +-#: config/i386/i386.c:13683 ++#: config/i386/i386.c:13686 + #, 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 "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:14970 ++#: config/i386/i386.c:14973 + #, gcc-internal-format + msgid "-fsplit-stack does not support fastcall with nested function" + msgstr "-fsplit-stack no admite fastcall con funciones anidadas" + +-#: config/i386/i386.c:14990 ++#: config/i386/i386.c:14993 + #, 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" +@@ -29375,311 +29423,311 @@ + + #. FIXME: We could make this work by pushing a register + #. around the addition and comparison. +-#: config/i386/i386.c:15001 ++#: config/i386/i386.c:15004 + #, gcc-internal-format + msgid "-fsplit-stack does not support 3 register parameters" + msgstr "-fsplit-stack no admite 3 parámetros de registro" + +-#: config/i386/i386.c:17939 ++#: config/i386/i386.c:17942 + #, gcc-internal-format + msgid "'V' modifier on non-integer register" + msgstr "modificador 'V' en registro no entero" + +-#: config/i386/i386.c:17950 config/i386/i386.c:17964 ++#: config/i386/i386.c:17953 config/i386/i386.c:17967 + #, gcc-internal-format + msgid "unsupported size for integer register" + msgstr "no se admite el tamaño para registro de enteros" + +-#: config/i386/i386.c:17996 ++#: config/i386/i386.c:17999 + #, gcc-internal-format + msgid "extended registers have no high halves" + msgstr "los registros extendidos no tiene mitades superiores" + +-#: config/i386/i386.c:18011 ++#: config/i386/i386.c:18014 + #, gcc-internal-format + msgid "unsupported operand size for extended register" + msgstr "no se admite el tamaño de operando para el registro extendido" + +-#: config/i386/i386.c:18202 ++#: config/i386/i386.c:18205 + #, 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 'z'" + +-#: config/i386/i386.c:28467 ++#: config/i386/i386.c:28470 + #, gcc-internal-format + msgid "interrupt service routine can't be called directly" + msgstr "no se puede llamar directamente a la rutina de servicio de interrupciones" + +-#: config/i386/i386.c:29995 ++#: config/i386/i386.c:29998 + #, gcc-internal-format + msgid "empty class %qT parameter passing ABI changes in -fabi-version=12 (GCC 8)" + msgstr "" + +-#: config/i386/i386.c:32435 ++#: config/i386/i386.c:32438 + #, gcc-internal-format + msgid "No dispatcher found for the versioning attributes" + msgstr "No se ha encontrado despachador para los atributos de versión" + +-#: config/i386/i386.c:32485 ++#: config/i386/i386.c:32488 + #, gcc-internal-format, gfc-internal-format + msgid "No dispatcher found for %s" + msgstr "No se encontró despachador para %s" + +-#: config/i386/i386.c:32495 ++#: config/i386/i386.c:32498 + #, gcc-internal-format, gfc-internal-format + msgid "No dispatcher found for the versioning attributes : %s" + msgstr "No se encontró despachador para los atributos de versión : %s" + +-#: config/i386/i386.c:32657 ++#: config/i386/i386.c:32660 + #, gcc-internal-format + msgid "Function versions cannot be marked as gnu_inline, bodies have to be generated" + msgstr "Las versiones de funciones no pueden marcarse como gnu_inline; hay que generar cuerpos" + +-#: config/i386/i386.c:32662 config/i386/i386.c:32938 +-#: config/rs6000/rs6000.c:37850 ++#: config/i386/i386.c:32665 config/i386/i386.c:32941 ++#: config/rs6000/rs6000.c:37906 + #, gcc-internal-format + msgid "Virtual function multiversioning not supported" + msgstr "No se admiten versiones múltiples de funciones virtuales" + +-#: config/i386/i386.c:32795 config/rs6000/rs6000.c:37607 ++#: config/i386/i386.c:32798 config/rs6000/rs6000.c:37663 + #, gcc-internal-format + msgid "multiversioning needs ifunc which is not supported on this target" + msgstr "el versionado múltiple necesita ifunc, que no se admite en este objetivo" + +-#: config/i386/i386.c:33207 ++#: config/i386/i386.c:33210 + #, gcc-internal-format + msgid "Parameter to builtin must be a string constant or literal" + msgstr "El parámetro para la función interna debe ser una cadena constante o literal" + +-#: config/i386/i386.c:33232 config/i386/i386.c:33282 ++#: config/i386/i386.c:33235 config/i386/i386.c:33285 + #, gcc-internal-format, gfc-internal-format + msgid "Parameter to builtin not valid: %s" + msgstr "El parámetro para la función interna no es válido: %s" + +-#: config/i386/i386.c:33975 config/i386/i386.c:35415 ++#: config/i386/i386.c:33978 config/i386/i386.c:35418 + #, gcc-internal-format + msgid "the last argument must be a 2-bit immediate" + msgstr "el tercer argumento debe ser un inmediato de 2-bit" + +-#: config/i386/i386.c:34370 ++#: config/i386/i386.c:34373 + #, gcc-internal-format + msgid "the fifth argument must be an 8-bit immediate" + msgstr "el quinto argumento debe ser un inmediato de 8-bit" + +-#: config/i386/i386.c:34465 ++#: config/i386/i386.c:34468 + #, gcc-internal-format + msgid "the third argument must be an 8-bit immediate" + msgstr "el tercer argumento debe ser un inmediato de 8-bit" + +-#: config/i386/i386.c:35346 ++#: config/i386/i386.c:35349 + #, gcc-internal-format + msgid "the last argument must be an 1-bit immediate" + msgstr "el último argumento debe ser un inmediato de 1-bit" + +-#: config/i386/i386.c:35361 ++#: config/i386/i386.c:35364 + #, gcc-internal-format + msgid "the last argument must be a 3-bit immediate" + msgstr "el último argumento debe ser un inmediato de 3-bit" + +-#: config/i386/i386.c:35394 ++#: config/i386/i386.c:35397 + #, gcc-internal-format + msgid "the last argument must be a 4-bit immediate" + msgstr "el último argumento debe ser un inmediato de 4-bit" + +-#: config/i386/i386.c:35434 ++#: config/i386/i386.c:35437 + #, gcc-internal-format + msgid "the last argument must be a 1-bit immediate" + msgstr "el último argumento debe ser un inmediato de 1-bit" + +-#: config/i386/i386.c:35447 ++#: config/i386/i386.c:35450 + #, gcc-internal-format + msgid "the last argument must be a 5-bit immediate" + msgstr "el tercer argumento debe ser un inmediato de 5-bit" + +-#: config/i386/i386.c:35457 ++#: config/i386/i386.c:35460 + #, gcc-internal-format + msgid "the next to last argument must be an 8-bit immediate" + msgstr "el penúltimo argumento debe ser un inmediato de 8-bit" + +-#: config/i386/i386.c:35462 config/i386/i386.c:36249 ++#: config/i386/i386.c:35465 config/i386/i386.c:36252 + #, gcc-internal-format + msgid "the last argument must be an 8-bit immediate" + msgstr "el último argumento debe ser un inmediato de 8-bit" + +-#: config/i386/i386.c:35596 ++#: config/i386/i386.c:35599 + #, gcc-internal-format + msgid "the third argument must be comparison constant" + msgstr "el tercer argumento debe ser una constante de comparación" + +-#: config/i386/i386.c:35601 ++#: config/i386/i386.c:35604 + #, gcc-internal-format + msgid "incorrect comparison mode" + msgstr "modo de comparación incorrecto" + +-#: config/i386/i386.c:35607 config/i386/i386.c:35814 ++#: config/i386/i386.c:35610 config/i386/i386.c:35817 + #, gcc-internal-format + msgid "incorrect rounding operand" + msgstr "operando de redondeo incorrecto" + +-#: config/i386/i386.c:35796 ++#: config/i386/i386.c:35799 + #, gcc-internal-format + msgid "the immediate argument must be a 4-bit immediate" + msgstr "el argumento inmediato debe ser un inmediato de 4-bit" + +-#: config/i386/i386.c:35802 ++#: config/i386/i386.c:35805 + #, gcc-internal-format + msgid "the immediate argument must be a 5-bit immediate" + msgstr "el argumento inmediato debe ser un inmediato de 5-bit" + +-#: config/i386/i386.c:35805 ++#: config/i386/i386.c:35808 + #, gcc-internal-format + msgid "the immediate argument must be an 8-bit immediate" + msgstr "el argumento inmediato debe ser un inmediato de 8-bit" + +-#: config/i386/i386.c:36247 ++#: config/i386/i386.c:36250 + #, gcc-internal-format + msgid "the last argument must be a 32-bit immediate" + msgstr "el último argumento debe ser un inmediato de 32-bit" + +-#: config/i386/i386.c:36329 config/powerpcspe/powerpcspe.c:16219 +-#: config/rs6000/rs6000.c:15304 ++#: config/i386/i386.c:36332 config/powerpcspe/powerpcspe.c:16219 ++#: config/rs6000/rs6000.c:15348 + #, gcc-internal-format + msgid "selector must be an integer constant in the range 0..%wi" + msgstr "el selector debe ser una constante entera en el rango 0..%wi" + +-#: config/i386/i386.c:36539 ++#: config/i386/i386.c:36542 + #, gcc-internal-format + msgid "%qE needs unknown isa option" + msgstr "%qE necesita la opción isa desconocida" + +-#: config/i386/i386.c:36543 ++#: config/i386/i386.c:36546 + #, gcc-internal-format + msgid "%qE needs isa option %s" + msgstr "%qE necesita la opción isa %s" + +-#: config/i386/i386.c:37381 ++#: config/i386/i386.c:37375 + #, gcc-internal-format + msgid "last argument must be an immediate" + msgstr "el último argumento debe ser un inmediato" + +-#: config/i386/i386.c:38108 config/i386/i386.c:38290 ++#: config/i386/i386.c:38102 config/i386/i386.c:38284 + #, gcc-internal-format + msgid "the last argument must be scale 1, 2, 4, 8" + msgstr "el último argumento debe ser un escalar 1, 2, 4, 8" + +-#: config/i386/i386.c:38343 ++#: config/i386/i386.c:38337 + #, gcc-internal-format + msgid "the forth argument must be scale 1, 2, 4, 8" + msgstr "el argumento delantero debe ser un escalar 1, 2, 4, 8" + +-#: config/i386/i386.c:38349 ++#: config/i386/i386.c:38343 + #, gcc-internal-format + msgid "incorrect hint operand" + msgstr "operando de pista incorrecto" + +-#: config/i386/i386.c:38368 ++#: config/i386/i386.c:38362 + #, gcc-internal-format + msgid "the xabort's argument must be an 8-bit immediate" + msgstr "el argumento de xabort debe ser un inmediato de 8-bit" + +-#: config/i386/i386.c:41431 ++#: config/i386/i386.c:41425 + #, gcc-internal-format + msgid "%qE attribute only available for 32-bit" + msgstr "el atributo %qE solamente está disponible para 64-bit" + +-#: config/i386/i386.c:41452 ++#: config/i386/i386.c:41446 + #, gcc-internal-format + msgid "argument to %qE attribute is neither zero, nor one" + msgstr "el argumento del atributo %qE no es cero ni uno" + +-#: config/i386/i386.c:41485 config/i386/i386.c:41494 ++#: config/i386/i386.c:41479 config/i386/i386.c:41488 + #, gcc-internal-format + msgid "ms_abi and sysv_abi attributes are not compatible" + msgstr "los atributos ms_abi y sysv_abi no son compatibles" + +-#: config/i386/i386.c:41530 config/powerpcspe/powerpcspe.c:35868 +-#: config/rs6000/rs6000.c:33065 ++#: config/i386/i386.c:41524 config/powerpcspe/powerpcspe.c:35868 ++#: config/rs6000/rs6000.c:33121 + #, gcc-internal-format + msgid "%qE incompatible attribute ignored" + msgstr "se descarta el atributo incompatible %qE" + +-#: config/i386/i386.c:41555 config/i386/i386.c:41577 config/ia64/ia64.c:815 ++#: config/i386/i386.c:41549 config/i386/i386.c:41571 config/ia64/ia64.c:815 + #: config/s390/s390.c:1153 + #, gcc-internal-format + msgid "%qE attribute requires a string constant argument" + msgstr "el atributo %qE requiere una constante entera como argumento" + +-#: config/i386/i386.c:41565 config/i386/i386.c:41587 config/s390/s390.c:1182 ++#: config/i386/i386.c:41559 config/i386/i386.c:41581 config/s390/s390.c:1182 + #, gcc-internal-format + msgid "argument to %qE attribute is not (keep|thunk|thunk-inline|thunk-extern)" + msgstr "el argumento del atributo %qE no es (keep|thunk|thunk-inline|thunk-extern)" + +-#: config/i386/i386.c:41619 ++#: config/i386/i386.c:41613 + #, gcc-internal-format + msgid "interrupt service routine should have a pointer as the first argument" + msgstr "la rutina de servicio de interrupciones debería tener un puntero como primer argumento" + +-#: config/i386/i386.c:41626 ++#: config/i386/i386.c:41620 + #, gcc-internal-format, gfc-internal-format + msgid "interrupt service routine should have unsigned %sint as the second argument" + msgstr "la rutina de atención de interrupciones debería tener como segundo argumento un unsigned %sint" + +-#: config/i386/i386.c:41636 ++#: config/i386/i386.c:41630 + #, gcc-internal-format + msgid "interrupt service routine can only have a pointer argument and an optional integer argument" + msgstr "la rutina de servicio de interrupciones solo puede tener un argumento puntero y un argumento entero opcional" + +-#: config/i386/i386.c:41639 ++#: config/i386/i386.c:41633 + #, gcc-internal-format + msgid "interrupt service routine can't have non-void return value" + msgstr "ls rutina de servicio de interrupción no puede tener valor de retorno que no sea void" + +-#: config/i386/i386.c:44676 ++#: config/i386/i386.c:44670 + #, gcc-internal-format + msgid "alternatives not allowed in asm flag output" + msgstr "no se permiten alternativas en la salida del indicador asm" + +-#: config/i386/i386.c:44740 ++#: config/i386/i386.c:44734 + #, gcc-internal-format + msgid "unknown asm flag output %qs" + msgstr "salida del indicador asm %qs desconocida" + +-#: config/i386/i386.c:44769 ++#: config/i386/i386.c:44763 + #, gcc-internal-format + msgid "invalid type for asm flag output" + msgstr "tipo no válido para la salida del indicador asm" + +-#: config/i386/i386.c:50634 ++#: config/i386/i386.c:50628 + #, gcc-internal-format + msgid "unknown architecture specific memory model" + msgstr "modelo de memoria específico de la arquitectura desconocido" + +-#: config/i386/i386.c:50641 ++#: config/i386/i386.c:50635 + #, gcc-internal-format + msgid "HLE_ACQUIRE not used with ACQUIRE or stronger memory model" + msgstr "HLE_ACQUIRE no se usa con ACQUIRE o modelos de memoria más fuertes" + +-#: config/i386/i386.c:50647 ++#: config/i386/i386.c:50641 + #, gcc-internal-format + msgid "HLE_RELEASE not used with RELEASE or stronger memory model" + msgstr "HLE_RELEASE no se usa con RELEASE o modelos de memoria más fuertes" + +-#: config/i386/i386.c:50671 config/i386/i386.c:50787 ++#: config/i386/i386.c:50665 config/i386/i386.c:50781 + #, gcc-internal-format, gfc-internal-format + msgid "unsupported simdlen %d" + msgstr "simdlen %d no admitido" + +-#: config/i386/i386.c:50690 ++#: config/i386/i386.c:50684 + #, gcc-internal-format + msgid "unsupported return type %qT for simd" + msgstr "no se admite el tipo de retorno %qT para simd" + +-#: config/i386/i386.c:50712 ++#: config/i386/i386.c:50706 + #, gcc-internal-format + msgid "unsupported argument type %qT for simd" + msgstr "no se admite el tipo de argumento %qT para simd" + +-#: config/i386/i386.c:51033 ++#: config/i386/i386.c:51027 + #, gcc-internal-format + msgid "Pointer Checker requires MPX support on this target. Use -mmpx options to enable MPX." + msgstr "El Comprobador de Punteros requiere suporte MPX en este objetivo. Utilice las opciones -mmpx para activar MPX." +@@ -29900,7 +29948,7 @@ + msgstr "interrupt_thread sólo está disponible en fido" + + #: config/m68k/m68k.c:1128 config/powerpcspe/powerpcspe.c:28512 +-#: config/rs6000/rs6000.c:25791 ++#: config/rs6000/rs6000.c:25868 + #, gcc-internal-format + msgid "stack limit expression is not supported" + msgstr "no se admite la expresión del límite de la pila" +@@ -30475,58 +30523,58 @@ + + #. Trampoline is not supported on reduced-set registers yet. + #: config/nds32/nds32.c:2327 config/nds32/nds32.c:2381 +-#: config/nds32/nds32.c:3127 config/nds32/nds32.c:3201 +-#: config/nds32/nds32.c:3216 config/nds32/nds32.c:3222 +-#: config/nds32/nds32.c:3284 config/nds32/nds32.c:3290 +-#: config/nds32/nds32.c:3322 ++#: config/nds32/nds32.c:3128 config/nds32/nds32.c:3202 ++#: config/nds32/nds32.c:3217 config/nds32/nds32.c:3223 ++#: config/nds32/nds32.c:3285 config/nds32/nds32.c:3291 ++#: config/nds32/nds32.c:3323 + #, gcc-internal-format + msgid "a nested function is not supported for reduced registers" + msgstr "no se admiten funciones anidadas para registros reducidos" + + #. The enum index value for array size is out of range. +-#: config/nds32/nds32.c:3025 ++#: config/nds32/nds32.c:3026 + #, gcc-internal-format + msgid "intrinsic register index is out of range" + msgstr "el índice de registro intrínseco está fuera de rango" + +-#: config/nds32/nds32.c:3041 config/nds32/nds32.c:3048 +-#: config/nds32/nds32.c:3055 config/nds32/nds32.c:3062 +-#: config/nds32/nds32.c:3069 ++#: config/nds32/nds32.c:3042 config/nds32/nds32.c:3049 ++#: config/nds32/nds32.c:3056 config/nds32/nds32.c:3063 ++#: config/nds32/nds32.c:3070 + #, gcc-internal-format + msgid "CCTL intrinsic function subtype out of range!" + msgstr "el subtipo de la función intrínseca CCTLestá fuera de rango" + +-#: config/nds32/nds32.c:3508 ++#: config/nds32/nds32.c:3509 + #, gcc-internal-format + msgid "invalid id value for interrupt/exception attribute" + msgstr "valor de id no válido para atributo de interrupción/excepción" + +-#: config/nds32/nds32.c:3536 ++#: config/nds32/nds32.c:3537 + #, gcc-internal-format + msgid "invalid id value for reset attribute" + msgstr "valor de id no válido atributo reset" + +-#: config/nds32/nds32.c:3552 ++#: config/nds32/nds32.c:3553 + #, gcc-internal-format + msgid "invalid nmi function for reset attribute" + msgstr "función nmi no válida para atributo reset" + +-#: config/nds32/nds32.c:3565 ++#: config/nds32/nds32.c:3566 + #, gcc-internal-format + msgid "invalid warm function for reset attribute" + msgstr "función warm no válida para atributo reset" + +-#: config/nds32/nds32.c:3638 ++#: config/nds32/nds32.c:3639 + #, gcc-internal-format + msgid "Disable FPU ISA, the ABI option must be enable '-mfloat-abi=soft'" + msgstr "desactiva ISA de FPU, la opción de ABI debe ser activar '-mfloat-abit=soft'" + +-#: config/nds32/nds32.c:3641 ++#: config/nds32/nds32.c:3642 + #, gcc-internal-format + msgid "'-mabi=2fp+' option only support when FPU available, must be enable '-mext-fpu-sp' or '-mext-fpu-dp'" + msgstr "" + +-#: config/nds32/nds32.c:3647 ++#: config/nds32/nds32.c:3648 + #, gcc-internal-format + msgid "position-independent code not supported" + msgstr "no se admite código independiente de posición" +@@ -30727,10 +30775,9 @@ + msgstr "la función %s no se admite conjuntamente con -fopenacc" + + #: config/nvptx/nvptx.c:191 +-#, fuzzy, gcc-internal-format +-#| msgid "writing to address space %qs not supported" ++#, gcc-internal-format + msgid "not generating patch area, nops not supported" +-msgstr "no se admite escribir al espacio de direcciones %qs" ++msgstr "no se genera zona de parche; no se admite nops" + + #: config/nvptx/nvptx.c:278 + #, gcc-internal-format +@@ -30861,12 +30908,12 @@ + msgid "junk at end of #pragma longcall" + msgstr "basura al final de #pragma longcall" + +-#: config/powerpcspe/powerpcspe-c.c:5661 config/rs6000/rs6000-c.c:6154 ++#: config/powerpcspe/powerpcspe-c.c:5661 config/rs6000/rs6000-c.c:6152 + #, gcc-internal-format + msgid "vec_lvsl is deprecated for little endian; use assignment for unaligned loads and stores" + msgstr "vec_lvsl está obsoleta para little endian; utilize asignación para cargas y almacenajes no alineados" + +-#: config/powerpcspe/powerpcspe-c.c:5665 config/rs6000/rs6000-c.c:6158 ++#: config/powerpcspe/powerpcspe-c.c:5665 config/rs6000/rs6000-c.c:6156 + #, gcc-internal-format + msgid "vec_lvsr is deprecated for little endian; use assignment for unaligned loads and stores" + msgstr "vec_lvsr está obsoleta para little endian; utilize asignación para cargas y almacenajes no alineados" +@@ -30916,7 +30963,7 @@ + msgid "vec_insert only accepts 3 arguments" + msgstr "vec_insert sólo acepta 3 argumentos" + +-#: config/powerpcspe/powerpcspe-c.c:6468 config/rs6000/rs6000-c.c:6868 ++#: config/powerpcspe/powerpcspe-c.c:6468 config/rs6000/rs6000-c.c:6866 + #, gcc-internal-format + 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" +@@ -31001,7 +31048,7 @@ + msgid "target attribute or pragma changes SPE ABI" + msgstr "el atributo o pragma target cabia la ABI SPE" + +-#: config/powerpcspe/powerpcspe.c:4351 config/rs6000/rs6000.c:4223 ++#: config/powerpcspe/powerpcspe.c:4351 config/rs6000/rs6000.c:4243 + #, gcc-internal-format + msgid "AltiVec not supported in this target" + msgstr "no se admite AltiVec en este objetivo" +@@ -31147,7 +31194,7 @@ + msgid "-mvsx-small-integer requires -mpower8-vector, -mupper-regs-di, and -mdirect-move" + msgstr "" + +-#: config/powerpcspe/powerpcspe.c:4959 config/rs6000/rs6000.c:4601 ++#: config/powerpcspe/powerpcspe.c:4959 config/rs6000/rs6000.c:4628 + #, gcc-internal-format + msgid "target attribute or pragma changes long double size" + msgstr "el atributo o pragma target cambia el tamaño de double long" +@@ -31188,22 +31235,22 @@ + msgstr "tipo de ABI de biblioteca de vectorización desconocida (%s) para la opción -mveclibabi=" + + #: config/powerpcspe/powerpcspe.c:5140 config/powerpcspe/powerpcspe.c:5155 +-#: config/rs6000/rs6000.c:4766 config/rs6000/rs6000.c:4781 ++#: config/rs6000/rs6000.c:4791 config/rs6000/rs6000.c:4806 + #, gcc-internal-format + msgid "target attribute or pragma changes AltiVec ABI" + msgstr "el atributo o pragma target cambia la ABI Altivec" + +-#: config/powerpcspe/powerpcspe.c:5168 config/rs6000/rs6000.c:4794 ++#: config/powerpcspe/powerpcspe.c:5168 config/rs6000/rs6000.c:4819 + #, gcc-internal-format + msgid "target attribute or pragma changes darwin64 ABI" + msgstr "el atributo o pragma target cambia la ABI darwin64" + +-#: config/powerpcspe/powerpcspe.c:5234 config/rs6000/rs6000.c:4828 ++#: config/powerpcspe/powerpcspe.c:5234 config/rs6000/rs6000.c:4853 + #, gcc-internal-format + msgid "target attribute or pragma changes single precision floating point" + msgstr "el atributo o pragma target cambia la coma flotante de precisión sencilla" + +-#: config/powerpcspe/powerpcspe.c:5237 config/rs6000/rs6000.c:4831 ++#: config/powerpcspe/powerpcspe.c:5237 config/rs6000/rs6000.c:4856 + #, gcc-internal-format + msgid "target attribute or pragma changes double precision floating point" + msgstr "el atributo o pragma target cambia la coma flotante de precisión doble" +@@ -31213,12 +31260,12 @@ + msgid "-mstack-protector-guard=tls needs a valid base register" + msgstr "-mstack-protector-guard==tls necesita un registro bae válido" + +-#: config/powerpcspe/powerpcspe.c:8415 config/rs6000/rs6000.c:7925 ++#: config/powerpcspe/powerpcspe.c:8415 config/rs6000/rs6000.c:7950 + #, gcc-internal-format, gfc-internal-format + msgid "the layout of aggregates containing vectors with %d-byte alignment has changed in GCC 5" + msgstr "la disposición de los agregados que contienen vectores con alineamiento de %d bytes cambió en GCC 5" + +-#: config/powerpcspe/powerpcspe.c:11834 config/rs6000/rs6000.c:11237 ++#: config/powerpcspe/powerpcspe.c:11834 config/rs6000/rs6000.c:11269 + #, gcc-internal-format + msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee" + msgstr "Se devolvió un vector GCC por referencia: extensión de ABI no estándar sin garantía de compatibilidad" +@@ -31228,7 +31275,7 @@ + msgid "cannot return value in vector register because altivec instructions are disabled, use -maltivec to enable them" + msgstr "no se puede devolver un valor en el registro vector porque las instrucciones altivec están desactivadas, use -maltivec para activarlas" + +-#: config/powerpcspe/powerpcspe.c:12193 config/rs6000/rs6000.c:11595 ++#: config/powerpcspe/powerpcspe.c:12193 config/rs6000/rs6000.c:11633 + #, gcc-internal-format, gfc-internal-format + msgid "the ABI of passing aggregates with %d-byte alignment has changed in GCC 5" + msgstr "la ABI para pasar agregados con alineación de %d bytes cambió en GCC 5" +@@ -31238,12 +31285,12 @@ + msgid "cannot pass argument in vector register because altivec instructions are disabled, use -maltivec to enable them" + msgstr "no se puede pasar argumentos en el registro vector porque las instrucciones altivec están desactivadas, use -maltivec para activarlas" + +-#: config/powerpcspe/powerpcspe.c:13311 config/rs6000/rs6000.c:12604 ++#: config/powerpcspe/powerpcspe.c:13311 config/rs6000/rs6000.c:12648 + #, gcc-internal-format + msgid "the ABI of passing homogeneous float aggregates has changed in GCC 5" + msgstr "la ABI para pasar agregados flotantes homogéneos cambió en GCC 5" + +-#: config/powerpcspe/powerpcspe.c:13486 config/rs6000/rs6000.c:12779 ++#: config/powerpcspe/powerpcspe.c:13486 config/rs6000/rs6000.c:12823 + #, gcc-internal-format + msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee" + msgstr "vector GCC pasado por referencia: extensión ABI que no es estándar sin garantía de compatibilidad" +@@ -31253,28 +31300,28 @@ + msgid "internal error: builtin function %s already processed" + msgstr "error interno: la función interna %s ya se procesó" + +-#: config/powerpcspe/powerpcspe.c:14785 config/rs6000/rs6000.c:13971 ++#: config/powerpcspe/powerpcspe.c:14785 config/rs6000/rs6000.c:14015 + #, gcc-internal-format + msgid "argument 1 must be an 8-bit field value" + msgstr "el argumento 1 debe ser un valor de un campo de 8 bits" + +-#: config/powerpcspe/powerpcspe.c:14831 config/rs6000/rs6000.c:14015 ++#: config/powerpcspe/powerpcspe.c:14831 config/rs6000/rs6000.c:14059 + #, gcc-internal-format + msgid "argument 1 must be a 5-bit signed literal" + msgstr "el argumento 1 debe ser un literal con signo de 5 bits" + + #: config/powerpcspe/powerpcspe.c:14934 config/powerpcspe/powerpcspe.c:16803 +-#: config/rs6000/rs6000.c:14101 ++#: config/rs6000/rs6000.c:14145 + #, gcc-internal-format + msgid "argument 2 must be a 5-bit unsigned literal" + msgstr "el argumento 2 debe ser un literal sin signo de 5 bits" + +-#: config/powerpcspe/powerpcspe.c:14952 config/rs6000/rs6000.c:14119 ++#: config/powerpcspe/powerpcspe.c:14952 config/rs6000/rs6000.c:14163 + #, gcc-internal-format + msgid "argument 1 must be a 6-bit unsigned literal" + msgstr "el argumento 1 debe ser un literal sin signo de 6 bits" + +-#: config/powerpcspe/powerpcspe.c:14966 config/rs6000/rs6000.c:14135 ++#: config/powerpcspe/powerpcspe.c:14966 config/rs6000/rs6000.c:14179 + #, gcc-internal-format + msgid "argument 2 must be a 7-bit unsigned literal" + msgstr "el argumento 2 debe ser un literal sin signo de 7 bits" +@@ -31294,12 +31341,12 @@ + msgid "builtin %s is only valid in 64-bit mode" + msgstr "el interno %s solo es válido en modo de 64 bits" + +-#: config/powerpcspe/powerpcspe.c:15599 config/rs6000/rs6000.c:14791 ++#: config/powerpcspe/powerpcspe.c:15599 config/rs6000/rs6000.c:14835 + #, gcc-internal-format, gfc-internal-format + msgid "argument %d must be an unsigned literal" + msgstr "el argumento %d debe ser un literal sin signo" + +-#: config/powerpcspe/powerpcspe.c:15601 config/rs6000/rs6000.c:14793 ++#: config/powerpcspe/powerpcspe.c:15601 config/rs6000/rs6000.c:14837 + #, gcc-internal-format, gfc-internal-format + msgid "argument %d is an unsigned literal that is out of range" + msgstr "el argumento %d es un literal sin signo fuera de rango" +@@ -31321,53 +31368,53 @@ + msgid "hwcap %s is an invalid argument to builtin %s" + msgstr "la hwcap %s es un argumento no válido para el interno %s" + +-#: config/powerpcspe/powerpcspe.c:15860 config/rs6000/rs6000.c:15065 ++#: config/powerpcspe/powerpcspe.c:15860 config/rs6000/rs6000.c:15109 + #, gcc-internal-format + msgid "argument 3 must be a 4-bit unsigned literal" + msgstr "el argumento 3 debe ser una literal sin signo de 4-bit" + +-#: config/powerpcspe/powerpcspe.c:15885 config/rs6000/rs6000.c:15090 ++#: config/powerpcspe/powerpcspe.c:15885 config/rs6000/rs6000.c:15134 + #, gcc-internal-format + msgid "argument 3 must be a 2-bit unsigned literal" + msgstr "el argumento 3 debe ser una literal sin signo de 2-bit" + +-#: config/powerpcspe/powerpcspe.c:15905 config/rs6000/rs6000.c:15110 ++#: config/powerpcspe/powerpcspe.c:15905 config/rs6000/rs6000.c:15154 + #, gcc-internal-format + msgid "argument 3 must be a 1-bit unsigned literal" + msgstr "el argumento 3 debe ser una literal sin signo de 1-bit" + +-#: config/powerpcspe/powerpcspe.c:15917 config/rs6000/rs6000.c:15122 ++#: config/powerpcspe/powerpcspe.c:15917 config/rs6000/rs6000.c:15166 + #, gcc-internal-format + msgid "argument 1 must be 0 or 2" + msgstr "el argumento 1 debe ser 0 o 2" + +-#: config/powerpcspe/powerpcspe.c:15929 config/rs6000/rs6000.c:15134 ++#: config/powerpcspe/powerpcspe.c:15929 config/rs6000/rs6000.c:15178 + #, gcc-internal-format + msgid "argument 1 must be a 1-bit unsigned literal" + msgstr "el argumento 1 debe ser un literal sin signo de 1 bit" + +-#: config/powerpcspe/powerpcspe.c:15943 config/rs6000/rs6000.c:15148 ++#: config/powerpcspe/powerpcspe.c:15943 config/rs6000/rs6000.c:15192 + #, gcc-internal-format + msgid "argument 2 must be a 6-bit unsigned literal" + msgstr "el argumento 2 debe ser un literal sin signo de 6 bits" + +-#: config/powerpcspe/powerpcspe.c:15955 config/rs6000/rs6000.c:15160 ++#: config/powerpcspe/powerpcspe.c:15955 config/rs6000/rs6000.c:15204 + #, gcc-internal-format + msgid "argument 2 must be 0 or 1" + msgstr "el argumento 2 debe ser 0 ó 1" + +-#: config/powerpcspe/powerpcspe.c:15963 config/rs6000/rs6000.c:15168 ++#: config/powerpcspe/powerpcspe.c:15963 config/rs6000/rs6000.c:15212 + #, gcc-internal-format + msgid "argument 3 must be in the range 0..15" + msgstr "el argumento d de debe estar dentro del rango 0..15" + +-#: config/powerpcspe/powerpcspe.c:16152 config/rs6000/rs6000.c:15237 +-#: config/rs6000/rs6000.c:15569 ++#: config/powerpcspe/powerpcspe.c:16152 config/rs6000/rs6000.c:15281 ++#: config/rs6000/rs6000.c:15613 + #, gcc-internal-format + msgid "argument to %qs must be a 2-bit unsigned literal" + msgstr "el argumento para %qs debe ser una literal sin signo de 2-bit" + +-#: config/powerpcspe/powerpcspe.c:16309 config/rs6000/rs6000.c:15394 ++#: config/powerpcspe/powerpcspe.c:16309 config/rs6000/rs6000.c:15438 + #, gcc-internal-format + msgid "unresolved overload for Altivec builtin %qF" + msgstr "sobrecarga sin resolver para el interno Altivec %qF" +@@ -31493,7 +31540,7 @@ + msgid "internal error: builtin function %s, argument %d had unexpected argument type %s" + msgstr "error interno: función interna %s, el argumento %d tiene el tipo de argumento inesperado %s" + +-#: config/powerpcspe/powerpcspe.c:28481 config/rs6000/rs6000.c:25758 ++#: config/powerpcspe/powerpcspe.c:28481 config/rs6000/rs6000.c:25835 + #, gcc-internal-format + msgid "stack frame too large" + msgstr "marco de pila demasiado grande" +@@ -31503,12 +31550,12 @@ + msgid "-fsplit-stack uses register r29" + msgstr "-fsplit-stack utiliza el registro r29" + +-#: config/powerpcspe/powerpcspe.c:32265 config/rs6000/rs6000.c:29459 ++#: config/powerpcspe/powerpcspe.c:32265 config/rs6000/rs6000.c:29536 + #, gcc-internal-format + msgid "Stack frame larger than 2G is not supported for -fsplit-stack" + msgstr "No se admite un marco de pila mayor de 2G con -fsplit-stack" + +-#: config/powerpcspe/powerpcspe.c:33252 config/rs6000/rs6000.c:30447 ++#: config/powerpcspe/powerpcspe.c:33252 config/rs6000/rs6000.c:30524 + #, gcc-internal-format + msgid "no profiling of 64-bit code for this ABI" + msgstr "no hay análisis de perfil del código de 64-bit para esta ABI" +@@ -31518,22 +31565,22 @@ + msgid "You cannot take the address of a nested function if you use the -mno-pointers-to-nested-functions option." + msgstr "No se puede tomar la dirección de una función anindada si se usa la opción -mno-pointers-to-nested-functions." + +-#: config/powerpcspe/powerpcspe.c:35637 config/rs6000/rs6000.c:32830 ++#: config/powerpcspe/powerpcspe.c:35637 config/rs6000/rs6000.c:32907 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "el uso de % en tipos AltiVec es no válido" + +-#: config/powerpcspe/powerpcspe.c:35639 config/rs6000/rs6000.c:32832 ++#: config/powerpcspe/powerpcspe.c:35639 config/rs6000/rs6000.c:32909 + #, gcc-internal-format + msgid "use of boolean types in AltiVec types is invalid" + msgstr "el uso de tipos booleanos en tipos AltiVec es no válido" + +-#: config/powerpcspe/powerpcspe.c:35641 config/rs6000/rs6000.c:32834 ++#: config/powerpcspe/powerpcspe.c:35641 config/rs6000/rs6000.c:32911 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid" + msgstr "el uso de % en tipos AltiVec es no válido" + +-#: config/powerpcspe/powerpcspe.c:35643 config/rs6000/rs6000.c:32836 ++#: config/powerpcspe/powerpcspe.c:35643 config/rs6000/rs6000.c:32913 + #, gcc-internal-format + msgid "use of decimal floating point types in AltiVec types is invalid" + msgstr "el uso de tipos de coma flotante decimal en tipos AltiVec es no válido" +@@ -31543,7 +31590,7 @@ + msgid "use of % in AltiVec types is invalid for 64-bit code without -mvsx" + msgstr "el uso de % en tipos AltiVec es no válido para código de 64 bit sin -mvsx" + +-#: config/powerpcspe/powerpcspe.c:35652 config/rs6000/rs6000.c:32845 ++#: config/powerpcspe/powerpcspe.c:35652 config/rs6000/rs6000.c:32922 + #, gcc-internal-format + msgid "use of % in AltiVec types is deprecated; use %" + msgstr "el uso de % en tipos AltiVec es obsoleto; use %" +@@ -32085,71 +32132,71 @@ + "Please use an explicit cpu name. Valid cpu names are: %s" + msgstr "" + +-#: config/rs6000/rs6000-c.c:6168 config/rs6000/rs6000-c.c:6219 +-#: config/rs6000/rs6000-c.c:6489 config/rs6000/rs6000-c.c:6555 +-#: config/rs6000/rs6000-c.c:6916 config/rs6000/rs6000-c.c:6963 ++#: config/rs6000/rs6000-c.c:6166 config/rs6000/rs6000-c.c:6217 ++#: config/rs6000/rs6000-c.c:6487 config/rs6000/rs6000-c.c:6553 ++#: config/rs6000/rs6000-c.c:6914 config/rs6000/rs6000-c.c:6961 + #, gcc-internal-format + msgid "builtin %qs only accepts 2 arguments" + msgstr "el interno %qs sólo acepta 2 argumentos" + +-#: config/rs6000/rs6000-c.c:6292 config/rs6000/rs6000-c.c:6375 +-#: config/rs6000/rs6000-c.c:6736 ++#: config/rs6000/rs6000-c.c:6290 config/rs6000/rs6000-c.c:6373 ++#: config/rs6000/rs6000-c.c:6734 + #, gcc-internal-format + msgid "builtin %qs only accepts 3 arguments" + msgstr "el interno %qs solo acepta 3 argumentos" + +-#: config/rs6000/rs6000-c.c:6484 ++#: config/rs6000/rs6000-c.c:6482 + #, gcc-internal-format + msgid "builtin %qs only accepts 1 argument" + msgstr "el interno %qs solo acepta 1 argumento" + +-#: config/rs6000/rs6000-c.c:7054 ++#: config/rs6000/rs6000-c.c:7052 + #, gcc-internal-format + msgid "builtin %qs requires builtin %qs" + msgstr "la función interna %qs requiere la función interna %qs" + +-#: config/rs6000/rs6000-c.c:7058 ++#: config/rs6000/rs6000-c.c:7056 + #, gcc-internal-format + msgid "builtin function %qs not supported in this compiler configuration" + msgstr "no se admite la función interna %s en esta configuración del compilador" + +-#: config/rs6000/rs6000-c.c:7068 ++#: config/rs6000/rs6000-c.c:7066 + #, gcc-internal-format + msgid "invalid parameter combination for AltiVec intrinsic %qs" + msgstr "combinación de parámetros no válida para el intrínseco AltiVec %qs" + +-#: config/rs6000/rs6000.c:3754 config/rs6000/rs6000.c:3757 +-#: config/rs6000/rs6000.c:3760 ++#: config/rs6000/rs6000.c:3772 config/rs6000/rs6000.c:3775 ++#: config/rs6000/rs6000.c:3778 + #, gcc-internal-format + msgid "%qs requires %qs or %qs" + msgstr "%qs requiere %qs o %qs" + +-#: config/rs6000/rs6000.c:3861 ++#: config/rs6000/rs6000.c:3879 + #, gcc-internal-format + msgid "%qs requires PowerPC64 architecture, enabling" + msgstr "%qs requiere la arquitectura PowerPC64, activando" + +-#: config/rs6000/rs6000.c:4037 ++#: config/rs6000/rs6000.c:4057 + #, gcc-internal-format + msgid "%qs command-line option is deprecated" + msgstr "la opción de la línea de órdenes %qs es obsoleta" + +-#: config/rs6000/rs6000.c:4048 ++#: config/rs6000/rs6000.c:4068 + #, gcc-internal-format + msgid "%qs is not supported for 64-bit Darwin; it is incompatible with the installed C and C++ libraries" + msgstr "no se admite %qs para Darwin de 64 bits; es incompatible con las bibliotecas C y C++ instaladas" + +-#: config/rs6000/rs6000.c:4147 ++#: config/rs6000/rs6000.c:4167 + #, gcc-internal-format + msgid "will not generate %qs instructions because assembler lacks %qs support" + msgstr "no generará instrucciones %qsporque el ensamblador no admite %qs" + +-#: config/rs6000/rs6000.c:4240 ++#: config/rs6000/rs6000.c:4260 + #, gcc-internal-format + msgid "%qs is not supported on little endian systems" + msgstr "no se admite %qs en sistemas little endian" + +-#: config/rs6000/rs6000.c:4333 ++#: config/rs6000/rs6000.c:4353 + #, gcc-internal-format + msgid "power9 target option is incompatible with %<%s=%> for less than power9" + msgstr "la opción del objetivo power9 es incompatible con %<%s= para menor que power9" +@@ -32156,7 +32203,7 @@ + + #. Enforce that none of the ISA_3_0_MASKS_SERVER flags + #. were explicitly cleared. +-#: config/rs6000/rs6000.c:4341 ++#: config/rs6000/rs6000.c:4361 + #, gcc-internal-format + msgid "%qs incompatible with explicitly disabled options" + msgstr "%qs es incompatible con las opciones desactivadas explícitamente" +@@ -32165,240 +32212,241 @@ + #. error messages. However, if users have managed to select + #. power9-fusion without selecting power8-fusion, they + #. already know about undocumented flags. +-#: config/rs6000/rs6000.c:4366 config/rs6000/rs6000.c:4373 +-#: config/rs6000/rs6000.c:4380 config/rs6000/rs6000.c:4388 +-#: config/rs6000/rs6000.c:4407 config/rs6000/rs6000.c:4464 +-#: config/rs6000/rs6000.c:4468 config/rs6000/rs6000.c:4485 +-#: config/rs6000/rs6000.c:4538 config/rs6000/rs6000.c:4565 +-#: config/rs6000/rs6000.c:4580 config/rs6000/rs6000.c:4588 +-#: config/rs6000/rs6000.c:4684 ++#: config/rs6000/rs6000.c:4386 config/rs6000/rs6000.c:4393 ++#: config/rs6000/rs6000.c:4400 config/rs6000/rs6000.c:4408 ++#: config/rs6000/rs6000.c:4427 config/rs6000/rs6000.c:4484 ++#: config/rs6000/rs6000.c:4488 config/rs6000/rs6000.c:4505 ++#: config/rs6000/rs6000.c:4558 config/rs6000/rs6000.c:4585 ++#: config/rs6000/rs6000.c:4600 config/rs6000/rs6000.c:4608 ++#: config/rs6000/rs6000.c:4709 + #, gcc-internal-format + msgid "%qs requires %qs" + msgstr "%qs requiere %qs" + +-#: config/rs6000/rs6000.c:4625 ++#: config/rs6000/rs6000.c:4650 + #, gcc-internal-format + msgid "Using IEEE extended precision long double" + msgstr "Se usa long double de precisión extendida de IEEE" + +-#: config/rs6000/rs6000.c:4627 ++#: config/rs6000/rs6000.c:4652 + #, gcc-internal-format + msgid "Using IBM extended precision long double" + msgstr "Se usa long double de precisión extendida de IBM" + +-#: config/rs6000/rs6000.c:4644 ++#: config/rs6000/rs6000.c:4669 + #, gcc-internal-format + msgid "%qs requires VSX support" + msgstr "%qs necesita soporte para VSX" + +-#: config/rs6000/rs6000.c:4653 ++#: config/rs6000/rs6000.c:4678 + #, gcc-internal-format + msgid "The -mfloat128 option may not be fully supported" + msgstr "Es posible que la opción -mfloat128 no funcione perfectamente" + +-#: config/rs6000/rs6000.c:4676 ++#: config/rs6000/rs6000.c:4701 + #, gcc-internal-format + msgid "%qs requires full ISA 3.0 support" + msgstr "%qs requiere suporte pleno de ISA 3.0" + +-#: config/rs6000/rs6000.c:4743 ++#: config/rs6000/rs6000.c:4768 + #, gcc-internal-format + msgid "unknown vectorization library ABI type (%qs) for %qs switch" + msgstr "tipo de ABI de biblioteca de vectorización desconocida (%qs) para la opción %qs" + +-#: config/rs6000/rs6000.c:4930 ++#: config/rs6000/rs6000.c:4955 + #, gcc-internal-format + msgid "%qs is not a valid number in %qs" + msgstr "%qs no es un número válido en %qs" + +-#: config/rs6000/rs6000.c:4935 ++#: config/rs6000/rs6000.c:4960 + #, gcc-internal-format + msgid "%qs is not a valid offset in %qs" + msgstr "%qs no es un desplazamiento válido en %qs" + +-#: config/rs6000/rs6000.c:4947 ++#: config/rs6000/rs6000.c:4972 + #, gcc-internal-format + msgid "%qs is not a valid base register in %qs" + msgstr "%qs no es un registro base válido en %qs" + +-#: config/rs6000/rs6000.c:4955 ++#: config/rs6000/rs6000.c:4980 + #, gcc-internal-format + msgid "%qs needs a valid base register" + msgstr "%qs necesita un registro bae válido" + +-#: config/rs6000/rs6000.c:5253 ++#: config/rs6000/rs6000.c:5278 + #, gcc-internal-format + msgid "unknown option for %<%s=%s%>" + msgstr "opción desconocida para %<%s=%s%>" + +-#: config/rs6000/rs6000.c:5290 ++#: config/rs6000/rs6000.c:5315 + #, gcc-internal-format + msgid "%qs is deprecated and not recommended in any circumstances" + msgstr "%qs está obsoleto y no está recomendada bajo ninguna circunstancia" + +-#: config/rs6000/rs6000.c:11401 ++#: config/rs6000/rs6000.c:11439 + #, gcc-internal-format + msgid "cannot return value in vector register because altivec instructions are disabled, use %qs to enable them" + msgstr "no se puede devolver un valor en el registro vector porque las instrucciones altivec están desactivadas, use %qs para activarlas" + +-#: config/rs6000/rs6000.c:11862 ++#: config/rs6000/rs6000.c:11906 + #, gcc-internal-format + msgid "cannot pass argument in vector register because altivec instructions are disabled, use %qs to enable them" + msgstr "no se puede pasar argumentos en el registro vector porque las instrucciones altivec están desactivadas, use %qs para activarlas" + +-#: config/rs6000/rs6000.c:13572 ++#: config/rs6000/rs6000.c:13616 + #, gcc-internal-format + msgid "internal error: builtin function %qs already processed" + msgstr "error interno: la función interna %qs ya se procesó" + +-#: config/rs6000/rs6000.c:14150 ++#: config/rs6000/rs6000.c:14194 + #, gcc-internal-format + msgid "argument 2 must be a 1-bit unsigned literal" + msgstr "el argumento 2 debe ser un literal sin signo de 1 bit" + +-#: config/rs6000/rs6000.c:14189 ++#: config/rs6000/rs6000.c:14233 + #, gcc-internal-format + msgid "argument 1 of %qs must be a constant" + msgstr "el argumento 1 de %qs debe ser constante" + +-#: config/rs6000/rs6000.c:14247 config/rs6000/rs6000.c:15898 ++#: config/rs6000/rs6000.c:14291 config/rs6000/rs6000.c:15942 + #, gcc-internal-format + msgid "argument 1 of %qs is out of range" + msgstr "el argumento 1 de %qs está fuera de rango" + +-#: config/rs6000/rs6000.c:14742 ++#: config/rs6000/rs6000.c:14786 + #, gcc-internal-format + msgid "builtin %qs is only valid in 64-bit mode" + msgstr "el interno %qs solo es válido en el modo de 64 bits" + +-#: config/rs6000/rs6000.c:14939 ++#: config/rs6000/rs6000.c:14983 + #, gcc-internal-format + msgid "builtin %qs only accepts a string argument" + msgstr "el interno %qs sólo acepta un argumento de cadena" + + #. Invalid CPU argument. +-#: config/rs6000/rs6000.c:14958 ++#: config/rs6000/rs6000.c:15002 + #, gcc-internal-format + msgid "cpu %qs is an invalid argument to builtin %qs" + msgstr "la cpu %qs es un argumento no válido para el interno %qs" + + #. Invalid HWCAP argument. +-#: config/rs6000/rs6000.c:14986 ++#: config/rs6000/rs6000.c:15030 + #, gcc-internal-format + msgid "%s %qs is an invalid argument to builtin %qs" + msgstr "%s %qs es un argumento no válido para el interno %qs" + +-#: config/rs6000/rs6000.c:15012 ++#: config/rs6000/rs6000.c:15056 + #, gcc-internal-format + msgid "builtin %qs needs GLIBC (2.23 and newer) that exports hardware capability bits" + msgstr "" + +-#: config/rs6000/rs6000.c:15616 ++#: config/rs6000/rs6000.c:15660 + #, gcc-internal-format + msgid "second argument to %qs must be 0..12" + msgstr "el segundo argumento de %qs debe estar en 0..12" + +-#: config/rs6000/rs6000.c:15631 ++#: config/rs6000/rs6000.c:15675 + #, gcc-internal-format + msgid "third argument to %qs must be 0..12" + msgstr "el tercer argumento de %qs debe estar en 0..12" + +-#: config/rs6000/rs6000.c:15850 ++#: config/rs6000/rs6000.c:15894 + #, gcc-internal-format, gfc-internal-format + msgid "argument 1 of %s must be a constant" + msgstr "el argumento 1 de %s debe ser una constante" + +-#: config/rs6000/rs6000.c:15932 ++#: config/rs6000/rs6000.c:15976 + #, gcc-internal-format + msgid "builtin function %qs is only valid for the cell processor" + msgstr "la función interna %qs solo es válida para el procesador cell" + +-#: config/rs6000/rs6000.c:15934 config/rs6000/rs6000.c:15936 +-#: config/rs6000/rs6000.c:15938 config/rs6000/rs6000.c:15940 +-#: config/rs6000/rs6000.c:15946 config/rs6000/rs6000.c:15948 +-#: config/rs6000/rs6000.c:15955 config/rs6000/rs6000.c:15962 +-#: config/rs6000/rs6000.c:15969 config/rs6000/rs6000.c:15975 ++#: config/rs6000/rs6000.c:15978 config/rs6000/rs6000.c:15980 ++#: config/rs6000/rs6000.c:15982 config/rs6000/rs6000.c:15984 ++#: config/rs6000/rs6000.c:15990 config/rs6000/rs6000.c:15992 ++#: config/rs6000/rs6000.c:15999 config/rs6000/rs6000.c:16006 ++#: config/rs6000/rs6000.c:16011 config/rs6000/rs6000.c:16014 ++#: config/rs6000/rs6000.c:16018 config/rs6000/rs6000.c:16024 + #, gcc-internal-format + msgid "builtin function %qs requires the %qs option" + msgstr "la función interna %qs requiere la opción %qs" + +-#: config/rs6000/rs6000.c:15943 config/rs6000/rs6000.c:15952 +-#: config/rs6000/rs6000.c:15959 config/rs6000/rs6000.c:15966 ++#: config/rs6000/rs6000.c:15987 config/rs6000/rs6000.c:15996 ++#: config/rs6000/rs6000.c:16003 + #, gcc-internal-format + msgid "builtin function %qs requires the %qs and %qs options" + msgstr "la función interna %qs requiere las opciones %qs y %qs" + +-#: config/rs6000/rs6000.c:15972 ++#: config/rs6000/rs6000.c:16021 + #, gcc-internal-format + msgid "builtin function %qs requires ISA 3.0 IEEE 128-bit floating point" + msgstr "la función interna %qs requiere requiere coma flotante de 128 bits del IEEE de ISA 3.0" + +-#: config/rs6000/rs6000.c:15978 ++#: config/rs6000/rs6000.c:16027 + #, gcc-internal-format + msgid "builtin function %qs requires the %qs (or newer), and %qs or %qs options" + msgstr "la función interna %qs requiere las opciones %qs (o más reciente), y %qs o %qs" + +-#: config/rs6000/rs6000.c:15982 ++#: config/rs6000/rs6000.c:16031 + #, gcc-internal-format + msgid "builtin function %qs is not supported with the current options" + msgstr "la función interna %qs no se admite con las opciones actuales" + +-#: config/rs6000/rs6000.c:18218 ++#: config/rs6000/rs6000.c:18290 + #, gcc-internal-format + msgid "internal error: builtin function %qs had an unexpected return type %qs" + msgstr "error interno: la función interna %qs tiene un tipo de devolución inesperado %qs" + +-#: config/rs6000/rs6000.c:18235 ++#: config/rs6000/rs6000.c:18307 + #, gcc-internal-format + msgid "internal error: builtin function %qs, argument %d had unexpected argument type %qs" + msgstr "error interno: función interna %qs, el argumento %d tiene el tipo de argumento inesperado %qs" + +-#: config/rs6000/rs6000.c:29451 ++#: config/rs6000/rs6000.c:29528 + #, gcc-internal-format + msgid "%qs uses register r29" + msgstr "%qs usa el registro r29" + +-#: config/rs6000/rs6000.c:32748 ++#: config/rs6000/rs6000.c:32825 + #, gcc-internal-format + msgid "you cannot take the address of a nested function if you use the %qs option" + msgstr "no se puede tomar la dirección de una función anindada si se usa la opción %qs" + +-#: config/rs6000/rs6000.c:32842 ++#: config/rs6000/rs6000.c:32919 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid for 64-bit code without %qs" + msgstr "el uso de % en tipos AltiVec no es válido para código de 64 bits sin %qs" + +-#: config/rs6000/rs6000.c:32850 ++#: config/rs6000/rs6000.c:32927 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "el uso de % en tipos AltiVec no es válido sin %qs" + +-#: config/rs6000/rs6000.c:32853 ++#: config/rs6000/rs6000.c:32930 + #, gcc-internal-format + msgid "use of % in AltiVec types is invalid without %qs" + msgstr "el uso de % en tipos AltiVec no es válido sin %qs" + +-#: config/rs6000/rs6000.c:36876 ++#: config/rs6000/rs6000.c:36932 + #, gcc-internal-format + msgid "invalid cpu %qs for %s%qs%s" + msgstr "cpu %qs no válida para %s%qs%s" + +-#: config/rs6000/rs6000.c:36879 ++#: config/rs6000/rs6000.c:36935 + #, gcc-internal-format + msgid "%s%qs%s is not allowed" + msgstr "%s%qs%s no está permitido" + +-#: config/rs6000/rs6000.c:36881 ++#: config/rs6000/rs6000.c:36937 + #, gcc-internal-format + msgid "%s%qs%s is invalid" + msgstr "%s%qs%s no es válido" + +-#: config/rs6000/rs6000.c:37416 ++#: config/rs6000/rs6000.c:37472 + #, gcc-internal-format + msgid "%<-mno-%s%> turns off %<-m%s%>" + msgstr "%<-mno=%s%> anula %<-m%s%>" + +-#: config/rs6000/rs6000.c:37575 ++#: config/rs6000/rs6000.c:37631 + #, gcc-internal-format + msgid "target_clones attribute needs GLIBC (2.23 and newer) that exports hardware capability bits" + msgstr "" +@@ -33138,49 +33186,49 @@ + msgid "subprogram %q+F not marked Inline" + msgstr "el subprograma %q+F no está marcado Inline" + +-#: ada/gcc-interface/trans.c:6404 ++#: ada/gcc-interface/trans.c:6401 + #, gcc-internal-format + msgid "out-of-bounds access may be optimized away" +-msgstr "" ++msgstr "el acceso fuera de límites puede optimizarse fuera" + +-#: ada/gcc-interface/trans.c:6406 ++#: ada/gcc-interface/trans.c:6403 + #, fuzzy, gcc-internal-format + #| msgid "% must be in loop" + msgid "containing loop" + msgstr "% debe estar dentro de un bucle" + +-#: ada/gcc-interface/utils.c:3887 ++#: ada/gcc-interface/utils.c:3890 + #, gcc-internal-format + msgid "invalid element type for attribute %qs" + msgstr "tipo de elemento no válido para el atributo %qs" + +-#: ada/gcc-interface/utils.c:3911 ++#: ada/gcc-interface/utils.c:3914 + #, gcc-internal-format + msgid "number of components of vector not a power of two" + msgstr "el número de componentes de vector no es una potencia de dos" + +-#: ada/gcc-interface/utils.c:6037 ada/gcc-interface/utils.c:6215 +-#: ada/gcc-interface/utils.c:6322 ++#: ada/gcc-interface/utils.c:6043 ada/gcc-interface/utils.c:6220 ++#: ada/gcc-interface/utils.c:6327 + #, gcc-internal-format + msgid "%qs attribute ignored" + msgstr "se descarta el atributo %qs" + +-#: ada/gcc-interface/utils.c:6158 ++#: ada/gcc-interface/utils.c:6164 + #, gcc-internal-format + msgid "%qs attribute requires prototypes with named arguments" + msgstr "el atributo %qs requiere prototipos con argumentos nombrados" + +-#: ada/gcc-interface/utils.c:6167 ++#: ada/gcc-interface/utils.c:6173 + #, gcc-internal-format + msgid "%qs attribute only applies to variadic functions" + msgstr "el atributo %qs se aplica solamente a funciones variadic" + +-#: ada/gcc-interface/utils.c:6282 ++#: ada/gcc-interface/utils.c:6287 + #, gcc-internal-format + msgid "%qE attribute has no effect" + msgstr "el atributo %qE no tiene efecto" + +-#: ada/gcc-interface/utils.c:6406 ++#: ada/gcc-interface/utils.c:6411 + #, gcc-internal-format + msgid "attribute %qs applies to array types only" + msgstr "el atributo %qs solamente se aplica a tipos de matriz" +@@ -33195,7 +33243,7 @@ + #. an unprototyped function, it is compile-time undefined; + #. making it a constraint in that case was rejected in + #. DR#252. +-#: c/c-convert.c:101 c/c-typeck.c:2175 c/c-typeck.c:6507 c/c-typeck.c:12138 ++#: c/c-convert.c:101 c/c-typeck.c:2175 c/c-typeck.c:6512 c/c-typeck.c:12143 + #: cp/typeck.c:2027 cp/typeck.c:7977 cp/typeck.c:8742 + #, gcc-internal-format + msgid "void value not ignored as it ought to be" +@@ -33256,7 +33304,7 @@ + msgid "type of array %q+D completed incompatibly with implicit initialization" + msgstr "el tipo de la matriz %q+D se completó de forma incompatible con la inicialización implícita" + +-#: c/c-decl.c:1567 c/c-decl.c:6701 c/c-decl.c:7574 c/c-decl.c:8381 ++#: c/c-decl.c:1567 c/c-decl.c:6721 c/c-decl.c:7594 c/c-decl.c:8401 + #, gcc-internal-format + msgid "originally defined here" + msgstr "se definió originalmente aquí" +@@ -33661,16 +33709,11 @@ + #. C99 6.7.5.2p4 + #. A function definition isn't function prototype scope C99 6.2.1p4. + #. C99 6.7.5.2p4 +-#: c/c-decl.c:4548 c/c-decl.c:7147 ++#: c/c-decl.c:4548 c/c-decl.c:7167 + #, gcc-internal-format + msgid "%<[*]%> not allowed in other than function prototype scope" + msgstr "no se permite %<[*]%> en otro lugar que no sea el ámbido de prototipo de función" + +-#: c/c-decl.c:4635 cp/decl2.c:1520 +-#, gcc-internal-format +-msgid "%q+D in declare target directive does not have mappable type" +-msgstr "" +- + #: c/c-decl.c:4693 + #, gcc-internal-format + msgid "%q+D is usually a function" +@@ -33696,7 +33739,7 @@ + #. of VLAs themselves count as VLAs, it does not make + #. sense to permit them to be initialized given that + #. ordinary VLAs may not be initialized. +-#: c/c-decl.c:4732 c/c-decl.c:4747 c/c-typeck.c:7630 ++#: c/c-decl.c:4732 c/c-decl.c:4747 c/c-typeck.c:7635 + #, gcc-internal-format + msgid "variable-sized object may not be initialized" + msgstr "un objeto de tamaño variable puede no ser inicializado" +@@ -33756,203 +33799,208 @@ + msgid "uninitialized const %qD is invalid in C++" + msgstr "const %qD sin inicializar es no válida en C++" + +-#: c/c-decl.c:5268 ++#: c/c-decl.c:5224 cp/decl.c:7318 + #, gcc-internal-format ++msgid "%q+D in declare target directive does not have mappable type" ++msgstr "%q+D en directiva de objetivo de declaración no tiene tipo asociable" ++ ++#: c/c-decl.c:5288 ++#, gcc-internal-format + msgid "ISO C forbids forward parameter declarations" + msgstr "ISO C prohíbe declaraciones adelantadas de parámetros" + +-#: c/c-decl.c:5371 ++#: c/c-decl.c:5391 + #, gcc-internal-format + msgid "defining a type in a compound literal is invalid in C++" + msgstr "definir un tipo en una literal compuesta es no válido en C++" + +-#: c/c-decl.c:5425 c/c-decl.c:5440 ++#: c/c-decl.c:5445 c/c-decl.c:5460 + #, gcc-internal-format + msgid "bit-field %qs width not an integer constant" + msgstr "la anchura del campo de bits %qs no es una constante entera" + +-#: c/c-decl.c:5435 ++#: c/c-decl.c:5455 + #, gcc-internal-format + msgid "bit-field %qs width not an integer constant expression" + msgstr "la anchura del campo de bits %qs no es una expresión constante entera" + +-#: c/c-decl.c:5446 ++#: c/c-decl.c:5466 + #, gcc-internal-format + msgid "negative width in bit-field %qs" + msgstr "anchura negativa en el campo de bit %qs" + +-#: c/c-decl.c:5451 ++#: c/c-decl.c:5471 + #, gcc-internal-format + msgid "zero width for bit-field %qs" + msgstr "anchura cero para el campo de bits %qs" + +-#: c/c-decl.c:5461 ++#: c/c-decl.c:5481 + #, gcc-internal-format + msgid "bit-field %qs has invalid type" + msgstr "el campo de bits %qs tiene un tipo no válido" + +-#: c/c-decl.c:5467 ++#: c/c-decl.c:5487 + #, gcc-internal-format + msgid "cannot declare bit-field %qs with % type" + msgstr "no se puede declarar el campo de bits %qs con un tipo %" + +-#: c/c-decl.c:5478 ++#: c/c-decl.c:5498 + #, gcc-internal-format + msgid "type of bit-field %qs is a GCC extension" + msgstr "el tipo de campo de bits %qs es una extensión de GCC" + +-#: c/c-decl.c:5484 ++#: c/c-decl.c:5504 + #, gcc-internal-format + msgid "width of %qs exceeds its type" + msgstr "la anchura de %qs excede su tipo" + +-#: c/c-decl.c:5497 ++#: c/c-decl.c:5517 + #, gcc-internal-format + msgid "%qs is narrower than values of its type" + msgstr "%qs es más estrecho que los valores de su tipo" + +-#: c/c-decl.c:5512 ++#: c/c-decl.c:5532 + #, gcc-internal-format + msgid "ISO C90 forbids array %qE whose size can%'t be evaluated" + msgstr "ISO C90 prohíbe la matriz %qE cuyo tamaño no se puede evaluar" + +-#: c/c-decl.c:5515 ++#: c/c-decl.c:5535 + #, gcc-internal-format + msgid "ISO C90 forbids array whose size can%'t be evaluated" + msgstr "ISO C90 prohíbe la matriz cuyo tamaño no se puede evaluar" + +-#: c/c-decl.c:5522 ++#: c/c-decl.c:5542 + #, gcc-internal-format + msgid "ISO C90 forbids variable length array %qE" + msgstr "ISO C90 prohíbe la matriz de longitud variable %qE" + +-#: c/c-decl.c:5524 ++#: c/c-decl.c:5544 + #, gcc-internal-format + msgid "ISO C90 forbids variable length array" + msgstr "ISO C90 prohíbe la matriz de longitud variable" + +-#: c/c-decl.c:5733 c/c-decl.c:6107 c/c-decl.c:6117 ++#: c/c-decl.c:5753 c/c-decl.c:6127 c/c-decl.c:6137 + #, gcc-internal-format + msgid "variably modified %qE at file scope" + msgstr "%qE variablemente modificado en el ámbito del fichero" + +-#: c/c-decl.c:5735 ++#: c/c-decl.c:5755 + #, gcc-internal-format + msgid "variably modified field at file scope" + msgstr "campo variablemente modificado en el ámbito del fichero" + +-#: c/c-decl.c:5755 ++#: c/c-decl.c:5775 + #, gcc-internal-format + msgid "type defaults to % in declaration of %qE" + msgstr "el tipo de dato por defecto es % en la declaración de %qE" + +-#: c/c-decl.c:5759 ++#: c/c-decl.c:5779 + #, gcc-internal-format + msgid "type defaults to % in type name" + msgstr "el tipo de dato por defecto es % en el nombre de tipo" + +-#: c/c-decl.c:5791 ++#: c/c-decl.c:5811 + #, gcc-internal-format + msgid "duplicate %" + msgstr "% duplicado" + +-#: c/c-decl.c:5793 ++#: c/c-decl.c:5813 + #, gcc-internal-format + msgid "duplicate %" + msgstr "% duplicado" + +-#: c/c-decl.c:5795 ++#: c/c-decl.c:5815 + #, gcc-internal-format + msgid "duplicate %" + msgstr "% duplicado" + +-#: c/c-decl.c:5797 ++#: c/c-decl.c:5817 + #, gcc-internal-format + msgid "duplicate %<_Atomic%>" + msgstr "%<_Atomic%> duplicado" + +-#: c/c-decl.c:5800 ++#: c/c-decl.c:5820 + #, gcc-internal-format, gfc-internal-format + msgid "conflicting named address spaces (%s vs %s)" + msgstr "espacios de direcciones nombrados generan un conflicto (%s vs %s)" + +-#: c/c-decl.c:5823 c/c-parser.c:2821 ++#: c/c-decl.c:5843 c/c-parser.c:2821 + #, gcc-internal-format + msgid "%<_Atomic%>-qualified array type" + msgstr "tipo matriz cualificado %<_Atomic%>" + +-#: c/c-decl.c:5837 ++#: c/c-decl.c:5857 + #, gcc-internal-format + msgid "function definition declared %" + msgstr "la definición de la función se declaró como %" + +-#: c/c-decl.c:5839 ++#: c/c-decl.c:5859 + #, gcc-internal-format + msgid "function definition declared %" + msgstr "la definición de la función se declaró como %" + +-#: c/c-decl.c:5841 ++#: c/c-decl.c:5861 + #, gcc-internal-format + msgid "function definition declared %" + msgstr "la definición de la función se declaró como %" + +-#: c/c-decl.c:5843 ++#: c/c-decl.c:5863 + #, fuzzy, gcc-internal-format + #| msgid "function definition declared %" + msgid "function definition declared %qs" + msgstr "la definición de la función se declaró como %" + +-#: c/c-decl.c:5861 ++#: c/c-decl.c:5881 + #, gcc-internal-format + msgid "storage class specified for structure field %qE" + msgstr "se especificó una clase de almacenamiento para el campo de la estructura %qE" + +-#: c/c-decl.c:5864 ++#: c/c-decl.c:5884 + #, gcc-internal-format + msgid "storage class specified for structure field" + msgstr "se especificó una clase de almacenamiento para el campo de la estructura" + +-#: c/c-decl.c:5868 ++#: c/c-decl.c:5888 + #, gcc-internal-format + msgid "storage class specified for parameter %qE" + msgstr "se especificó una clase de almacenamiento para el parámetro %qE" + +-#: c/c-decl.c:5871 ++#: c/c-decl.c:5891 + #, gcc-internal-format + msgid "storage class specified for unnamed parameter" + msgstr "se especificó una clase de almacenamiento para un parámetro sin nombre" + +-#: c/c-decl.c:5874 cp/decl.c:10935 ++#: c/c-decl.c:5894 cp/decl.c:10959 + #, gcc-internal-format + msgid "storage class specified for typename" + msgstr "se especificó una clase de almacenamiento para el nombre de tipo" + +-#: c/c-decl.c:5891 ++#: c/c-decl.c:5911 + #, gcc-internal-format + msgid "%qE initialized and declared %" + msgstr "%qE se inicializó y declaró como %" + +-#: c/c-decl.c:5895 ++#: c/c-decl.c:5915 + #, gcc-internal-format + msgid "%qE has both % and initializer" + msgstr "%qE tiene % e inicializador al mismo tiempo" + +-#: c/c-decl.c:5900 ++#: c/c-decl.c:5920 + #, gcc-internal-format + msgid "file-scope declaration of %qE specifies %" + msgstr "la declaración del ámbito de fichero de %qE especifica %" + +-#: c/c-decl.c:5904 ++#: c/c-decl.c:5924 + #, gcc-internal-format + msgid "file-scope declaration of %qE specifies %" + msgstr "la declaración del ámbito de fichero de %qE especifica %" + +-#: c/c-decl.c:5909 ++#: c/c-decl.c:5929 + #, gcc-internal-format + msgid "nested function %qE declared %" + msgstr "la función anidada %qE se declaró %" + +-#: c/c-decl.c:5912 ++#: c/c-decl.c:5932 + #, gcc-internal-format + msgid "function-scope %qE implicitly auto and declared %qs" + msgstr "el ámbito de la función %qE es implícitamente auto y declarado %qs" +@@ -33960,702 +34008,702 @@ + #. Only the innermost declarator (making a parameter be of + #. array type which is converted to pointer type) + #. may have static or type qualifiers. +-#: c/c-decl.c:5959 c/c-decl.c:6328 ++#: c/c-decl.c:5979 c/c-decl.c:6348 + #, gcc-internal-format + msgid "static or type qualifiers in non-parameter array declarator" + msgstr "static o calificadores de tipo en un declarador de matriz que no es parámetro" + +-#: c/c-decl.c:6007 ++#: c/c-decl.c:6027 + #, gcc-internal-format + msgid "declaration of %qE as array of voids" + msgstr "la declaración de %qE como una matriz de voids" + +-#: c/c-decl.c:6009 ++#: c/c-decl.c:6029 + #, gcc-internal-format + msgid "declaration of type name as array of voids" + msgstr "declaración de nombre de tipo como una matriz de voids" + +-#: c/c-decl.c:6016 ++#: c/c-decl.c:6036 + #, gcc-internal-format + msgid "declaration of %qE as array of functions" + msgstr "declaración de %qE como una matriz de funciones" + +-#: c/c-decl.c:6019 ++#: c/c-decl.c:6039 + #, gcc-internal-format + msgid "declaration of type name as array of functions" + msgstr "declaración de nombre de tipo como una matriz de funciones" + +-#: c/c-decl.c:6027 c/c-decl.c:8085 ++#: c/c-decl.c:6047 c/c-decl.c:8105 + #, gcc-internal-format + msgid "invalid use of structure with flexible array member" + msgstr "uso no válido de una estructura con un miembro de matriz flexible" + +-#: c/c-decl.c:6053 ++#: c/c-decl.c:6073 + #, gcc-internal-format + msgid "size of array %qE has non-integer type" + msgstr "el tamaño de la matriz %qE es de un tipo no entero" + +-#: c/c-decl.c:6057 ++#: c/c-decl.c:6077 + #, gcc-internal-format + msgid "size of unnamed array has non-integer type" + msgstr "el tamaño de la matriz sin nombre es de un tipo no entero" + +-#: c/c-decl.c:6064 ++#: c/c-decl.c:6084 + #, gcc-internal-format + msgid "size of array %qE has incomplete type" + msgstr "el tamaño de la matriz %qE es de un tipo incompleto" + +-#: c/c-decl.c:6067 ++#: c/c-decl.c:6087 + #, gcc-internal-format + msgid "size of unnamed array has incomplete type" + msgstr "el tamaño de la matriz sin nombre es de un tipo incompleto" + +-#: c/c-decl.c:6078 ++#: c/c-decl.c:6098 + #, gcc-internal-format + msgid "ISO C forbids zero-size array %qE" + msgstr "ISO C prohíbe la matriz %qE de tamaño cero" + +-#: c/c-decl.c:6081 ++#: c/c-decl.c:6101 + #, gcc-internal-format + msgid "ISO C forbids zero-size array" + msgstr "ISO C prohíbe matrices de tamaño cero" + +-#: c/c-decl.c:6090 ++#: c/c-decl.c:6110 + #, gcc-internal-format + msgid "size of array %qE is negative" + msgstr "el tamaño de la matriz %qE es negativo" + +-#: c/c-decl.c:6092 ++#: c/c-decl.c:6112 + #, gcc-internal-format + msgid "size of unnamed array is negative" + msgstr "el tamaño de la matriz sin nombre es negativo" + +-#: c/c-decl.c:6216 c/c-decl.c:6871 ++#: c/c-decl.c:6236 c/c-decl.c:6891 + #, gcc-internal-format + msgid "ISO C90 does not support flexible array members" + msgstr "ISO C90 no admite miembros de matriz flexibles" + + #. C99 6.7.5.2p4 +-#: c/c-decl.c:6238 ++#: c/c-decl.c:6258 + #, gcc-internal-format + msgid "%<[*]%> not in a declaration" + msgstr "%<[*]%> fuera de una declaración" + +-#: c/c-decl.c:6251 ++#: c/c-decl.c:6271 + #, gcc-internal-format + msgid "array type has incomplete element type %qT" + msgstr "el tipo matriz tiene tipo de elemento %qT incompleto" + +-#: c/c-decl.c:6257 ++#: c/c-decl.c:6277 + #, gcc-internal-format + msgid "declaration of %qE as multidimensional array must have bounds for all dimensions except the first" + msgstr "la declaración de %qE como una matriz multidimensional debe tener límites para todas las dimensiones excepto la primera" + +-#: c/c-decl.c:6261 ++#: c/c-decl.c:6281 + #, gcc-internal-format + msgid "declaration of multidimensional array must have bounds for all dimensions except the first" + msgstr "la declaración de una matriz multidimensional debe tener límites para todas las dimensiones excepto la primera" + +-#: c/c-decl.c:6364 ++#: c/c-decl.c:6384 + #, gcc-internal-format + msgid "%qE declared as function returning a function" + msgstr "%qE que se declaró como función devuelve una función" + +-#: c/c-decl.c:6367 ++#: c/c-decl.c:6387 + #, gcc-internal-format + msgid "type name declared as function returning a function" + msgstr "el nombre de tipo que se declaró como función devuelve una función" + +-#: c/c-decl.c:6374 ++#: c/c-decl.c:6394 + #, gcc-internal-format + msgid "%qE declared as function returning an array" + msgstr "%qE que se declaró como función devuelve una matriz" + +-#: c/c-decl.c:6377 ++#: c/c-decl.c:6397 + #, gcc-internal-format + msgid "type name declared as function returning an array" + msgstr "el nombre de tipo que se declaró como función devuelve una matriz" + +-#: c/c-decl.c:6418 ++#: c/c-decl.c:6438 + #, gcc-internal-format + msgid "function definition has qualified void return type" + msgstr "la definición de la función tiene un tipo de devolución void calificado" + +-#: c/c-decl.c:6421 cp/decl.c:11201 ++#: c/c-decl.c:6441 cp/decl.c:11225 + #, gcc-internal-format + msgid "type qualifiers ignored on function return type" + msgstr "se descartan los calificadores de tipo en el tipo de devolución de la función" + +-#: c/c-decl.c:6459 c/c-decl.c:6668 c/c-decl.c:6721 c/c-decl.c:6805 +-#: c/c-decl.c:6926 c/c-parser.c:2823 ++#: c/c-decl.c:6479 c/c-decl.c:6688 c/c-decl.c:6741 c/c-decl.c:6825 ++#: c/c-decl.c:6946 c/c-parser.c:2823 + #, gcc-internal-format + msgid "%<_Atomic%>-qualified function type" + msgstr "tipo de función calificada %<_Atomic%>" + +-#: c/c-decl.c:6465 c/c-decl.c:6674 c/c-decl.c:6810 c/c-decl.c:6931 ++#: c/c-decl.c:6485 c/c-decl.c:6694 c/c-decl.c:6830 c/c-decl.c:6951 + #, gcc-internal-format + msgid "ISO C forbids qualified function types" + msgstr "ISO C prohíbe los tipos de función calificados" + +-#: c/c-decl.c:6559 ++#: c/c-decl.c:6579 + #, gcc-internal-format + msgid "%qs combined with % qualifier for %qE" + msgstr "%qs combinado con el calificador % para %qE" + +-#: c/c-decl.c:6563 ++#: c/c-decl.c:6583 + #, gcc-internal-format + msgid "%qs combined with % qualifier for %qE" + msgstr "%qs combinado con el calificador % para %qE" + +-#: c/c-decl.c:6569 ++#: c/c-decl.c:6589 + #, gcc-internal-format + msgid "%qs specified for auto variable %qE" + msgstr "se especificó %qs para la variable auto %qE" + +-#: c/c-decl.c:6585 ++#: c/c-decl.c:6605 + #, gcc-internal-format + msgid "%qs specified for parameter %qE" + msgstr "se especificó %qs para el parámetro %qE" + +-#: c/c-decl.c:6588 ++#: c/c-decl.c:6608 + #, gcc-internal-format + msgid "%qs specified for unnamed parameter" + msgstr "se especificó %qs para el parámetro sin nombre" + +-#: c/c-decl.c:6594 ++#: c/c-decl.c:6614 + #, gcc-internal-format + msgid "%qs specified for structure field %qE" + msgstr "se especificó %qs para el campo de estructura %qE" + +-#: c/c-decl.c:6597 ++#: c/c-decl.c:6617 + #, gcc-internal-format + msgid "%qs specified for structure field" + msgstr "se especificó %qs para el campo de estructura" + +-#: c/c-decl.c:6612 ++#: c/c-decl.c:6632 + #, gcc-internal-format + msgid "bit-field %qE has atomic type" + msgstr "el campo de bits %qE tiene un tipo atómico" + +-#: c/c-decl.c:6614 ++#: c/c-decl.c:6634 + #, gcc-internal-format + msgid "bit-field has atomic type" + msgstr "el campo de bits tiene un tipo no atómico" + +-#: c/c-decl.c:6623 ++#: c/c-decl.c:6643 + #, gcc-internal-format + msgid "alignment specified for typedef %qE" + msgstr "se especificó la alineación para la definición de tipo %qE" + +-#: c/c-decl.c:6625 ++#: c/c-decl.c:6645 + #, gcc-internal-format + msgid "alignment specified for % object %qE" + msgstr "se especificó la alineación para el objeto % %qE" + +-#: c/c-decl.c:6630 ++#: c/c-decl.c:6650 + #, gcc-internal-format + msgid "alignment specified for parameter %qE" + msgstr "se especificó la alineación para el parámetro %qE" + +-#: c/c-decl.c:6632 ++#: c/c-decl.c:6652 + #, gcc-internal-format + msgid "alignment specified for unnamed parameter" + msgstr "se especificó la alineación para el parámetro sin nombre" + +-#: c/c-decl.c:6637 ++#: c/c-decl.c:6657 + #, gcc-internal-format + msgid "alignment specified for bit-field %qE" + msgstr "se especificó la alineación para el campo de bits %qE" + +-#: c/c-decl.c:6639 ++#: c/c-decl.c:6659 + #, gcc-internal-format + msgid "alignment specified for unnamed bit-field" + msgstr "se especificó la alineación para el campo de bits sin nombre" + +-#: c/c-decl.c:6642 ++#: c/c-decl.c:6662 + #, gcc-internal-format + msgid "alignment specified for function %qE" + msgstr "se especificó la alineación para la función %qE" + +-#: c/c-decl.c:6649 ++#: c/c-decl.c:6669 + #, gcc-internal-format + msgid "%<_Alignas%> specifiers cannot reduce alignment of %qE" + msgstr "los especificadores %<_Alignas%> no pueden reducir la alineación de %qE" + +-#: c/c-decl.c:6652 ++#: c/c-decl.c:6672 + #, gcc-internal-format + msgid "%<_Alignas%> specifiers cannot reduce alignment of unnamed field" + msgstr "los especificadores %<_Alignas%> no pueden reducir la alineación del campo sin nombre" + +-#: c/c-decl.c:6683 ++#: c/c-decl.c:6703 + #, gcc-internal-format + msgid "typedef %q+D declared %" + msgstr "la definición de tipo %q+D se declaró como %" + +-#: c/c-decl.c:6685 ++#: c/c-decl.c:6705 + #, gcc-internal-format + msgid "typedef %q+D declared %<_Noreturn%>" + msgstr "la definición de tipo %q+D se declaró como %<_Noreturn%>" + +-#: c/c-decl.c:6727 ++#: c/c-decl.c:6747 + #, gcc-internal-format + msgid "ISO C forbids const or volatile function types" + msgstr "ISO C prohíbe los tipos de función const o volatile" + + #. C99 6.7.2.1p8 +-#: c/c-decl.c:6738 ++#: c/c-decl.c:6758 + #, gcc-internal-format + msgid "a member of a structure or union cannot have a variably modified type" + msgstr "un miembro de una estructura o union no puede tener un tipo modificado variablemente" + +-#: c/c-decl.c:6755 cp/decl.c:9989 ++#: c/c-decl.c:6775 cp/decl.c:10010 + #, gcc-internal-format + msgid "variable or field %qE declared void" + msgstr "se declaró la variable o campo %qE como void" + +-#: c/c-decl.c:6795 ++#: c/c-decl.c:6815 + #, gcc-internal-format + msgid "attributes in parameter array declarator ignored" + msgstr "se descartan los atributos en los declaradores de parámetros de matriz" + +-#: c/c-decl.c:6837 ++#: c/c-decl.c:6857 + #, gcc-internal-format + msgid "parameter %q+D declared %" + msgstr "el parámetro %q+D se declaró %" + +-#: c/c-decl.c:6839 ++#: c/c-decl.c:6859 + #, gcc-internal-format + msgid "parameter %q+D declared %<_Noreturn%>" + msgstr "el parámetro %q+D se declaró %<_Noreturn%>" + +-#: c/c-decl.c:6852 ++#: c/c-decl.c:6872 + #, gcc-internal-format + msgid "field %qE declared as a function" + msgstr "el campo %qE se declaró como una función" + +-#: c/c-decl.c:6859 ++#: c/c-decl.c:6879 + #, gcc-internal-format + msgid "field %qE has incomplete type" + msgstr "el campo %qE tiene tipo de dato incompleto" + +-#: c/c-decl.c:6861 ++#: c/c-decl.c:6881 + #, gcc-internal-format + msgid "unnamed field has incomplete type" + msgstr "el campo sin nombre tiene tipo de dato incompleto" + +-#: c/c-decl.c:6897 c/c-decl.c:6908 c/c-decl.c:6911 ++#: c/c-decl.c:6917 c/c-decl.c:6928 c/c-decl.c:6931 + #, gcc-internal-format + msgid "invalid storage class for function %qE" + msgstr "clase de almacenamiento no válida para la función %qE" + +-#: c/c-decl.c:6968 ++#: c/c-decl.c:6988 + #, gcc-internal-format + msgid "cannot inline function %" + msgstr "no se puede incluir en línea la función %" + +-#: c/c-decl.c:6970 ++#: c/c-decl.c:6990 + #, gcc-internal-format + msgid "% declared %<_Noreturn%>" + msgstr "% se declaró como %<_Noreturn%>" + +-#: c/c-decl.c:6981 ++#: c/c-decl.c:7001 + #, gcc-internal-format + msgid "ISO C99 does not support %<_Noreturn%>" + msgstr "ISO C99 no admite %<_Noreturn%>" + +-#: c/c-decl.c:6984 ++#: c/c-decl.c:7004 + #, gcc-internal-format + msgid "ISO C90 does not support %<_Noreturn%>" + msgstr "ISO C90 no admite %<_Noreturn%>" + +-#: c/c-decl.c:7013 ++#: c/c-decl.c:7033 + #, gcc-internal-format + msgid "variable previously declared % redeclared %" + msgstr "una variable previamente declarada como % se redeclara como %" + +-#: c/c-decl.c:7023 ++#: c/c-decl.c:7043 + #, gcc-internal-format + msgid "variable %q+D declared %" + msgstr "la variable %q+D se declaró como %" + +-#: c/c-decl.c:7025 ++#: c/c-decl.c:7045 + #, gcc-internal-format + msgid "variable %q+D declared %<_Noreturn%>" + msgstr "la variable %q+D se declaró como %<_Noreturn%>" + +-#: c/c-decl.c:7060 ++#: c/c-decl.c:7080 + #, gcc-internal-format + msgid "non-nested function with variably modified type" + msgstr "función no anidada con tipo modificado variablemente" + +-#: c/c-decl.c:7062 ++#: c/c-decl.c:7082 + #, gcc-internal-format + msgid "object with variably modified type must have no linkage" + msgstr "un objeto con tipo modificado variablemente no debe tener enlace" + +-#: c/c-decl.c:7153 c/c-decl.c:8821 ++#: c/c-decl.c:7173 c/c-decl.c:8841 + #, gcc-internal-format + msgid "function declaration isn%'t a prototype" + msgstr "la declaración de la función no es un prototipo" + +-#: c/c-decl.c:7163 ++#: c/c-decl.c:7183 + #, gcc-internal-format + msgid "parameter names (without types) in function declaration" + msgstr "nombres de parámetros (sin tipos) en la declaración de la función" + +-#: c/c-decl.c:7201 ++#: c/c-decl.c:7221 + #, gcc-internal-format + msgid "parameter %u (%q+D) has incomplete type" + msgstr "el parámetro %u (%q+D) tiene tipo incompleto" + +-#: c/c-decl.c:7205 ++#: c/c-decl.c:7225 + #, gcc-internal-format, gfc-internal-format + msgid "parameter %u has incomplete type" + msgstr "el parámetro %u tiene tipo incompleto" + +-#: c/c-decl.c:7216 ++#: c/c-decl.c:7236 + #, gcc-internal-format + msgid "parameter %u (%q+D) has void type" + msgstr "el parámetro %u (%q+D) tiene tipo void" + +-#: c/c-decl.c:7220 ++#: c/c-decl.c:7240 + #, gcc-internal-format, gfc-internal-format + msgid "parameter %u has void type" + msgstr "el parámetro %u tiene tipo void" + +-#: c/c-decl.c:7294 ++#: c/c-decl.c:7314 + #, gcc-internal-format + msgid "% as only parameter may not be qualified" + msgstr "no se puede calificar % si es el único parámetro" + +-#: c/c-decl.c:7298 c/c-decl.c:7334 ++#: c/c-decl.c:7318 c/c-decl.c:7354 + #, gcc-internal-format + msgid "% must be the only parameter" + msgstr "% debe ser el único parámetro" + +-#: c/c-decl.c:7328 ++#: c/c-decl.c:7348 + #, gcc-internal-format + msgid "parameter %q+D has just a forward declaration" + msgstr "el parámetro %q+D sólo tiene una declaración posterior" + +-#: c/c-decl.c:7374 ++#: c/c-decl.c:7394 + #, gcc-internal-format + msgid "%<%s %E%> declared inside parameter list will not be visible outside of this definition or declaration" +-msgstr "" ++msgstr "%<%s %E%> declarado dentro de la list de parámetros no será visible fuera de esta definición o declaración" + +-#: c/c-decl.c:7380 ++#: c/c-decl.c:7400 + #, gcc-internal-format, gfc-internal-format + msgid "anonymous %s declared inside parameter list will not be visible outside of this definition or declaration" + msgstr "" + +-#: c/c-decl.c:7482 ++#: c/c-decl.c:7502 + #, gcc-internal-format + msgid "enum type defined here" + msgstr "se definió el tipo enum aquí" + +-#: c/c-decl.c:7488 ++#: c/c-decl.c:7508 + #, gcc-internal-format + msgid "struct defined here" + msgstr "se definió struct aquí" + +-#: c/c-decl.c:7494 ++#: c/c-decl.c:7514 + #, gcc-internal-format + msgid "union defined here" + msgstr "se definió union aquí" + +-#: c/c-decl.c:7570 ++#: c/c-decl.c:7590 + #, gcc-internal-format + msgid "redefinition of %" + msgstr "redefinición de %" + +-#: c/c-decl.c:7572 ++#: c/c-decl.c:7592 + #, gcc-internal-format + msgid "redefinition of %" + msgstr "redefinición de %" + +-#: c/c-decl.c:7581 ++#: c/c-decl.c:7601 + #, gcc-internal-format + msgid "nested redefinition of %" + msgstr "redefinición anidada de %" + +-#: c/c-decl.c:7583 ++#: c/c-decl.c:7603 + #, gcc-internal-format + msgid "nested redefinition of %" + msgstr "redefinición anidada de %" + +-#: c/c-decl.c:7613 c/c-decl.c:8400 ++#: c/c-decl.c:7633 c/c-decl.c:8420 + #, gcc-internal-format + msgid "defining type in %qs expression is invalid in C++" + msgstr "la definición de tipo en %qs es no válida en C++" + +-#: c/c-decl.c:7680 cp/decl.c:4802 ++#: c/c-decl.c:7700 cp/decl.c:4802 + #, gcc-internal-format + msgid "declaration does not declare anything" + msgstr "la declaración no declara nada" + +-#: c/c-decl.c:7685 ++#: c/c-decl.c:7705 + #, gcc-internal-format + msgid "ISO C99 doesn%'t support unnamed structs/unions" + msgstr "ISO C99 no admite structs/unions sin nombre" + +-#: c/c-decl.c:7688 ++#: c/c-decl.c:7708 + #, gcc-internal-format + msgid "ISO C90 doesn%'t support unnamed structs/unions" + msgstr "ISO C90 no admite structs/unions sin nombre" + +-#: c/c-decl.c:7781 c/c-decl.c:7799 c/c-decl.c:7860 ++#: c/c-decl.c:7801 c/c-decl.c:7819 c/c-decl.c:7880 + #, gcc-internal-format + msgid "duplicate member %q+D" + msgstr "miembro %q+D duplicado" + +-#: c/c-decl.c:7886 ++#: c/c-decl.c:7906 + #, gcc-internal-format + msgid "empty struct has size 0 in C, size 1 in C++" +-msgstr "" ++msgstr "una struct vacía tiene tamaño 0 en C y tamaño 1 en C++" + +-#: c/c-decl.c:7889 ++#: c/c-decl.c:7909 + #, gcc-internal-format + msgid "empty union has size 0 in C, size 1 in C++" +-msgstr "" ++msgstr "una union vacía tiene tamaño 0 en C y tamaño 1 en C++" + +-#: c/c-decl.c:7994 ++#: c/c-decl.c:8014 + #, gcc-internal-format + msgid "union has no named members" + msgstr "union no tiene miembros nombrados" + +-#: c/c-decl.c:7996 ++#: c/c-decl.c:8016 + #, gcc-internal-format + msgid "union has no members" + msgstr "union no tiene miembros" + +-#: c/c-decl.c:8001 ++#: c/c-decl.c:8021 + #, gcc-internal-format + msgid "struct has no named members" + msgstr "struct no tiene miembros nombrados" + +-#: c/c-decl.c:8003 ++#: c/c-decl.c:8023 + #, gcc-internal-format + msgid "struct has no members" + msgstr "struct no tiene miembros" + +-#: c/c-decl.c:8064 cp/decl.c:12069 ++#: c/c-decl.c:8084 cp/decl.c:12093 + #, gcc-internal-format + msgid "flexible array member in union" + msgstr "miembro de matriz flexible en union" + +-#: c/c-decl.c:8070 ++#: c/c-decl.c:8090 + #, gcc-internal-format + msgid "flexible array member not at end of struct" + msgstr "el miembro de matriz flexible no está al final del struct" + +-#: c/c-decl.c:8076 ++#: c/c-decl.c:8096 + #, gcc-internal-format + msgid "flexible array member in a struct with no named members" + msgstr "miembro de matriz flexible en estructura sin miembros con nombre" + +-#: c/c-decl.c:8107 ++#: c/c-decl.c:8127 + #, gcc-internal-format + msgid "type %qT is too large" + msgstr "el tipo %qT es demasiado grande" + +-#: c/c-decl.c:8230 ++#: c/c-decl.c:8250 + #, gcc-internal-format + msgid "union cannot be made transparent" + msgstr "union no se puede hacer transparente" + +-#: c/c-decl.c:8372 ++#: c/c-decl.c:8392 + #, gcc-internal-format + msgid "nested redefinition of %" + msgstr "redefinición anidada de %" + + #. This enum is a named one that has been declared already. +-#: c/c-decl.c:8379 ++#: c/c-decl.c:8399 + #, gcc-internal-format + msgid "redeclaration of %" + msgstr "redeclaración de %" + +-#: c/c-decl.c:8458 cp/decl.c:14423 ++#: c/c-decl.c:8478 cp/decl.c:14447 + #, gcc-internal-format + msgid "specified mode too small for enumeral values" + msgstr "el modo especificado es demasiado pequeño para valores enumerados" + +-#: c/c-decl.c:8473 ++#: c/c-decl.c:8493 + #, gcc-internal-format + msgid "enumeration values exceed range of largest integer" + msgstr "los valores de enumeración exceden el rango del entero más grande" + +-#: c/c-decl.c:8587 c/c-decl.c:8603 ++#: c/c-decl.c:8607 c/c-decl.c:8623 + #, gcc-internal-format + msgid "enumerator value for %qE is not an integer constant" + msgstr "el valor de enumerador para %qE no es una constante entera" + +-#: c/c-decl.c:8598 ++#: c/c-decl.c:8618 + #, gcc-internal-format + msgid "enumerator value for %qE is not an integer constant expression" + msgstr "el valor de enumerador para %qE no es una expresión constante entera" + +-#: c/c-decl.c:8622 ++#: c/c-decl.c:8642 + #, gcc-internal-format + msgid "overflow in enumeration values" + msgstr "desbordamiento en valores de enumeración" + +-#: c/c-decl.c:8630 ++#: c/c-decl.c:8650 + #, gcc-internal-format + msgid "ISO C restricts enumerator values to range of %" + msgstr "ISO C restringe los valores de enumeración al rango de %" + +-#: c/c-decl.c:8715 cp/decl.c:5104 cp/decl.c:14955 ++#: c/c-decl.c:8735 cp/decl.c:5104 cp/decl.c:14979 + #, gcc-internal-format + msgid "inline function %qD given attribute noinline" + msgstr "se le dió a la función incluida en línea %qD un atributo noinline" + +-#: c/c-decl.c:8733 ++#: c/c-decl.c:8753 + #, gcc-internal-format + msgid "return type is an incomplete type" + msgstr "el tipo de devolución es un tipo de dato incompleto" + +-#: c/c-decl.c:8744 ++#: c/c-decl.c:8764 + #, gcc-internal-format + msgid "return type defaults to %" + msgstr "el tipo de devolución por defecto es %" + +-#: c/c-decl.c:8771 ++#: c/c-decl.c:8791 + #, fuzzy, gcc-internal-format + #| msgid "Warn about global functions without prototypes" + msgid "%q+D defined as variadic function without prototype" + msgstr "Avisa sobre funciones globales sin prototipos" + +-#: c/c-decl.c:8830 ++#: c/c-decl.c:8850 + #, gcc-internal-format + msgid "no previous prototype for %qD" + msgstr "no hay un prototipo previo para %qD" + +-#: c/c-decl.c:8839 ++#: c/c-decl.c:8859 + #, gcc-internal-format + msgid "%qD was used with no prototype before its definition" + msgstr "se usó %qD sin prototipo antes de su definición" + +-#: c/c-decl.c:8847 cp/decl.c:15090 ++#: c/c-decl.c:8867 cp/decl.c:15114 + #, gcc-internal-format + msgid "no previous declaration for %qD" + msgstr "no hay declaración previa para %qD" + +-#: c/c-decl.c:8857 ++#: c/c-decl.c:8877 + #, gcc-internal-format + msgid "%qD was used with no declaration before its definition" + msgstr "se usó %qD sin declaración antes de su definición" + +-#: c/c-decl.c:8876 ++#: c/c-decl.c:8896 + #, gcc-internal-format + msgid "return type of %qD is not %" + msgstr "el tipo de devolución de %qD no es %" + +-#: c/c-decl.c:8878 ++#: c/c-decl.c:8898 + #, gcc-internal-format + msgid "%<_Atomic%>-qualified return type of %qD" +-msgstr "" ++msgstr "calificado %<_Atomic%> el tipo de retorno de %qD" + +-#: c/c-decl.c:8885 ++#: c/c-decl.c:8905 + #, gcc-internal-format + msgid "%qD is normally a non-static function" + msgstr "%qD generalmente es una función que no es static" + +-#: c/c-decl.c:8922 ++#: c/c-decl.c:8942 + #, gcc-internal-format + msgid "old-style parameter declarations in prototyped function definition" + msgstr "declaraciones de parámetros de estilo antiguo en la definición de una función prototipo" + +-#: c/c-decl.c:8937 ++#: c/c-decl.c:8957 + #, gcc-internal-format + msgid "traditional C rejects ISO C style function definitions" + msgstr "C tradicional rechaza la definición de funciones de estilo ISO C" + +-#: c/c-decl.c:8953 ++#: c/c-decl.c:8973 + #, gcc-internal-format + msgid "parameter name omitted" + msgstr "se omitió el nombre del parámetro" + +-#: c/c-decl.c:8990 ++#: c/c-decl.c:9010 + #, gcc-internal-format + msgid "old-style function definition" + msgstr "definición de función de estilo antiguo" + +-#: c/c-decl.c:8999 ++#: c/c-decl.c:9019 + #, gcc-internal-format + msgid "parameter name missing from parameter list" + msgstr "falta el nombre del parámetro de la lista de parámetros" + +-#: c/c-decl.c:9015 ++#: c/c-decl.c:9035 + #, gcc-internal-format + msgid "%qD declared as a non-parameter" + msgstr "%qD se declaró como un no-parámetro" + +-#: c/c-decl.c:9023 ++#: c/c-decl.c:9043 + #, gcc-internal-format + msgid "multiple parameters named %qD" + msgstr "múltiples parámetros nombrados %qD" + +-#: c/c-decl.c:9032 ++#: c/c-decl.c:9052 + #, gcc-internal-format + msgid "parameter %qD declared with void type" + msgstr "el parámetro %qD se declaró con tipo void" + +-#: c/c-decl.c:9061 c/c-decl.c:9066 ++#: c/c-decl.c:9081 c/c-decl.c:9086 + #, gcc-internal-format + msgid "type of %qD defaults to %" + msgstr "el tipo de %qD es % por defecto" + +-#: c/c-decl.c:9086 ++#: c/c-decl.c:9106 + #, gcc-internal-format + msgid "parameter %qD has incomplete type" + msgstr "el parámetro %qD tiene tipo incompleto" + +-#: c/c-decl.c:9093 ++#: c/c-decl.c:9113 + #, gcc-internal-format + msgid "declaration for parameter %qD but no such parameter" + msgstr "existe la declaración para el parámetro %qD pero no hay tal parámetro" + +-#: c/c-decl.c:9146 ++#: c/c-decl.c:9166 + #, gcc-internal-format + msgid "number of arguments doesn%'t match built-in prototype" + msgstr "el número de argumentos no coinciden con el prototipo interno" + +-#: c/c-decl.c:9157 ++#: c/c-decl.c:9177 + #, gcc-internal-format + msgid "number of arguments doesn%'t match prototype" + msgstr "el número de argumentos no coinciden con el prototipo" + +-#: c/c-decl.c:9160 c/c-decl.c:9207 c/c-decl.c:9221 ++#: c/c-decl.c:9180 c/c-decl.c:9227 c/c-decl.c:9241 + #, gcc-internal-format + msgid "prototype declaration" + msgstr "declaración de prototipo" + +-#: c/c-decl.c:9199 ++#: c/c-decl.c:9219 + #, gcc-internal-format + msgid "promoted argument %qD doesn%'t match built-in prototype" + msgstr "el argumento promovido %qD no coincide con el prototipo interno" + +-#: c/c-decl.c:9204 ++#: c/c-decl.c:9224 + #, gcc-internal-format + msgid "promoted argument %qD doesn%'t match prototype" + msgstr "el argumento promovido %qD no coincide con el prototipo" + +-#: c/c-decl.c:9214 ++#: c/c-decl.c:9234 + #, gcc-internal-format + msgid "argument %qD doesn%'t match built-in prototype" + msgstr "el argumento %qD no coincide con el prototipo interno" + +-#: c/c-decl.c:9219 ++#: c/c-decl.c:9239 + #, gcc-internal-format + msgid "argument %qD doesn%'t match prototype" + msgstr "el argumento %qD no coincide con el prototipo" + +-#: c/c-decl.c:9470 cp/decl.c:15873 ++#: c/c-decl.c:9490 cp/decl.c:15897 + #, gcc-internal-format + msgid "no return statement in function returning non-void" + msgstr "no hay una declaración de devolución en la función que no devuelve void" + +-#: c/c-decl.c:9490 cp/decl.c:15905 ++#: c/c-decl.c:9510 cp/decl.c:15929 + #, gcc-internal-format + msgid "parameter %qD set but not used" + msgstr "se definió el parámetro %qD pero no se usa" +@@ -34663,247 +34711,247 @@ + #. If we get here, declarations have been used in a for loop without + #. the C99 for loop scope. This doesn't make much sense, so don't + #. allow it. +-#: c/c-decl.c:9586 ++#: c/c-decl.c:9606 + #, gcc-internal-format + msgid "% loop initial declarations are only allowed in C99 or C11 mode" + msgstr "sólo se permiten las declaraciones iniciales del bucle % en modo C99 o C11" + +-#: c/c-decl.c:9591 ++#: c/c-decl.c:9611 + #, gcc-internal-format + msgid "use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code" + msgstr "use la opción -std=c99, -std=gnu99, -std=c11 o -std=gnu11 para compilar su código" + +-#: c/c-decl.c:9626 ++#: c/c-decl.c:9646 + #, gcc-internal-format + msgid "declaration of static variable %qD in % loop initial declaration" + msgstr "declaración de la variable static %qD en la declaración inicial del bucle %" + +-#: c/c-decl.c:9630 ++#: c/c-decl.c:9650 + #, gcc-internal-format + msgid "declaration of % variable %qD in % loop initial declaration" + msgstr "declaración de la variable % %qD en la declaración inicial del bucle %" + +-#: c/c-decl.c:9637 ++#: c/c-decl.c:9657 + #, gcc-internal-format + msgid "% declared in % loop initial declaration" + msgstr "% se declaró en la declaración inicial del bucle %" + +-#: c/c-decl.c:9642 ++#: c/c-decl.c:9662 + #, gcc-internal-format + msgid "% declared in % loop initial declaration" + msgstr "% se declaró en la declaración inicial del bucle %" + +-#: c/c-decl.c:9646 ++#: c/c-decl.c:9666 + #, gcc-internal-format + msgid "% declared in % loop initial declaration" + msgstr "% se declaró en la declaración inicial del bucle %" + +-#: c/c-decl.c:9650 ++#: c/c-decl.c:9670 + #, gcc-internal-format + msgid "declaration of non-variable %qD in % loop initial declaration" + msgstr "declaración de %qD que no es variable en la declaración inicial del bucle %" + +-#: c/c-decl.c:9900 ++#: c/c-decl.c:9920 + #, gcc-internal-format + msgid "incompatible address space qualifiers %qs and %qs" + msgstr "calificadores de espacio de direcciones incompatibles %qs y %qs" + +-#: c/c-decl.c:9958 c/c-decl.c:9965 ++#: c/c-decl.c:9978 c/c-decl.c:9985 + #, gcc-internal-format + msgid "duplicate %qE declaration specifier" + msgstr "especificador %qE de declaración duplicado" + +-#: c/c-decl.c:9992 c/c-decl.c:10376 c/c-decl.c:10766 ++#: c/c-decl.c:10012 c/c-decl.c:10396 c/c-decl.c:10786 + #, gcc-internal-format + msgid "two or more data types in declaration specifiers" + msgstr "dos o más tipos de datos en los especificadores de la declaración" + +-#: c/c-decl.c:10004 cp/parser.c:28261 ++#: c/c-decl.c:10024 cp/parser.c:28258 + #, gcc-internal-format + msgid "% is too long for GCC" + msgstr "% es demasiado largo para GCC" + +-#: c/c-decl.c:10017 ++#: c/c-decl.c:10037 + #, gcc-internal-format + msgid "ISO C90 does not support %" + msgstr "ISO C90 no admite %" + +-#: c/c-decl.c:10246 c/c-parser.c:8848 ++#: c/c-decl.c:10266 c/c-parser.c:8848 + #, gcc-internal-format + msgid "ISO C90 does not support complex types" + msgstr "ISO C90 no admite tipos complejos" + +-#: c/c-decl.c:10292 ++#: c/c-decl.c:10312 + #, gcc-internal-format + msgid "ISO C does not support saturating types" + msgstr "ISO C no admite tipos saturantes" + +-#: c/c-decl.c:10363 c/c-decl.c:10923 ++#: c/c-decl.c:10383 c/c-decl.c:10943 + #, gcc-internal-format + msgid "duplicate %qE" + msgstr "%qE duplicado" + +-#: c/c-decl.c:10419 ++#: c/c-decl.c:10439 + #, gcc-internal-format + msgid "ISO C does not support %<__int%d%> types" + msgstr "ISO C no admite los tipos %<__int%d%>" + +-#: c/c-decl.c:10441 ++#: c/c-decl.c:10461 + #, gcc-internal-format + msgid "%<__int%d%> is not supported on this target" + msgstr "no se admite %<__int%d%> para este objetivo" + +-#: c/c-decl.c:10484 ++#: c/c-decl.c:10504 + #, gcc-internal-format + msgid "ISO C90 does not support boolean types" + msgstr "ISO C90 no admite tipos booleanos" + +-#: c/c-decl.c:10603 ++#: c/c-decl.c:10623 + #, gcc-internal-format + msgid "ISO C does not support the %<_Float%d%s%> type" + msgstr "ISO C no admite el tipo %<_float%d%s%>" + +-#: c/c-decl.c:10653 ++#: c/c-decl.c:10673 + #, gcc-internal-format + msgid "%<_Float%d%s%> is not supported on this target" + msgstr "no se admite %<_float%d%s%> para este objetivo" + +-#: c/c-decl.c:10724 ++#: c/c-decl.c:10744 + #, gcc-internal-format + msgid "ISO C does not support decimal floating point" + msgstr "ISO C no admite coma flotante decimal" + +-#: c/c-decl.c:10747 c/c-decl.c:11013 c/c-parser.c:7842 ++#: c/c-decl.c:10767 c/c-decl.c:11033 c/c-parser.c:7842 + #, gcc-internal-format + msgid "fixed-point types not supported for this target" + msgstr "no se admiten tipos de coma fija para este objetivo" + +-#: c/c-decl.c:10749 ++#: c/c-decl.c:10769 + #, gcc-internal-format + msgid "ISO C does not support fixed-point types" + msgstr "ISO C no admite tipos de coma fija" + +-#: c/c-decl.c:10784 ++#: c/c-decl.c:10804 + #, gcc-internal-format + msgid "C++ lookup of %qD would return a field, not a type" + msgstr "la búsqueda en C++ de %qD devolvería un campo, no un tipo" + +-#: c/c-decl.c:10797 ++#: c/c-decl.c:10817 + #, gcc-internal-format + msgid "%qE fails to be a typedef or built in type" + msgstr "%qE falla al ser un typedef o un tipo interno del compilador" + +-#: c/c-decl.c:10845 ++#: c/c-decl.c:10865 + #, gcc-internal-format + msgid "%qE is not at beginning of declaration" + msgstr "%qE no está al inicio de la declaración" + +-#: c/c-decl.c:10866 ++#: c/c-decl.c:10886 + #, gcc-internal-format + msgid "%qE used with %" + msgstr "se usó %qE con %" + +-#: c/c-decl.c:10868 ++#: c/c-decl.c:10888 + #, gcc-internal-format + msgid "%qE used with %" + msgstr "se usó %qE con %" + +-#: c/c-decl.c:10870 ++#: c/c-decl.c:10890 + #, gcc-internal-format + msgid "%qE used with %" + msgstr "se usó %qE con %" + +-#: c/c-decl.c:10884 c/c-parser.c:7360 ++#: c/c-decl.c:10904 c/c-parser.c:7360 + #, gcc-internal-format + msgid "ISO C99 does not support %qE" + msgstr "ISO C99 no admite %qE" + +-#: c/c-decl.c:10887 c/c-parser.c:7363 ++#: c/c-decl.c:10907 c/c-parser.c:7363 + #, gcc-internal-format + msgid "ISO C90 does not support %qE" + msgstr "ISO C90 no admite %qE" + +-#: c/c-decl.c:10899 ++#: c/c-decl.c:10919 + #, gcc-internal-format + msgid "%<__thread%> before %" + msgstr "%<__thread%> antes de %" + +-#: c/c-decl.c:10908 ++#: c/c-decl.c:10928 + #, gcc-internal-format + msgid "%<__thread%> before %" + msgstr "%<__thread%> antes de %" + +-#: c/c-decl.c:10921 ++#: c/c-decl.c:10941 + #, gcc-internal-format + msgid "duplicate %<_Thread_local%> or %<__thread%>" + msgstr "%<_Thread_local%> o %<__thread%> duplicado" + +-#: c/c-decl.c:10929 ++#: c/c-decl.c:10949 + #, gcc-internal-format + msgid "multiple storage classes in declaration specifiers" + msgstr "múltiples clases de almacenamiento en los especificadores de declaración" + +-#: c/c-decl.c:10937 ++#: c/c-decl.c:10957 + #, gcc-internal-format + msgid "%qs used with %qE" + msgstr "se usó %qs con %qE" + +-#: c/c-decl.c:11010 ++#: c/c-decl.c:11030 + #, gcc-internal-format + msgid "%<_Sat%> is used without %<_Fract%> or %<_Accum%>" + msgstr "se usó %<_Sat%> sin %<_Fract%> o %<_Accum%>" + +-#: c/c-decl.c:11025 ++#: c/c-decl.c:11045 + #, gcc-internal-format + msgid "ISO C does not support plain % meaning %" + msgstr "ISO C no admite % simples que significan %" + +-#: c/c-decl.c:11076 c/c-decl.c:11092 c/c-decl.c:11118 ++#: c/c-decl.c:11096 c/c-decl.c:11112 c/c-decl.c:11138 + #, gcc-internal-format + msgid "ISO C does not support complex integer types" + msgstr "ISO C no admite tipos enteros complejos" + +-#: c/c-decl.c:11514 cp/semantics.c:5348 ++#: c/c-decl.c:11534 cp/semantics.c:5351 + #, gcc-internal-format + msgid "%<#pragma omp declare reduction%> combiner refers to variable %qD which is not % nor %" + msgstr "el combinador %<#pragma omp declare reduction%> hace referencia a la variable %qD, la cual no es % ni %" + +-#: c/c-decl.c:11518 cp/semantics.c:5352 ++#: c/c-decl.c:11538 cp/semantics.c:5355 + #, gcc-internal-format + msgid "%<#pragma omp declare reduction%> initializer refers to variable %qD which is not % nor %" + msgstr "el nicializador %<#pragma omp declare reduction%> hace referencia a la variable %qD, la cual no es % ni %" + +-#: c/c-fold.c:385 c/c-typeck.c:11426 cp/typeck.c:4680 ++#: c/c-fold.c:385 c/c-typeck.c:11431 cp/typeck.c:4680 + #, gcc-internal-format + msgid "left shift of negative value" + msgstr "desplazamiento a la izquierda o valor negativo" + +-#: c/c-fold.c:395 c/c-typeck.c:11435 cp/typeck.c:4688 ++#: c/c-fold.c:395 c/c-typeck.c:11440 cp/typeck.c:4688 + #, gcc-internal-format + msgid "left shift count is negative" + msgstr "la cuenta de desplazamiento a la izquierda es negativa" + +-#: c/c-fold.c:396 c/c-typeck.c:11365 cp/typeck.c:4633 ++#: c/c-fold.c:396 c/c-typeck.c:11370 cp/typeck.c:4633 + #, gcc-internal-format + msgid "right shift count is negative" + msgstr "la cuenta de desplazamiento a la derecha es negativa" + +-#: c/c-fold.c:404 c/c-typeck.c:11454 cp/typeck.c:4696 ++#: c/c-fold.c:404 c/c-typeck.c:11459 cp/typeck.c:4696 + #, gcc-internal-format + msgid "left shift count >= width of type" + msgstr "cuenta de desplazamiento a la izquierda >= anchura del tipo" + +-#: c/c-fold.c:405 c/c-typeck.c:11389 cp/typeck.c:4641 ++#: c/c-fold.c:405 c/c-typeck.c:11394 cp/typeck.c:4641 + #, gcc-internal-format + msgid "right shift count >= width of type" + msgstr "cuenta de desplazamiento a la derecha >= anchura del tipo" + +-#: c/c-fold.c:412 c/c-typeck.c:11446 ++#: c/c-fold.c:412 c/c-typeck.c:11451 + #, gcc-internal-format + msgid "left shift count >= width of vector element" + msgstr "cuenta de desplazamiento a la izquierda >= anchura del elemento del vector" + +-#: c/c-fold.c:413 c/c-typeck.c:11376 ++#: c/c-fold.c:413 c/c-typeck.c:11381 + #, gcc-internal-format + msgid "right shift count >= width of vector element" + msgstr "cuenta de desplazamiento a la derecha >= anchura del elemento del vector" +@@ -34924,7 +34972,7 @@ + msgid "to match this %qs" + msgstr "%J otro tipo aquí" + +-#: c/c-parser.c:1216 cp/parser.c:28484 ++#: c/c-parser.c:1216 cp/parser.c:28481 + #, gcc-internal-format + msgid "expected end of line" + msgstr "se esperaba fin de línea" +@@ -34965,7 +35013,7 @@ + msgstr "nombre de tipo %qE desconocido" + + #: c/c-parser.c:1848 c/c-parser.c:11129 c/c-parser.c:16147 c/c-parser.c:16585 +-#: c/c-parser.c:17061 cp/parser.c:36007 cp/parser.c:38993 ++#: c/c-parser.c:17061 cp/parser.c:36004 cp/parser.c:38990 + #, gcc-internal-format + msgid "expected declaration specifiers" + msgstr "se esperaban especificadores de declaración" +@@ -34980,7 +35028,7 @@ + msgid "expected %<;%>, identifier or %<(%>" + msgstr "se esperaba %<;>, identificador o %<(%>" + +-#: c/c-parser.c:1906 cp/parser.c:30161 cp/parser.c:30235 ++#: c/c-parser.c:1906 cp/parser.c:30158 cp/parser.c:30232 + #, gcc-internal-format + msgid "prefix attributes are ignored for methods" + msgstr "se descartan los atributos de prefijo para los métodos" +@@ -35034,7 +35082,7 @@ + msgid "%<__auto_type%> may only be used with a single declarator" + msgstr "%<__auto_type%> sólo se puede utilizar con una declaración simple" + +-#: c/c-parser.c:2220 cp/parser.c:13002 cp/parser.c:13159 ++#: c/c-parser.c:2220 cp/parser.c:12999 cp/parser.c:13156 + #, gcc-internal-format + msgid "expected %<,%> or %<;%>" + msgstr "se esperaba %<,%> o %<;%>" +@@ -35062,7 +35110,7 @@ + msgid "ISO C90 does not support %<_Static_assert%>" + msgstr "ISO C90 no admite %<_Static_assert%>" + +-#: c/c-parser.c:2448 c/c-parser.c:4160 c/c-parser.c:11187 cp/parser.c:38634 ++#: c/c-parser.c:2448 c/c-parser.c:4160 c/c-parser.c:11187 cp/parser.c:38631 + #, gcc-internal-format + msgid "expected string literal" + msgstr "se esperaba una cadena literal" +@@ -35126,13 +35174,13 @@ + #: c/c-parser.c:10745 c/c-parser.c:10798 c/c-parser.c:10814 c/c-parser.c:10860 + #: c/c-parser.c:11496 c/c-parser.c:11537 c/c-parser.c:13445 c/c-parser.c:13681 + #: c/c-parser.c:15544 c/c-parser.c:18218 c/gimple-parser.c:1058 +-#: c/gimple-parser.c:1096 cp/parser.c:28487 cp/parser.c:31013 +-#: cp/parser.c:31043 cp/parser.c:31113 cp/parser.c:33230 cp/parser.c:38350 ++#: c/gimple-parser.c:1096 cp/parser.c:28484 cp/parser.c:31010 ++#: cp/parser.c:31040 cp/parser.c:31110 cp/parser.c:33227 cp/parser.c:38347 + #, gcc-internal-format + msgid "expected identifier" + msgstr "se esperaba un identificador" + +-#: c/c-parser.c:2995 cp/parser.c:18384 ++#: c/c-parser.c:2995 cp/parser.c:18381 + #, gcc-internal-format + msgid "comma at end of enumerator list" + msgstr "coma al final de la lista de enumeradores" +@@ -35301,12 +35349,12 @@ + msgid "expected statement" + msgstr "se esperaba una declaración" + +-#: c/c-parser.c:5639 cp/parser.c:12516 ++#: c/c-parser.c:5639 cp/parser.c:12513 + #, gcc-internal-format + msgid "suggest braces around empty body in an % statement" + msgstr "se sugieren llaves alrededor del cuerpo vacío en una declaración %" + +-#: c/c-parser.c:5681 cp/parser.c:12519 ++#: c/c-parser.c:5681 cp/parser.c:12516 + #, gcc-internal-format + msgid "suggest braces around empty body in an % statement" + msgstr "se sugieren llaves alrededor del cuerpo vacío en una declaración %" +@@ -35334,12 +35382,12 @@ + #: c/c-parser.c:6172 cp/parser.c:11708 + #, gcc-internal-format + msgid "missing loop condition in loop with % pragma" +-msgstr "" ++msgstr "falta la condición del bucle en bucle con pragma %" + + #: c/c-parser.c:6178 cp/parser.c:11714 + #, gcc-internal-format + msgid "missing loop condition in loop with % pragma" +-msgstr "" ++msgstr "falta la condición del bucle en bucle con pragma %" + + #: c/c-parser.c:6212 + #, gcc-internal-format +@@ -35543,12 +35591,12 @@ + #: c/c-parser.c:8333 c/c-parser.c:8343 + #, gcc-internal-format + msgid "invalid type-generic return type for argument %u of %<__builtin_tgmath%>" +-msgstr "" ++msgstr "el tipo de retorno de tipo genérico para el argumento %u de %<__builtin_tgmath%> no es válido" + + #: c/c-parser.c:8365 c/c-parser.c:8375 + #, gcc-internal-format + msgid "invalid type-generic type for argument %u of argument %u of %<__builtin_tgmath%>" +-msgstr "" ++msgstr "el tipo de tipo genérico para el argumento %u del argumento %u de %<__builtin_tgmath%> no es válido" + + #: c/c-parser.c:8408 + #, gcc-internal-format +@@ -35558,89 +35606,77 @@ + #: c/c-parser.c:8427 + #, gcc-internal-format + msgid "function arguments of %<__builtin_tgmath%> lack type-generic parameter" +-msgstr "" ++msgstr "los argumentos de función de %<__builtin_tgmath%> carecen de paramétro de tipo genérico" + + #: c/c-parser.c:8475 + #, gcc-internal-format + msgid "duplicate type-generic parameter type for function argument %u of %<__builtin_tgmath%>" +-msgstr "" ++msgstr "el tipo de parámetro de tipo genérico para el argumento de función %u de %<__builtin_tgmath%> está duplicado" + + #: c/c-parser.c:8498 + #, gcc-internal-format + msgid "bad return type for function argument %u of %<__builtin_tgmath%>" +-msgstr "" ++msgstr "tipo de retorno inadecuado para el argumento de función %u de %<__builtin_tgmath%>" + + #: c/c-parser.c:8515 +-#, fuzzy, gcc-internal-format +-#| msgid "wrong number of arguments to function %<__builtin_next_arg%>" ++#, gcc-internal-format + msgid "bad type for argument %u of function argument %u of %<__builtin_tgmath%>" +-msgstr "número erróneo de argumentos para la función %<__builtin_next_arg%>" ++msgstr "tipo inadecuado para el argumento %u del argumento de función %u de %<__builtin_tgmath%>" + + #: c/c-parser.c:8553 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "invalid type for parameter %d of constexpr function %q+#D" ++#, gcc-internal-format, gfc-internal-format + msgid "invalid type of argument %u of type-generic function" +-msgstr "tipo no válido del parámetro %d en la función constexpr %q+#D" ++msgstr "tipo no válido del argumento %u de la función de tipo genérico" + + #: c/c-parser.c:8564 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "non-floating-point argument in call to function %qE" ++#, gcc-internal-format, gfc-internal-format + msgid "decimal floating-point argument %u to complex-only type-generic function" +-msgstr "argumento que no es de coma flotante en la llamada a la función %qE" ++msgstr "argumento de coma flotante decimal %u para función de tipo genérico solo para complejos" + + #: c/c-parser.c:8572 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "non-floating-point argument in call to function %qE" ++#, gcc-internal-format, gfc-internal-format + msgid "decimal floating-point argument %u to binary-only type-generic function" +-msgstr "argumento que no es de coma flotante en la llamada a la función %qE" ++msgstr "argumento de coma flotante decimal %u para función de tipo genérico solo para binarios" + + #: c/c-parser.c:8580 c/c-parser.c:8610 +-#, fuzzy, gcc-internal-format +-#| msgid "non-floating-point arguments in call to function %qE" ++#, gcc-internal-format + msgid "both complex and decimal floating-point arguments to type-generic function" +-msgstr "argumentos que no son de coma flotante en la llamada a la función %qE" ++msgstr "argumentos de ambos tipos complejo y de coma flotante decimal para función de tipo genérico" + + #: c/c-parser.c:8588 c/c-parser.c:8630 +-#, fuzzy, gcc-internal-format +-#| msgid "non-floating-point arguments in call to function %qE" ++#, gcc-internal-format + msgid "both binary and decimal floating-point arguments to type-generic function" +-msgstr "argumentos que no son de coma flotante en la llamada a la función %qE" ++msgstr "argumentos de ambos tipos binario y de coma flotante decimal para función de tipo genérico" + + #: c/c-parser.c:8602 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "complex arguments must have identical types" ++#, gcc-internal-format, gfc-internal-format + msgid "complex argument %u to decimal-only type-generic function" +-msgstr "los argumentos complejos deben tener tipos idénticos" ++msgstr "argumento complejo %u para función de tipo genérico solo para decimales" + + #: c/c-parser.c:8622 +-#, fuzzy, gcc-internal-format, gfc-internal-format +-#| msgid "invalid argument to built-in function" ++#, gcc-internal-format, gfc-internal-format + msgid "binary argument %u to decimal-only type-generic function" +-msgstr "argumento no válido para la función interna" ++msgstr "argumento binario %u para función de tipo genérico solo para decimales" + + #: c/c-parser.c:8728 +-#, fuzzy, gcc-internal-format +-#| msgid "no matching function for call to %<%D(%A)%>" ++#, gcc-internal-format + msgid "no matching function for type-generic call" +-msgstr "no hay una función coincidente para la llamada a %<%D(%A)%>" ++msgstr "no hay ninguna función coincidente para la llamada de tipo genérico" + + #: c/c-parser.c:8769 +-#, fuzzy, gcc-internal-format +-#| msgid "wrong number of arguments to %<__builtin_choose_expr%>" ++#, gcc-internal-format + msgid "wrong number of arguments to %<__builtin_call_with_static_chain%>" +-msgstr "número erróneo de argumentos para %<__builtin_choose_expr%>" ++msgstr "número erróneo de argumentos para %<__builtin_call_with_static_chain%>" + + #: c/c-parser.c:8782 +-#, fuzzy, gcc-internal-format +-#| msgid "third argument to %<__builtin_prefetch%> must be a constant" ++#, gcc-internal-format + msgid "first argument to %<__builtin_call_with_static_chain%> must be a call expression" +-msgstr "el tercer argumento de %<__builtin_prefetch%> debe ser una constante" ++msgstr "el primer argumento de %<__builtin_call_with_static_chain%> debe ser una expresión de llamada" + + #: c/c-parser.c:8786 +-#, fuzzy, gcc-internal-format +-#| msgid "second argument to %<__builtin_prefetch%> must be a constant" ++#, gcc-internal-format + msgid "second argument to %<__builtin_call_with_static_chain%> must be a pointer type" +-msgstr "el segundo argumento de %<__builtin_prefetch%> debe ser una constante" ++msgstr "el segundo argumento de %<__builtin_call_with_static_chain%> debe ser un tipo puntero" + + #: c/c-parser.c:8812 + #, gcc-internal-format +@@ -35657,7 +35693,7 @@ + msgid "%<__builtin_complex%> operands of different types" + msgstr "los operandos de %<__builtin_complex%> son de tipos diferentes" + +-#: c/c-parser.c:8891 cp/parser.c:6918 ++#: c/c-parser.c:8891 cp/parser.c:6921 + #, gcc-internal-format + msgid "wrong number of arguments to %<__builtin_shuffle%>" + msgstr "número erróneo de argumentos para %<__builtin_shuffle%>" +@@ -35717,76 +35753,76 @@ + msgid "no type or storage class may be specified here," + msgstr "ninguna clase de almacenamiento o tipo se puede especificar aquí," + +-#: c/c-parser.c:10661 c/c-parser.c:10718 cp/parser.c:31073 ++#: c/c-parser.c:10661 c/c-parser.c:10718 cp/parser.c:31070 + #, gcc-internal-format + msgid "unknown property attribute" + msgstr "atributo de propiedad desconocido" + +-#: c/c-parser.c:10682 cp/parser.c:31033 ++#: c/c-parser.c:10682 cp/parser.c:31030 + #, gcc-internal-format + msgid "missing %<=%> (after % attribute)" + msgstr "falta un %<=%> (después del atributo %)" + +-#: c/c-parser.c:10685 cp/parser.c:31036 ++#: c/c-parser.c:10685 cp/parser.c:31033 + #, gcc-internal-format + msgid "missing %<=%> (after % attribute)" + msgstr "falta un %<=%> (después del atributo %)" + +-#: c/c-parser.c:10699 cp/parser.c:31051 ++#: c/c-parser.c:10699 cp/parser.c:31048 + #, gcc-internal-format + msgid "the % attribute may only be specified once" + msgstr "el atributo % sólo se puede especificar una vez" + +-#: c/c-parser.c:10704 cp/parser.c:31057 ++#: c/c-parser.c:10704 cp/parser.c:31054 + #, gcc-internal-format + msgid "setter name must terminate with %<:%>" + msgstr "el nombre del setter debe terminar con %<:%>" + +-#: c/c-parser.c:10711 cp/parser.c:31065 ++#: c/c-parser.c:10711 cp/parser.c:31062 + #, gcc-internal-format + msgid "the % attribute may only be specified once" + msgstr "el atributo % sólo se puede especificar una vez" + +-#: c/c-parser.c:10905 cp/parser.c:38674 ++#: c/c-parser.c:10905 cp/parser.c:38671 + #, gcc-internal-format + msgid "%<#pragma GCC unroll%> requires an assignment-expression that evaluates to a non-negative integral constant less than %u" + msgstr "%<#pragma GCC unroll%> requiere una expresión de asignación que evaluada dé una constante entera no negativa menor que %u" + + #: c/c-parser.c:10949 c/c-parser.c:16582 c/c-parser.c:16840 c/c-parser.c:16899 +-#: c/c-parser.c:16983 cp/parser.c:36004 cp/parser.c:36298 cp/parser.c:36386 +-#: cp/parser.c:36457 cp/parser.c:38721 cp/parser.c:38736 cp/parser.c:38752 +-#: cp/parser.c:38768 cp/parser.c:38784 cp/parser.c:38811 cp/parser.c:38824 +-#: cp/parser.c:38847 cp/parser.c:38860 ++#: c/c-parser.c:16983 cp/parser.c:36001 cp/parser.c:36295 cp/parser.c:36383 ++#: cp/parser.c:36454 cp/parser.c:38718 cp/parser.c:38733 cp/parser.c:38749 ++#: cp/parser.c:38765 cp/parser.c:38781 cp/parser.c:38808 cp/parser.c:38821 ++#: cp/parser.c:38844 cp/parser.c:38857 + #, gcc-internal-format + msgid "%<#pragma %s%> may only be used in compound statements" + msgstr "%<#pragma %s%> sólo se puede usar en declaraciones compuestas" + +-#: c/c-parser.c:10972 cp/parser.c:38837 ++#: c/c-parser.c:10972 cp/parser.c:38834 + #, gcc-internal-format + msgid "%<#pragma acc routine%> must be at file scope" + msgstr "%<#pragma acc routine%> debe estar en el alcance del fichero" + +-#: c/c-parser.c:11050 cp/parser.c:38918 ++#: c/c-parser.c:11050 cp/parser.c:38915 + #, gcc-internal-format + msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct" + msgstr "%<#pragma omp section%> sólo se puede usar en construcciones %<#pragma omp sections%>" + +-#: c/c-parser.c:11074 c/c-parser.c:11098 cp/parser.c:38947 cp/parser.c:38980 ++#: c/c-parser.c:11074 c/c-parser.c:11098 cp/parser.c:38944 cp/parser.c:38977 + #, gcc-internal-format + msgid "for, while or do statement expected" + msgstr "se esperaba una declaración for, while o do" + +-#: c/c-parser.c:11111 cp/parser.c:38711 ++#: c/c-parser.c:11111 cp/parser.c:38708 + #, gcc-internal-format + msgid "%<#pragma GCC pch_preprocess%> must be first" + msgstr "%<#pragma GCC pch_preprocess%> debe ser primero" + +-#: c/c-parser.c:11421 cp/parser.c:31457 ++#: c/c-parser.c:11421 cp/parser.c:31454 + #, gcc-internal-format + msgid "too many %qs clauses" + msgstr "demasiadas cláusulas %qs" + +-#: c/c-parser.c:11443 cp/parser.c:31994 ++#: c/c-parser.c:11443 cp/parser.c:31991 + #, gcc-internal-format + msgid "expected integer expression before ')'" + msgstr "se esperaba una expresión entera delante de ')'" +@@ -35801,53 +35837,53 @@ + msgid "%qD is not a variable" + msgstr "%qD no es una variable" + +-#: c/c-parser.c:11746 cp/semantics.c:6808 ++#: c/c-parser.c:11746 cp/semantics.c:6811 + #, gcc-internal-format + msgid "%qD is not a pointer variable" + msgstr "%qD no es una variable puntero" + +-#: c/c-parser.c:11788 cp/parser.c:32073 ++#: c/c-parser.c:11788 cp/parser.c:32070 + #, gcc-internal-format + msgid "collapse argument needs positive constant integer expression" + msgstr "el argumento de collapse necesita una expresión entera constante positiva" + +-#: c/c-parser.c:11865 cp/parser.c:32137 ++#: c/c-parser.c:11865 cp/parser.c:32134 + #, gcc-internal-format + msgid "expected % or %" + msgstr "se esperaba % o %" + +-#: c/c-parser.c:11867 cp/parser.c:32139 ++#: c/c-parser.c:11867 cp/parser.c:32136 + #, gcc-internal-format + msgid "expected % or %" + msgstr "se esperaba % o %" + +-#: c/c-parser.c:11968 cp/parser.c:32242 ++#: c/c-parser.c:11968 cp/parser.c:32239 + #, gcc-internal-format + msgid "expected %, %, % or %" + msgstr "se esperaba %, %, % o %" + +-#: c/c-parser.c:11988 c/c-parser.c:16892 c/c-parser.c:16976 cp/parser.c:32260 +-#: cp/parser.c:36290 cp/parser.c:36378 ++#: c/c-parser.c:11988 c/c-parser.c:16892 c/c-parser.c:16976 cp/parser.c:32257 ++#: cp/parser.c:36287 cp/parser.c:36375 + #, gcc-internal-format + msgid "expected %" + msgstr "se esperaba %" + +-#: c/c-parser.c:12035 cp/parser.c:32313 ++#: c/c-parser.c:12035 cp/parser.c:32310 + #, gcc-internal-format + msgid "too many % clauses with %qs modifier" + msgstr "demasiadas cláusulas % con el modificador %qs" + +-#: c/c-parser.c:12042 cp/parser.c:32320 ++#: c/c-parser.c:12042 cp/parser.c:32317 + #, gcc-internal-format + msgid "too many % clauses" + msgstr "demasiadas cláusulas %" + +-#: c/c-parser.c:12044 cp/parser.c:32322 ++#: c/c-parser.c:12044 cp/parser.c:32319 + #, gcc-internal-format + msgid "too many % clauses without modifier" + msgstr "demasiadas cláusulas % sin modificador" + +-#: c/c-parser.c:12050 cp/parser.c:32328 ++#: c/c-parser.c:12050 cp/parser.c:32325 + #, gcc-internal-format + msgid "if any % clause has modifier, then all % clauses have to use modifier" + msgstr "si alguna cláusula % tiene modificador, entonces todas las cláusulas % tienen que usar modificador" +@@ -35869,84 +35905,84 @@ + msgid "% value must be positive" + msgstr "el valor de % debe ser positivo" + +-#: c/c-parser.c:12229 cp/semantics.c:6992 ++#: c/c-parser.c:12229 cp/semantics.c:6995 + #, gcc-internal-format + msgid "% value must be positive" + msgstr "el valor de % debe ser positivo" + +-#: c/c-parser.c:12276 cp/semantics.c:7021 ++#: c/c-parser.c:12276 cp/semantics.c:7024 + #, gcc-internal-format + msgid "% value must be non-negative" + msgstr "el valor de % debe ser no negativo" + +-#: c/c-parser.c:12341 c/c-parser.c:12347 cp/parser.c:32545 cp/parser.c:32552 ++#: c/c-parser.c:12341 c/c-parser.c:12347 cp/parser.c:32542 cp/parser.c:32549 + #, gcc-internal-format + msgid "expected %" + msgstr "se esperaba %" + +-#: c/c-parser.c:12355 c/c-parser.c:12361 cp/parser.c:32561 cp/parser.c:32568 ++#: c/c-parser.c:12355 c/c-parser.c:12361 cp/parser.c:32558 cp/parser.c:32565 + #, gcc-internal-format + msgid "expected %" + msgstr "se esperaba %" + +-#: c/c-parser.c:12425 cp/semantics.c:6299 ++#: c/c-parser.c:12425 cp/semantics.c:6302 + #, gcc-internal-format + msgid "%qs expression must be integral" + msgstr "la expresión %qs debe ser integral" + +-#: c/c-parser.c:12437 c/c-parser.c:12560 cp/semantics.c:6331 ++#: c/c-parser.c:12437 c/c-parser.c:12560 cp/semantics.c:6334 + #, gcc-internal-format + msgid "%qs value must be positive" + msgstr "el valor de %qs debe ser positivo" + +-#: c/c-parser.c:12499 cp/parser.c:31853 ++#: c/c-parser.c:12499 cp/parser.c:31850 + #, gcc-internal-format + msgid "too many % arguments" + msgstr "demasiados argumentos %" + +-#: c/c-parser.c:12533 cp/parser.c:31886 ++#: c/c-parser.c:12533 cp/parser.c:31883 + #, gcc-internal-format + msgid "unexpected argument" + msgstr "argumento inesperado" + +-#: c/c-parser.c:12699 cp/semantics.c:7120 ++#: c/c-parser.c:12699 cp/semantics.c:7123 + #, gcc-internal-format + msgid "% argument needs positive integral constant" + msgstr "el argumento de % necesita una constante entera positiva" + +-#: c/c-parser.c:12765 cp/parser.c:32626 ++#: c/c-parser.c:12765 cp/parser.c:32623 + #, fuzzy, gcc-internal-format + #| msgid "collapse argument needs positive constant integer expression" + msgid "ordered argument needs positive constant integer expression" + msgstr "el argumento de collapse necesita una expresión entera constante positiva" + +-#: c/c-parser.c:12857 c/c-parser.c:17625 cp/parser.c:37643 ++#: c/c-parser.c:12857 c/c-parser.c:17625 cp/parser.c:37640 + #, gcc-internal-format + msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%> or identifier" + msgstr "se esperaba %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%> o identificador" + +-#: c/c-parser.c:12967 cp/parser.c:32840 ++#: c/c-parser.c:12967 cp/parser.c:32837 + #, gcc-internal-format + msgid "both % and % modifiers specified" + msgstr "se usaron al mismo tiempo los modificadores % y %" + +-#: c/c-parser.c:13021 cp/parser.c:32856 ++#: c/c-parser.c:13021 cp/parser.c:32853 + #, gcc-internal-format + msgid "schedule % does not take a % parameter" + msgstr "el planificador % no toma un parámetro %" + +-#: c/c-parser.c:13025 cp/parser.c:32859 ++#: c/c-parser.c:13025 cp/parser.c:32856 + #, gcc-internal-format + msgid "schedule % does not take a % parameter" + msgstr "el planificador % no toma un parámetro %" + +-#: c/c-parser.c:13037 cp/semantics.c:6389 ++#: c/c-parser.c:13037 cp/semantics.c:6392 + #, fuzzy, gcc-internal-format + #| msgid "% value must be positive" + msgid "chunk size value must be positive" + msgstr "el valor de % debe ser positivo" + +-#: c/c-parser.c:13060 cp/parser.c:32879 ++#: c/c-parser.c:13060 cp/parser.c:32876 + #, gcc-internal-format + msgid "invalid schedule kind" + msgstr "género de planificador no válido" +@@ -35956,12 +35992,12 @@ + msgid "% value must be positive" + msgstr "el valor de % debe ser positivo" + +-#: c/c-parser.c:13226 cp/semantics.c:6479 ++#: c/c-parser.c:13226 cp/semantics.c:6482 + #, gcc-internal-format + msgid "% value must be positive" + msgstr "el valor de % debe ser positivo" + +-#: c/c-parser.c:13271 cp/semantics.c:6589 ++#: c/c-parser.c:13271 cp/semantics.c:6592 + #, fuzzy, gcc-internal-format + #| msgid "%Hcollapse argument needs positive constant integer expression" + msgid "% clause alignment expression must be positive constant integer expression" +@@ -35985,17 +36021,17 @@ + msgid "% clause expression must be positive constant integer expression" + msgstr "%Hel argumento de collapse necesita ser una expresión entera constante positiva" + +-#: c/c-parser.c:13584 cp/parser.c:33374 cp/parser.c:33599 ++#: c/c-parser.c:13584 cp/parser.c:33371 cp/parser.c:33596 + #, gcc-internal-format + msgid "invalid depend kind" + msgstr "tipo de dependencia no válida" + +-#: c/c-parser.c:13669 cp/parser.c:33447 ++#: c/c-parser.c:13669 cp/parser.c:33444 + #, gcc-internal-format + msgid "invalid map kind" + msgstr "tipo de mapa no válida" + +-#: c/c-parser.c:13767 cp/parser.c:33546 ++#: c/c-parser.c:13767 cp/parser.c:33543 + #, fuzzy, gcc-internal-format + #| msgid "invalid schedule kind" + msgid "invalid dist_schedule kind" +@@ -36007,67 +36043,67 @@ + msgid "invalid proc_bind kind" + msgstr "género de planificador no válido" + +-#: c/c-parser.c:14059 cp/parser.c:33825 ++#: c/c-parser.c:14059 cp/parser.c:33822 + #, gcc-internal-format + msgid "expected %<#pragma acc%> clause" + msgstr "se esperaba una cláusula %<#pragma acc%>" + +-#: c/c-parser.c:14070 c/c-parser.c:14345 cp/parser.c:33836 cp/parser.c:34143 ++#: c/c-parser.c:14070 c/c-parser.c:14345 cp/parser.c:33833 cp/parser.c:34140 + #, gcc-internal-format + msgid "%qs is not valid for %qs" + msgstr "%qs no es válido para %qs" + +-#: c/c-parser.c:14214 cp/parser.c:34010 ++#: c/c-parser.c:14214 cp/parser.c:34007 + #, gcc-internal-format + msgid "%qs must be the first clause of %qs" + msgstr "%qs debe ser la primera cláusula de %qs" + +-#: c/c-parser.c:14334 cp/parser.c:34132 ++#: c/c-parser.c:14334 cp/parser.c:34129 + #, gcc-internal-format + msgid "expected %<#pragma omp%> clause" + msgstr "se esperaba una cláusula %<#pragma omp%>" + +-#: c/c-parser.c:14472 cp/parser.c:36803 ++#: c/c-parser.c:14472 cp/parser.c:36800 + #, gcc-internal-format + msgid "no valid clauses specified in %<#pragma acc declare%>" + msgstr "no hay cláusulas válidas especificadas en %<#pragma acc declare%>" + +-#: c/c-parser.c:14482 cp/parser.c:36813 ++#: c/c-parser.c:14482 cp/parser.c:36810 + #, gcc-internal-format + msgid "array section in %<#pragma acc declare%>" + msgstr "sección de matriz en %<#pragma acc declare%>" + +-#: c/c-parser.c:14502 cp/parser.c:36833 ++#: c/c-parser.c:14502 cp/parser.c:36830 + #, gcc-internal-format + msgid "%qD must be a global variable in %<#pragma acc declare link%>" + msgstr "%qD debe ser una variable global en %<#pragma acc declare link%>" + +-#: c/c-parser.c:14513 cp/parser.c:36844 ++#: c/c-parser.c:14513 cp/parser.c:36841 + #, gcc-internal-format + msgid "invalid OpenACC clause at file scope" + msgstr "cláusula OpenACC no válida en el alcance del fichero" + +-#: c/c-parser.c:14520 cp/parser.c:36851 ++#: c/c-parser.c:14520 cp/parser.c:36848 + #, gcc-internal-format + msgid "invalid use of % variable %qD in %<#pragma acc declare%>" + msgstr "uso no válido de la variable % %qD en %<#pragma acc declare%>" + +-#: c/c-parser.c:14528 cp/parser.c:36859 ++#: c/c-parser.c:14528 cp/parser.c:36856 + #, gcc-internal-format + msgid "invalid use of % variable %qD in %<#pragma acc declare%>" + msgstr "uso no válido de la variable % %qD en %<#pragma acc declare%>" + +-#: c/c-parser.c:14540 cp/parser.c:36871 ++#: c/c-parser.c:14540 cp/parser.c:36868 + #, gcc-internal-format + msgid "variable %qD used more than once with %<#pragma acc declare%>" + msgstr "La variable %qD se usa más de una vez con %<#pragma acc declare%>" + +-#: c/c-parser.c:14632 cp/parser.c:36957 ++#: c/c-parser.c:14632 cp/parser.c:36954 + #, gcc-internal-format + msgid "expected % after %<#pragma acc %s%>" + msgstr "se esperaba % después de %<#pragma acc %s%>" + +-#: c/c-parser.c:14648 cp/parser.c:36974 ++#: c/c-parser.c:14648 cp/parser.c:36971 + #, gcc-internal-format + msgid "%<#pragma acc %s data%> has no data movement clause" + msgstr "%<#pragma acc %s data%> no tiene cláusula de movimiento de datos" +@@ -36082,7 +36118,7 @@ + msgid "expected function name" + msgstr "se esperaba nombre de función" + +-#: c/c-parser.c:14893 cp/parser.c:38064 ++#: c/c-parser.c:14893 cp/parser.c:38061 + #, gcc-internal-format + msgid "%qD does not refer to a function" + msgstr "%qD no hace referencia a una función" +@@ -36092,42 +36128,42 @@ + msgid "%<#pragma acc routine%> not immediately followed by function declaration or definition" + msgstr "%<#pragma acc routine%> no está inmediatamente seguido de una declaración o definición de función" + +-#: c/c-parser.c:14953 cp/parser.c:38118 cp/parser.c:38160 ++#: c/c-parser.c:14953 cp/parser.c:38115 cp/parser.c:38157 + #, gcc-internal-format + msgid "%<#pragma acc routine%> not immediately followed by a single function declaration or definition" + msgstr "%<#pragma acc routine%> no está inmediatamente seguido de una única declaración o definición de función" + +-#: c/c-parser.c:14970 cp/parser.c:38174 ++#: c/c-parser.c:14970 cp/parser.c:38171 + #, gcc-internal-format + msgid "%<#pragma acc routine%> already applied to %qD" + msgstr "%<#pragma acc routine%> ya se le aplicó a %qD" + +-#: c/c-parser.c:14979 cp/parser.c:38183 ++#: c/c-parser.c:14979 cp/parser.c:38180 + #, gcc-internal-format + msgid "%<#pragma acc routine%> must be applied before use" + msgstr "%<#pragma acc routine%> debe aplicarse antes de uso" + +-#: c/c-parser.c:14980 cp/parser.c:38184 ++#: c/c-parser.c:14980 cp/parser.c:38181 + #, gcc-internal-format + msgid "%<#pragma acc routine%> must be applied before definition" + msgstr "%<#pragma acc routine%> debe aplicarse antes de definición" + +-#: c/c-parser.c:15023 cp/parser.c:37152 ++#: c/c-parser.c:15023 cp/parser.c:37149 + #, gcc-internal-format + msgid "%<#pragma acc update%> must contain at least one % or % or % clause" + msgstr "%<#pragma acc update%> debe contener al menos una cláusula %, % o %" + +-#: c/c-parser.c:15435 cp/parser.c:34511 cp/parser.c:34537 ++#: c/c-parser.c:15435 cp/parser.c:34508 cp/parser.c:34534 + #, gcc-internal-format + msgid "invalid form of %<#pragma omp atomic%>" + msgstr "forma no válida de %<#pragma omp atomic%>" + +-#: c/c-parser.c:15439 cp/parser.c:34568 cp/parser.c:34584 ++#: c/c-parser.c:15439 cp/parser.c:34565 cp/parser.c:34581 + #, gcc-internal-format + msgid "invalid operator for %<#pragma omp atomic%>" + msgstr "operador no válido para %<#pragma omp atomic%>" + +-#: c/c-parser.c:15488 cp/semantics.c:8401 cp/semantics.c:8411 ++#: c/c-parser.c:15488 cp/semantics.c:8404 cp/semantics.c:8414 + #, gcc-internal-format + msgid "%<#pragma omp atomic capture%> uses two different expressions for memory" + msgstr "%<#pragma omp atomic capture%> usa dos expresiones diferentes para la memoria" +@@ -36137,22 +36173,22 @@ + msgid "expected %<(%> or end of line" + msgstr "se esperaba %<(%> o fin de línea" + +-#: c/c-parser.c:15619 cp/parser.c:35103 ++#: c/c-parser.c:15619 cp/parser.c:35100 + #, gcc-internal-format + msgid "% clause parameter is less than %" + msgstr "el parámetro de la cláusula % es menor que %" + +-#: c/c-parser.c:15630 cp/parser.c:35114 ++#: c/c-parser.c:15630 cp/parser.c:35111 + #, gcc-internal-format + msgid "% clause may not be specified together with % clause with a parameter" + msgstr "la cláusula % no puede especificarse junto con la cláusula % con un parámetro" + +-#: c/c-parser.c:15648 cp/parser.c:35141 ++#: c/c-parser.c:15648 cp/parser.c:35138 + #, gcc-internal-format + msgid "for statement expected" + msgstr "se esperaba una declaración for" + +-#: c/c-parser.c:15718 cp/semantics.c:8066 cp/semantics.c:8153 ++#: c/c-parser.c:15718 cp/semantics.c:8069 cp/semantics.c:8156 + #, gcc-internal-format + msgid "expected iteration declaration or initialization" + msgstr "se esperaba una declaración de iteración o una inicialización" +@@ -36162,73 +36198,73 @@ + msgid "not enough perfectly nested loops" + msgstr "no hay suficientes bucles perfectamente anidados" + +-#: c/c-parser.c:15862 cp/parser.c:35364 ++#: c/c-parser.c:15862 cp/parser.c:35361 + #, gcc-internal-format + msgid "collapsed loops not perfectly nested" + msgstr "los bucles colapsados no están perfectamente anidados" + +-#: c/c-parser.c:15909 cp/parser.c:35184 cp/parser.c:35226 cp/pt.c:16385 ++#: c/c-parser.c:15909 cp/parser.c:35181 cp/parser.c:35223 cp/pt.c:16407 + #, gcc-internal-format + msgid "iteration variable %qD should not be firstprivate" + msgstr "la variable de iteración %qD no debe ser firstprivate" + +-#: c/c-parser.c:16000 cp/parser.c:35437 ++#: c/c-parser.c:16000 cp/parser.c:35434 + #, gcc-internal-format + msgid "% clause with parameter may not be specified on %qs construct" + msgstr "la cláusula % con parámetro no se puede especificar en la construcción %qs" + +-#: c/c-parser.c:16166 cp/parser.c:35600 ++#: c/c-parser.c:16166 cp/parser.c:35597 + #, fuzzy, gcc-internal-format + #| msgid "%<#pragma omp barrier%> may only be used in compound statements" + msgid "%<#pragma omp ordered%> with % clause may only be used in compound statements" + msgstr "%<#pragma omp barrier%> sólo se puede usar en declaraciones compuestas" + +-#: c/c-parser.c:16374 cp/parser.c:35799 ++#: c/c-parser.c:16374 cp/parser.c:35796 + #, gcc-internal-format + msgid "expected % after %qs" + msgstr "se esperaba % después de %qs" + +-#: c/c-parser.c:16573 cp/parser.c:35995 ++#: c/c-parser.c:16573 cp/parser.c:35992 + #, gcc-internal-format + msgid "expected %" + msgstr "se esperaba %" + +-#: c/c-parser.c:16793 cp/parser.c:36232 ++#: c/c-parser.c:16793 cp/parser.c:36229 + #, gcc-internal-format + msgid "%<#pragma omp target data%> with map-type other than %, %, % or % on % clause" + msgstr "%<#pragma omp target data%> con map-type distinto de %, %, % y % en la cláusula %" + +-#: c/c-parser.c:16806 cp/parser.c:36245 ++#: c/c-parser.c:16806 cp/parser.c:36242 + #, gcc-internal-format + msgid "%<#pragma omp target data%> must contain at least one % clause" + msgstr "%<#pragma omp target data%> debe contener al menos una cláusula %" + +-#: c/c-parser.c:16853 cp/parser.c:36470 ++#: c/c-parser.c:16853 cp/parser.c:36467 + #, gcc-internal-format + msgid "%<#pragma omp target update%> must contain at least one % or % clauses" + msgstr "%<#pragma omp target update%> debe contener al menos una cláusula % o %" + +-#: c/c-parser.c:16925 cp/parser.c:36325 ++#: c/c-parser.c:16925 cp/parser.c:36322 + #, gcc-internal-format + msgid "%<#pragma omp target enter data%> with map-type other than % or % on % clause" + msgstr "%<#pragma omp target enter data%> con map-type distinto de % y % en la cláusula %" + +-#: c/c-parser.c:16937 cp/parser.c:36337 ++#: c/c-parser.c:16937 cp/parser.c:36334 + #, gcc-internal-format + msgid "%<#pragma omp target enter data%> must contain at least one % clause" + msgstr "%<#pragma omp target enter data%> debe contener al menos una cláusula %" + +-#: c/c-parser.c:17011 cp/parser.c:36414 ++#: c/c-parser.c:17011 cp/parser.c:36411 + #, gcc-internal-format + msgid "%<#pragma omp target exit data%> with map-type other than %, % or % on % clause" + msgstr "%<#pragma omp target exit data%> con map-type distinto de %, % y % en la cláusula %" + +-#: c/c-parser.c:17024 cp/parser.c:36427 ++#: c/c-parser.c:17024 cp/parser.c:36424 + #, gcc-internal-format + msgid "%<#pragma omp target exit data%> must contain at least one % clause" + msgstr "%<#pragma omp target exit data%> debe contener al menos una cláusula %" + +-#: c/c-parser.c:17238 cp/parser.c:36680 ++#: c/c-parser.c:17238 cp/parser.c:36677 + #, gcc-internal-format + msgid "%<#pragma omp target%> with map-type other than %, %, % or % on % clause" + msgstr "%<#pragma omp target%> con map-type distinto de %, %, % y % en la cláusula %" +@@ -36248,32 +36284,32 @@ + msgid "%<#pragma omp declare simd%> not immediately followed by a function declaration or definition" + msgstr "%<#pragma omp declare simd%> no inmediatamente seguida de una declaración o definición de función" + +-#: c/c-parser.c:17395 cp/parser.c:37273 ++#: c/c-parser.c:17395 cp/parser.c:37270 + #, gcc-internal-format + msgid "%<#pragma omp declare simd%> not immediately followed by a single function declaration or definition" + msgstr "%<#pragma omp declare simd%> no inmediatamente seguida de una declaración o definición de función sencilla" + +-#: c/c-parser.c:17474 cp/parser.c:37343 ++#: c/c-parser.c:17474 cp/parser.c:37340 + #, 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 simd%> con cláusulas en medio de %<#pragma omp declare target%> sin cláusulas y %<#pragma omp end declare target%>" + +-#: c/c-parser.c:17493 cp/parser.c:37362 ++#: c/c-parser.c:17493 cp/parser.c:37359 + #, gcc-internal-format + msgid "%qD specified both in declare target % and % clauses" + msgstr "" + +-#: c/c-parser.c:17534 cp/parser.c:37409 ++#: c/c-parser.c:17534 cp/parser.c:37406 + #, gcc-internal-format + msgid "expected %" + msgstr "se esperaba %" + +-#: c/c-parser.c:17541 cp/parser.c:37416 ++#: c/c-parser.c:17541 cp/parser.c:37413 + #, gcc-internal-format + msgid "expected %" + msgstr "se esperaba %" + +-#: c/c-parser.c:17547 cp/parser.c:37423 ++#: c/c-parser.c:17547 cp/parser.c:37420 + #, gcc-internal-format + msgid "%<#pragma omp end declare target%> without corresponding %<#pragma omp declare target%>" + msgstr "%<#pragma omp end declare target%> sin su correspondiente %<#pragma omp declare target%>" +@@ -36328,47 +36364,47 @@ + msgid "one of the initializer call arguments should be %<&omp_priv%>" + msgstr "" + +-#: c/c-parser.c:17947 cp/parser.c:37868 ++#: c/c-parser.c:17947 cp/parser.c:37865 + #, gcc-internal-format + msgid "expected % or % or %" + msgstr "se esperaba %, % o %" + +-#: c/c-parser.c:18162 cp/semantics.c:7531 ++#: c/c-parser.c:18162 cp/semantics.c:7534 + #, gcc-internal-format + msgid "%qE declared % after first use" + msgstr "%qE se declaró % después del primer uso" + +-#: c/c-parser.c:18164 cp/semantics.c:7533 ++#: c/c-parser.c:18164 cp/semantics.c:7536 + #, gcc-internal-format + msgid "automatic variable %qE cannot be %" + msgstr "la variable automática %qE no puede ser %" + +-#: c/c-parser.c:18168 cp/semantics.c:7535 ++#: c/c-parser.c:18168 cp/semantics.c:7538 + #, gcc-internal-format + msgid "% %qE has incomplete type" + msgstr "% %qE tiene tipo incompleto" + +-#: c/c-parser.c:18368 cp/parser.c:38565 ++#: c/c-parser.c:18368 cp/parser.c:38562 + #, gcc-internal-format + msgid "%<__transaction_cancel%> without transactional memory support enabled" + msgstr "%<__transaction_cancel%> sin activar el soporte para memoria transaccional" + +-#: c/c-parser.c:18374 cp/parser.c:38571 ++#: c/c-parser.c:18374 cp/parser.c:38568 + #, gcc-internal-format + msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>" + msgstr "%<__transaction_cancel%> dentro de un %<__transaction_relaxed%>" + +-#: c/c-parser.c:18383 cp/parser.c:38580 ++#: c/c-parser.c:18383 cp/parser.c:38577 + #, gcc-internal-format + msgid "outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>" + msgstr "%<__transaction_cancel%> más externo no está dentro del %<__transaction_atomic%> más externo" + +-#: c/c-parser.c:18385 cp/parser.c:38583 ++#: c/c-parser.c:18385 cp/parser.c:38580 + #, gcc-internal-format + msgid " or a % function" + msgstr " o una función %" + +-#: c/c-parser.c:18391 cp/parser.c:38589 ++#: c/c-parser.c:18391 cp/parser.c:38586 + #, gcc-internal-format + msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>" + msgstr "%<__transaction_cancel%> no está dentro de %<__transaction_atomic%>" +@@ -36383,7 +36419,7 @@ + msgid "%qD has an incomplete type %qT" + msgstr "%qD tiene un tipo de dato incompleto %qT" + +-#: c/c-typeck.c:237 c/c-typeck.c:9994 c/c-typeck.c:10036 cp/call.c:4147 ++#: c/c-typeck.c:237 c/c-typeck.c:9999 c/c-typeck.c:10041 cp/call.c:4147 + #, gcc-internal-format + msgid "invalid use of void expression" + msgstr "uso no válido de la expresión void" +@@ -36459,12 +36495,12 @@ + msgid "converting an array compound literal to a pointer is ill-formed in C++" + msgstr "la conversión de una literal compuesta de matriz a un puntero está malformada en C++" + +-#: c/c-typeck.c:2417 c/c-typeck.c:8641 ++#: c/c-typeck.c:2417 c/c-typeck.c:8646 + #, gcc-internal-format + msgid "%qT has no member named %qE; did you mean %qE?" + msgstr "%qT no tiene un miembro llamado %qE; ¿quiso decir %qE?" + +-#: c/c-typeck.c:2421 c/c-typeck.c:8645 ++#: c/c-typeck.c:2421 c/c-typeck.c:8650 + #, gcc-internal-format + msgid "%qT has no member named %qE" + msgstr "%qT no tiene un miembro llamado %qE" +@@ -36472,13 +36508,12 @@ + #: c/c-typeck.c:2430 + #, gcc-internal-format + msgid "accessing a member %qE of an atomic structure %qE" +-msgstr "" ++msgstr "accediendo a un miembro %qE de una estructura atómica %qE" + + #: c/c-typeck.c:2433 +-#, fuzzy, gcc-internal-format +-#| msgid "passing arg %d of pointer to function" ++#, gcc-internal-format + msgid "accessing a member %qE of an atomic union %qE" +-msgstr "al pasar el argumento %d del puntero a la función" ++msgstr "accediendo a un miembro %qE de una unión atómica %qE" + + #: c/c-typeck.c:2493 + #, gcc-internal-format +@@ -36664,460 +36699,460 @@ + msgid "pointer to a function used in subtraction" + msgstr "se utilizó un puntero a una función en la sustracción" + +-#: c/c-typeck.c:3847 ++#: c/c-typeck.c:3852 + #, gcc-internal-format + msgid "arithmetic on pointer to an incomplete type" + msgstr "aritmética en puntero a un tipo de dato incompleto" + +-#: c/c-typeck.c:3852 cp/typeck.c:5562 ++#: c/c-typeck.c:3857 cp/typeck.c:5562 + #, gcc-internal-format + msgid "arithmetic on pointer to an empty aggregate" + msgstr "aritmética en puntero a un agregado vacío" + +-#: c/c-typeck.c:4283 ++#: c/c-typeck.c:4288 + #, gcc-internal-format + msgid "%<~%> on a boolean expression" + msgstr "%<~%> en una expresión booleana" + +-#: c/c-typeck.c:4287 ++#: c/c-typeck.c:4292 + #, gcc-internal-format + msgid "did you mean to use logical not?" + msgstr "¿pretendía utilizar la negación lógica?" + +-#: c/c-typeck.c:4296 ++#: c/c-typeck.c:4301 + #, gcc-internal-format + msgid "ISO C does not support %<~%> for complex conjugation" + msgstr "ISO C no admite %<~%> para conjugaciones complejas" + +-#: c/c-typeck.c:4335 ++#: c/c-typeck.c:4340 + #, gcc-internal-format + msgid "wrong type argument to unary exclamation mark" + msgstr "argumento de tipo erróneo para el signo de exclamación unario" + +-#: c/c-typeck.c:4393 ++#: c/c-typeck.c:4398 + #, gcc-internal-format + msgid "increment of enumeration value is invalid in C++" + msgstr "el incremento de un valor de enumeración es no válido en C++" + +-#: c/c-typeck.c:4396 ++#: c/c-typeck.c:4401 + #, gcc-internal-format + msgid "decrement of enumeration value is invalid in C++" + msgstr "el decremento de un valor de enumeración es no válido en C++" + +-#: c/c-typeck.c:4403 ++#: c/c-typeck.c:4408 + #, gcc-internal-format + msgid "increment of a boolean expression" + msgstr "incremento de una expresión booleana" + +-#: c/c-typeck.c:4406 ++#: c/c-typeck.c:4411 + #, gcc-internal-format + msgid "decrement of a boolean expression" + msgstr "decremento de una expresión booleana" + +-#: c/c-typeck.c:4422 ++#: c/c-typeck.c:4427 + #, gcc-internal-format + msgid "ISO C does not support %<++%> and %<--%> on complex types" + msgstr "ISO C no admite %<++%> y %<--%> en tipos complejos" + +-#: c/c-typeck.c:4447 c/c-typeck.c:4481 ++#: c/c-typeck.c:4452 c/c-typeck.c:4486 + #, gcc-internal-format + msgid "wrong type argument to increment" + msgstr "argumento de tipo erróneo para el incremento" + +-#: c/c-typeck.c:4449 c/c-typeck.c:4484 ++#: c/c-typeck.c:4454 c/c-typeck.c:4489 + #, gcc-internal-format + msgid "wrong type argument to decrement" + msgstr "argumento de tipo erróneo para el decremento" + +-#: c/c-typeck.c:4469 ++#: c/c-typeck.c:4474 + #, gcc-internal-format + msgid "increment of pointer to an incomplete type %qT" + msgstr "incremento de puntero a un tipo incompleto %qT" + +-#: c/c-typeck.c:4473 ++#: c/c-typeck.c:4478 + #, gcc-internal-format + msgid "decrement of pointer to an incomplete type %qT" + msgstr "decremento de puntero a un tipo incompleto %qT" + +-#: c/c-typeck.c:4577 ++#: c/c-typeck.c:4582 + #, gcc-internal-format + msgid "taking address of expression of type %" + msgstr "se toma la dirección de la expresión de tipo %" + +-#: c/c-typeck.c:4636 ++#: c/c-typeck.c:4641 + #, gcc-internal-format + msgid "cannot take address of bit-field %qD" + msgstr "no se puede tomar la dirección del campo de bits %qD" + +-#: c/c-typeck.c:4649 ++#: c/c-typeck.c:4654 + #, fuzzy, gcc-internal-format + #| msgid "cannot take the address of an unaligned member" + msgid "cannot take address of scalar with reverse storage order" + msgstr "no se puede tomar la dirección de un miembro desalineado" + +-#: c/c-typeck.c:4657 ++#: c/c-typeck.c:4662 + #, fuzzy, gcc-internal-format + #| msgid "address of register variable %qD requested" + msgid "address of array with reverse scalar storage order requested" + msgstr "se solicitó la dirección de la variable de registro %qD" + +-#: c/c-typeck.c:4838 ++#: c/c-typeck.c:4843 + #, gcc-internal-format + msgid "global register variable %qD used in nested function" + msgstr "se usó la variable de registro global %qD en la función anidada" + +-#: c/c-typeck.c:4841 ++#: c/c-typeck.c:4846 + #, gcc-internal-format + msgid "register variable %qD used in nested function" + msgstr "se usó la variable de registro %qD en la función anidada" + +-#: c/c-typeck.c:4846 ++#: c/c-typeck.c:4851 + #, gcc-internal-format + msgid "address of global register variable %qD requested" + msgstr "se solicitó la dirección de la variable de registro global %qD" + +-#: c/c-typeck.c:4848 ++#: c/c-typeck.c:4853 + #, gcc-internal-format + msgid "address of register variable %qD requested" + msgstr "se solicitó la dirección de la variable de registro %qD" + +-#: c/c-typeck.c:4951 ++#: c/c-typeck.c:4956 + #, gcc-internal-format + msgid "non-lvalue array in conditional expression" + msgstr "matriz no-lvaluada en la expresión condicional" + +-#: c/c-typeck.c:5033 ++#: c/c-typeck.c:5038 + #, gcc-internal-format + msgid "implicit conversion from %qT to %qT to match other result of conditional" + msgstr "conversión implícita de %qT a %qT para coincidir con otro resultado del condicional" + +-#: c/c-typeck.c:5092 c/c-typeck.c:5098 ++#: c/c-typeck.c:5097 c/c-typeck.c:5103 + #, gcc-internal-format + msgid "operand of ?: changes signedness from %qT to %qT due to unsignedness of other operand" +-msgstr "" ++msgstr "un operando de ?: cambia de tipo de signo de %qT a %qT debido al tipo sin signo de otro operando" + +-#: c/c-typeck.c:5115 ++#: c/c-typeck.c:5120 + #, gcc-internal-format + msgid "ISO C forbids conditional expr with only one void side" + msgstr "ISO C prohíbe una expresión condicional con sólo un lado void" + +-#: c/c-typeck.c:5132 ++#: c/c-typeck.c:5137 + #, gcc-internal-format + msgid "pointers to disjoint address spaces used in conditional expression" + msgstr "se usaron punteros a espacios de direcciones discontinuos en la expresión condicional" + +-#: c/c-typeck.c:5143 c/c-typeck.c:5160 ++#: c/c-typeck.c:5148 c/c-typeck.c:5165 + #, gcc-internal-format + msgid "pointer to array loses qualifier in conditional expression" + msgstr "el puntero a matriz pierde el calificador en la expresión condicional" + +-#: c/c-typeck.c:5148 c/c-typeck.c:5165 ++#: c/c-typeck.c:5153 c/c-typeck.c:5170 + #, gcc-internal-format + msgid "ISO C forbids conditional expr between % and function pointer" + msgstr "ISO C prohíbe expresiones condicionales entre % y punteros de función" + +-#: c/c-typeck.c:5178 ++#: c/c-typeck.c:5183 + #, gcc-internal-format + msgid "pointer type mismatch in conditional expression" + msgstr "los tipos de datos punteros no coinciden en la expresión condicional" + +-#: c/c-typeck.c:5187 c/c-typeck.c:5198 ++#: c/c-typeck.c:5192 c/c-typeck.c:5203 + #, gcc-internal-format + msgid "pointer/integer type mismatch in conditional expression" + msgstr "los tipos de datos punteros/enteros no coinciden en la expresión condicional" + +-#: c/c-typeck.c:5336 ++#: c/c-typeck.c:5341 + #, gcc-internal-format + msgid "left-hand operand of comma expression has no effect" + msgstr "el operador del lado izquierdo de la expresión coma no tiene efecto" + +-#: c/c-typeck.c:5354 c/c-typeck.c:10636 ++#: c/c-typeck.c:5359 c/c-typeck.c:10641 + #, gcc-internal-format + msgid "right-hand operand of comma expression has no effect" + msgstr "el operador del lado derecho de la expresión coma no tiene efecto" + +-#: c/c-typeck.c:5423 ++#: c/c-typeck.c:5428 + msgid "cast adds %q#v qualifier to function type" + msgstr "la conversión agrega el calificador %q#v al tipo de función" + +-#: c/c-typeck.c:5429 ++#: c/c-typeck.c:5434 + msgid "cast discards %qv qualifier from pointer target type" + msgstr "la conversión descarta el calificador %qv del tipo del destino del puntero" + +-#: c/c-typeck.c:5464 ++#: c/c-typeck.c:5469 + #, gcc-internal-format + msgid "to be safe all intermediate pointers in cast from %qT to %qT must be % qualified" + msgstr "para estar seguro todos los punteros intermedios en la conversión de %qT a %qT se deben calificar como %" + +-#: c/c-typeck.c:5554 ++#: c/c-typeck.c:5559 + #, gcc-internal-format + msgid "cast specifies array type" + msgstr "la conversión especifica el tipo matriz" + +-#: c/c-typeck.c:5560 ++#: c/c-typeck.c:5565 + #, gcc-internal-format + msgid "cast specifies function type" + msgstr "la conversión especifica el tipo función" + +-#: c/c-typeck.c:5575 ++#: c/c-typeck.c:5580 + #, gcc-internal-format + msgid "ISO C forbids casting nonscalar to the same type" + msgstr "ISO C prohíbe la conversión de un no escalar al mismo tipo" + +-#: c/c-typeck.c:5595 ++#: c/c-typeck.c:5600 + #, gcc-internal-format + msgid "ISO C forbids casts to union type" + msgstr "ISO C prohíbe la conversión al tipo union" + +-#: c/c-typeck.c:5605 ++#: c/c-typeck.c:5610 + #, gcc-internal-format + msgid "cast to union type from type not present in union" + msgstr "conversión a tipo union desde un tipo no presente en union" + +-#: c/c-typeck.c:5640 ++#: c/c-typeck.c:5645 + #, gcc-internal-format, gfc-internal-format + msgid "cast to %s address space pointer from disjoint generic address space pointer" + msgstr "conversión al puntero de espacio de direcciones %s desde un puntero de espacio de direcciones genérico discontinuo" + +-#: c/c-typeck.c:5645 ++#: c/c-typeck.c:5650 + #, gcc-internal-format, gfc-internal-format + msgid "cast to generic address space pointer from disjoint %s address space pointer" + msgstr "conversión a un puntero de espacio de direcciones genérico desde un puntero de espacio de direcciones %s discontinuo" + +-#: c/c-typeck.c:5650 ++#: c/c-typeck.c:5655 + #, gcc-internal-format, gfc-internal-format + msgid "cast to %s address space pointer from disjoint %s address space pointer" + msgstr "conversión a un puntero de espacio de direcciones %s desde un puntero de espacio de direcciones %s discontinuo" + +-#: c/c-typeck.c:5670 ++#: c/c-typeck.c:5675 + #, gcc-internal-format + msgid "cast increases required alignment of target type" + msgstr "la conversión incrementa la alineación requerida del tipo del destino" + +-#: c/c-typeck.c:5681 ++#: c/c-typeck.c:5686 + #, gcc-internal-format + msgid "cast from pointer to integer of different size" + msgstr "conversión de puntero a entero de tamaño diferente" + +-#: c/c-typeck.c:5686 ++#: c/c-typeck.c:5691 + #, gcc-internal-format + msgid "cast from function call of type %qT to non-matching type %qT" + msgstr "conversión desde una llamada a función de tipo %qT al tipo %qT que no coincide" + +-#: c/c-typeck.c:5695 cp/typeck.c:7811 ++#: c/c-typeck.c:5700 cp/typeck.c:7811 + #, gcc-internal-format + msgid "cast to pointer from integer of different size" + msgstr "conversión a puntero desde un entero de tamaño diferente" + +-#: c/c-typeck.c:5709 ++#: c/c-typeck.c:5714 + #, gcc-internal-format + msgid "ISO C forbids conversion of function pointer to object pointer type" + msgstr "ISO C prohíbe la conversión de un apuntador a función a un tipo de objeto apuntador" + +-#: c/c-typeck.c:5718 ++#: c/c-typeck.c:5723 + #, gcc-internal-format + msgid "ISO C forbids conversion of object pointer to function pointer type" + msgstr "ISO C prohíbe la conversión de objeto apuntador a un tipo de apuntador a función" + +-#: c/c-typeck.c:5728 ++#: c/c-typeck.c:5733 + #, gcc-internal-format + msgid "cast between incompatible function types from %qT to %qT" + msgstr "conversión entre tipos de función incompatibles desde %qT a %qT" + +-#: c/c-typeck.c:5815 ++#: c/c-typeck.c:5820 + #, gcc-internal-format + msgid "defining a type in a cast is invalid in C++" + msgstr "definir un tipo en una conversión es no válido en C++" + +-#: c/c-typeck.c:5856 ++#: c/c-typeck.c:5861 + #, gcc-internal-format + msgid "assignment to expression with array type" + msgstr "asignación a expresión con tipo matriz" + +-#: c/c-typeck.c:5982 ++#: c/c-typeck.c:5987 + #, gcc-internal-format + msgid "enum conversion in assignment is invalid in C++" + msgstr "conversión de enum en una asignación es no válido en C++" + +-#: c/c-typeck.c:6180 c/c-typeck.c:6202 c/c-typeck.c:6226 ++#: c/c-typeck.c:6185 c/c-typeck.c:6207 c/c-typeck.c:6231 + #, gcc-internal-format + msgid "(near initialization for %qs)" + msgstr "(cerca de la inicialización de %qs)" + +-#: c/c-typeck.c:6241 ++#: c/c-typeck.c:6246 + #, gcc-internal-format + msgid "array initialized from parenthesized string constant" + msgstr "matriz inicializada con una constante de cadena entre paréntesis" + +-#: c/c-typeck.c:6284 c/c-typeck.c:6476 c/c-typeck.c:6908 ++#: c/c-typeck.c:6289 c/c-typeck.c:6481 c/c-typeck.c:6913 + #, gcc-internal-format + msgid "expected %qT but argument is of type %qT" + msgstr "se esperaba %qT pero el argumento es de tipo %qT" + +-#: c/c-typeck.c:6471 ++#: c/c-typeck.c:6476 + #, gcc-internal-format + msgid "enum conversion when passing argument %d of %qE is invalid in C++" + msgstr "la conversión de enum al pasar el argumento %d de %qE es no válido en C++" + +-#: c/c-typeck.c:6480 ++#: c/c-typeck.c:6485 + #, gcc-internal-format + msgid "enum conversion from %qT to %qT in assignment is invalid in C++" + msgstr "la conversión de enum desde %qT a %qT en una asignación no es válida en C++" + +-#: c/c-typeck.c:6484 ++#: c/c-typeck.c:6489 + #, gcc-internal-format + msgid "enum conversion from %qT to %qT in initialization is invalid in C++" + msgstr "la conversión de enum desde %qT a %qT en una inicialización no es válida en C++" + +-#: c/c-typeck.c:6489 ++#: c/c-typeck.c:6494 + #, gcc-internal-format + msgid "enum conversion from %qT to %qT in return is invalid in C++" + msgstr "la conversión de enum desde %qT a %qT en un return no es válida en C++" + +-#: c/c-typeck.c:6523 ++#: c/c-typeck.c:6528 + #, gcc-internal-format + msgid "cannot pass rvalue to reference parameter" + msgstr "no se puede pasar un valor-r a un parámetro de referencia" + +-#: c/c-typeck.c:6656 c/c-typeck.c:6942 ++#: c/c-typeck.c:6661 c/c-typeck.c:6947 + msgid "passing argument %d of %qE makes %q#v qualified function pointer from unqualified" + msgstr "el paso del argumento %d de %qE hace que la función calificada con %q#v apunte desde una no calificada" + +-#: c/c-typeck.c:6659 c/c-typeck.c:6945 ++#: c/c-typeck.c:6664 c/c-typeck.c:6950 + msgid "assignment makes %q#v qualified function pointer from unqualified" + msgstr "la asignación hace que la función calificada con %q#v apunte desde una no calificada" + +-#: c/c-typeck.c:6662 c/c-typeck.c:6947 ++#: c/c-typeck.c:6667 c/c-typeck.c:6952 + msgid "initialization makes %q#v qualified function pointer from unqualified" + msgstr "la inicialización hace que la función calificada con %q#v apunte desde una no calificada" + +-#: c/c-typeck.c:6665 c/c-typeck.c:6949 ++#: c/c-typeck.c:6670 c/c-typeck.c:6954 + msgid "return makes %q#v qualified function pointer from unqualified" + msgstr "la devolución hace que la función calificada con %q#v apunte desde una no calificada" + +-#: c/c-typeck.c:6673 c/c-typeck.c:6840 c/c-typeck.c:6883 ++#: c/c-typeck.c:6678 c/c-typeck.c:6845 c/c-typeck.c:6888 + msgid "passing argument %d of %qE discards %qv qualifier from pointer target type" + msgstr "el paso del argumento %d de %qE descarta el calificador %qv del tipo del destino del puntero" + +-#: c/c-typeck.c:6675 c/c-typeck.c:6842 c/c-typeck.c:6885 ++#: c/c-typeck.c:6680 c/c-typeck.c:6847 c/c-typeck.c:6890 + msgid "assignment discards %qv qualifier from pointer target type" + msgstr "la asignación descarta el calificador %qv del tipo del destino del puntero" + +-#: c/c-typeck.c:6677 c/c-typeck.c:6844 c/c-typeck.c:6887 ++#: c/c-typeck.c:6682 c/c-typeck.c:6849 c/c-typeck.c:6892 + msgid "initialization discards %qv qualifier from pointer target type" + msgstr "la inicialización descarta el calificador %qv del tipo del destino del puntero" + +-#: c/c-typeck.c:6679 c/c-typeck.c:6846 c/c-typeck.c:6889 ++#: c/c-typeck.c:6684 c/c-typeck.c:6851 c/c-typeck.c:6894 + msgid "return discards %qv qualifier from pointer target type" + msgstr "la devolución descarta el calificador %qv del tipo del destino del puntero" + +-#: c/c-typeck.c:6688 ++#: c/c-typeck.c:6693 + #, gcc-internal-format + msgid "ISO C prohibits argument conversion to union type" + msgstr "ISO C prohíbe la conversión de argumentos a tipo union" + +-#: c/c-typeck.c:6750 ++#: c/c-typeck.c:6755 + #, gcc-internal-format + msgid "request for implicit conversion from %qT to %qT not permitted in C++" + msgstr "no se permite la petición para la conversión implícita de %qT a %qT en C++" + +-#: c/c-typeck.c:6762 ++#: c/c-typeck.c:6767 + #, gcc-internal-format + msgid "passing argument %d of %qE from pointer to non-enclosed address space" + msgstr "se pasa el argumento %d de %qE desde un puntero a espacio de direcciones no contenido" + +-#: c/c-typeck.c:6766 ++#: c/c-typeck.c:6771 + #, gcc-internal-format + msgid "assignment from pointer to non-enclosed address space" + msgstr "asignación desde puntero a espacio de direcciones no contenido" + +-#: c/c-typeck.c:6770 ++#: c/c-typeck.c:6775 + #, gcc-internal-format + msgid "initialization from pointer to non-enclosed address space" + msgstr "inicialización desde puntero a espacio de direcciones no contenido" + +-#: c/c-typeck.c:6774 ++#: c/c-typeck.c:6779 + #, gcc-internal-format + msgid "return from pointer to non-enclosed address space" + msgstr "devolución desde puntero a espacio de direcciones no contenido" + +-#: c/c-typeck.c:6792 ++#: c/c-typeck.c:6797 + #, gcc-internal-format + msgid "argument %d of %qE might be a candidate for a format attribute" + msgstr "el argumento %d de %qE puede ser un candidato para un atributo de formato" + +-#: c/c-typeck.c:6798 ++#: c/c-typeck.c:6803 + #, gcc-internal-format + msgid "assignment left-hand side might be a candidate for a format attribute" + msgstr "el lado izquierdo de la asignación puede ser un candidato para un atributo de formato" + +-#: c/c-typeck.c:6803 ++#: c/c-typeck.c:6808 + #, gcc-internal-format + msgid "initialization left-hand side might be a candidate for a format attribute" + msgstr "el lado izquierdo de la inicialización puede ser un candidato para un atributo de formato" + +-#: c/c-typeck.c:6808 cp/typeck.c:8891 ++#: c/c-typeck.c:6813 cp/typeck.c:8891 + #, gcc-internal-format + msgid "return type might be a candidate for a format attribute" + msgstr "el tipo de devolución puede ser un candidato para un atributo de formato" + +-#: c/c-typeck.c:6857 ++#: c/c-typeck.c:6862 + #, gcc-internal-format + msgid "ISO C forbids passing argument %d of %qE between function pointer and %" + msgstr "ISO C prohíbe el paso del argumento %d de %qE entre un puntero a función y %" + +-#: c/c-typeck.c:6860 ++#: c/c-typeck.c:6865 + #, gcc-internal-format + msgid "ISO C forbids assignment between function pointer and %" + msgstr "ISO C prohíbe la asignación entre un puntero a función y %" + +-#: c/c-typeck.c:6862 ++#: c/c-typeck.c:6867 + #, gcc-internal-format + msgid "ISO C forbids initialization between function pointer and %" + msgstr "ISO C prohíbe la inicialización entre un puntero a función y %" + +-#: c/c-typeck.c:6864 ++#: c/c-typeck.c:6869 + #, gcc-internal-format + msgid "ISO C forbids return between function pointer and %" + msgstr "ISO C prohíbe la devolución entre un puntero a función y %" + +-#: c/c-typeck.c:6904 ++#: c/c-typeck.c:6909 + #, gcc-internal-format + msgid "pointer targets in passing argument %d of %qE differ in signedness" + msgstr "el puntero que apunta en el paso del argumento %d de %qE difiere en signo" + +-#: c/c-typeck.c:6913 ++#: c/c-typeck.c:6918 + #, gcc-internal-format + msgid "pointer targets in assignment from %qT to %qT differ in signedness" + msgstr "el puntero que apunta en la asignación de %qT a %qT difiere en signo" + +-#: c/c-typeck.c:6918 ++#: c/c-typeck.c:6923 + #, gcc-internal-format + msgid "pointer targets in initialization of %qT from %qT differ in signedness" + msgstr "el puntero que apunta en la inicialización de %qT a %qT difiere en signo" + +-#: c/c-typeck.c:6923 ++#: c/c-typeck.c:6928 + #, fuzzy, gcc-internal-format + #| msgid "pointer targets in passing argument %d of %qE differ in signedness" + msgid "pointer targets in returning %qT from a function with return type %qT differ in signedness" + msgstr "el puntero que apunta en el paso del argumento %d de %qE difiere en signo" + +-#: c/c-typeck.c:6961 ++#: c/c-typeck.c:6966 + #, gcc-internal-format + msgid "passing argument %d of %qE from incompatible pointer type" + msgstr "se pasa el argumento %d de %qE desde un tipo de puntero incompatible" + +-#: c/c-typeck.c:6967 ++#: c/c-typeck.c:6972 + #, gcc-internal-format + msgid "assignment to %qT from incompatible pointer type %qT" + msgstr "asignación a %qT desde un tipo de puntero %qT incompatible" + +-#: c/c-typeck.c:6972 ++#: c/c-typeck.c:6977 + #, gcc-internal-format + msgid "initialization of %qT from incompatible pointer type %qT" + msgstr "inicialización de %qT desde un tipo de puntero %qT incompatible" + +-#: c/c-typeck.c:6977 ++#: c/c-typeck.c:6982 + #, gcc-internal-format + msgid "returning %qT from a function with incompatible return type %qT" + msgstr "se devuelve %qT desde una función con tipo de devolución %qT incompatible" +@@ -37124,803 +37159,802 @@ + + #. ??? This should not be an error when inlining calls to + #. unprototyped functions. +-#: c/c-typeck.c:6991 c/c-typeck.c:7514 cp/typeck.c:2063 ++#: c/c-typeck.c:6996 c/c-typeck.c:7519 cp/typeck.c:2063 + #, gcc-internal-format + msgid "invalid use of non-lvalue array" + msgstr "uso no válido de matriz no-lvaluada" + +-#: c/c-typeck.c:7004 ++#: c/c-typeck.c:7009 + #, gcc-internal-format + msgid "passing argument %d of %qE makes pointer from integer without a cast" + msgstr "el paso del argumento %d de %qE crea un puntero desde un entero sin una conversión" + +-#: c/c-typeck.c:7010 ++#: c/c-typeck.c:7015 + #, gcc-internal-format + msgid "assignment to %qT from %qT makes pointer from integer without a cast" + msgstr "la asignación a %qT desde %qT crea un puntero desde un entero sin una conversión" + +-#: c/c-typeck.c:7015 ++#: c/c-typeck.c:7020 + #, gcc-internal-format + msgid "initialization of %qT from %qT makes pointer from integer without a cast" + msgstr "la inicialización de %qT desde %qT crea un puntero desde un entero sin una conversión" + +-#: c/c-typeck.c:7019 ++#: c/c-typeck.c:7024 + #, gcc-internal-format + msgid "returning %qT from a function with return type %qT makes pointer from integer without a cast" + msgstr "el retorno de %qT desde una función con tipo de retorno %qT crea un puntero desde un entero sin una conversión" + +-#: c/c-typeck.c:7035 ++#: c/c-typeck.c:7040 + #, gcc-internal-format + msgid "passing argument %d of %qE makes integer from pointer without a cast" + msgstr "el paso del argumento %d de %qE crea un entero desde un puntero sin una conversión" + +-#: c/c-typeck.c:7041 ++#: c/c-typeck.c:7046 + #, gcc-internal-format + msgid "assignment to %qT from %qT makes integer from pointer without a cast" + msgstr "la asignación a %qT desde %qT crea un entero desde un puntero sin una conversión" + +-#: c/c-typeck.c:7046 ++#: c/c-typeck.c:7051 + #, gcc-internal-format + msgid "initialization of %qT from %qT makes integer from pointer without a cast" + msgstr "la inicialización de %qT desde %qT crea un entero desde un puntero sin una conversión" + +-#: c/c-typeck.c:7050 ++#: c/c-typeck.c:7055 + #, gcc-internal-format + msgid "returning %qT from a function with return type %qT makes integer from pointer without a cast" + msgstr "el retorno de %qT desde una función con tipo de retorno %qT crea un entero desde un puntero sin una conversión" + +-#: c/c-typeck.c:7073 ++#: c/c-typeck.c:7078 + #, gcc-internal-format + msgid "incompatible type for argument %d of %qE" + msgstr "tipo incompatible para el argumento %d de %qE" + +-#: c/c-typeck.c:7078 ++#: c/c-typeck.c:7083 + #, gcc-internal-format + msgid "incompatible types when assigning to type %qT from type %qT" + msgstr "tipos incompatible en la asignación al tipo %qT del tipo %qT" + +-#: c/c-typeck.c:7083 ++#: c/c-typeck.c:7088 + #, gcc-internal-format + msgid "incompatible types when initializing type %qT using type %qT" + msgstr "tipos incompatibles en la inicialización del tipo %qT usando el tipo %qT" + +-#: c/c-typeck.c:7088 ++#: c/c-typeck.c:7093 + #, gcc-internal-format + msgid "incompatible types when returning type %qT but %qT was expected" + msgstr "tipos incompatible al devolver el tipo %qT pero se esperaba %qT" + +-#: c/c-typeck.c:7152 ++#: c/c-typeck.c:7157 + #, gcc-internal-format + msgid "traditional C rejects automatic aggregate initialization" + msgstr "C tradicional rechaza la inicialización automática de agregados" + +-#: c/c-typeck.c:7388 c/c-typeck.c:8284 cp/typeck2.c:1045 ++#: c/c-typeck.c:7393 c/c-typeck.c:8289 cp/typeck2.c:1045 + #, gcc-internal-format + msgid "initialization of a flexible array member" + msgstr "inicialización de un miembro de matriz flexible" + +-#: c/c-typeck.c:7398 cp/typeck2.c:1059 ++#: c/c-typeck.c:7403 cp/typeck2.c:1059 + #, gcc-internal-format + msgid "char-array initialized from wide string" + msgstr "matriz de tipo char inicializada con una cadena ancha" + +-#: c/c-typeck.c:7407 ++#: c/c-typeck.c:7412 + #, gcc-internal-format + msgid "wide character array initialized from non-wide string" + msgstr "matriz de caracteres anchos inicializada con una cadena que no es ancha" + +-#: c/c-typeck.c:7413 ++#: c/c-typeck.c:7418 + #, gcc-internal-format + msgid "wide character array initialized from incompatible wide string" + msgstr "matriz de caracteres anchos inicializada con una cadena ancha incompatible" + +-#: c/c-typeck.c:7446 ++#: c/c-typeck.c:7451 + #, gcc-internal-format + msgid "array of inappropriate type initialized from string constant" + msgstr "matriz de tipo inapropiado inicializada con una constante de cadena" + +-#: c/c-typeck.c:7533 c/c-typeck.c:7557 c/c-typeck.c:7560 c/c-typeck.c:7568 +-#: c/c-typeck.c:7608 c/c-typeck.c:9131 c/c-typeck.c:9181 ++#: c/c-typeck.c:7538 c/c-typeck.c:7562 c/c-typeck.c:7565 c/c-typeck.c:7573 ++#: c/c-typeck.c:7613 c/c-typeck.c:9136 c/c-typeck.c:9186 + #, gcc-internal-format + msgid "initializer element is not constant" + msgstr "el elemento inicializador no es una constante" + +-#: c/c-typeck.c:7542 ++#: c/c-typeck.c:7547 + #, gcc-internal-format + msgid "array initialized from non-constant array expression" + msgstr "matriz inicializada con una expresión matrizal que no es constante" + +-#: c/c-typeck.c:7573 c/c-typeck.c:7621 c/c-typeck.c:9191 ++#: c/c-typeck.c:7578 c/c-typeck.c:7626 c/c-typeck.c:9196 + #, gcc-internal-format + msgid "initializer element is not a constant expression" + msgstr "el elemento inicializador no es una expresión constante" + +-#: c/c-typeck.c:7615 c/c-typeck.c:9186 ++#: c/c-typeck.c:7620 c/c-typeck.c:9191 + #, gcc-internal-format + msgid "initializer element is not computable at load time" + msgstr "el elemento inicializador no es calculable al momento de la carga" + +-#: c/c-typeck.c:7634 ++#: c/c-typeck.c:7639 + #, gcc-internal-format + msgid "invalid initializer" + msgstr "inicializador no válido" + +-#: c/c-typeck.c:7912 cp/decl.c:6396 ++#: c/c-typeck.c:7917 cp/decl.c:6396 + #, gcc-internal-format + msgid "opaque vector types cannot be initialized" + msgstr "no se pueden inicializar los tipos de vector opacos" + +-#: c/c-typeck.c:8132 ++#: c/c-typeck.c:8137 + #, gcc-internal-format + msgid "extra brace group at end of initializer" + msgstr "grupo extra de llaves al final del inicializador" + +-#: c/c-typeck.c:8215 ++#: c/c-typeck.c:8220 + #, gcc-internal-format + msgid "braces around scalar initializer" + msgstr "llaves alrededor del inicializador escalar" + +-#: c/c-typeck.c:8281 c/c-typeck.c:9615 cp/typeck2.c:1084 cp/typeck2.c:1297 ++#: c/c-typeck.c:8286 c/c-typeck.c:9620 cp/typeck2.c:1084 cp/typeck2.c:1297 + #, gcc-internal-format + msgid "initialization of flexible array member in a nested context" + msgstr "inicialización de un miembro de matriz flexible en un contexto anidado" + +-#: c/c-typeck.c:8318 ++#: c/c-typeck.c:8323 + #, gcc-internal-format + msgid "missing braces around initializer" + msgstr "faltan llaves alrededor del inicializador" + +-#: c/c-typeck.c:8341 ++#: c/c-typeck.c:8346 + #, gcc-internal-format + msgid "missing initializer for field %qD of %qT" + msgstr "falta el inicializador para el campo %qD de %qT" + +-#: c/c-typeck.c:8365 ++#: c/c-typeck.c:8370 + #, gcc-internal-format + msgid "empty scalar initializer" + msgstr "inicializador escalar vacío" + +-#: c/c-typeck.c:8370 ++#: c/c-typeck.c:8375 + #, gcc-internal-format + msgid "extra elements in scalar initializer" + msgstr "elementos extras en el inicializador escalar" + +-#: c/c-typeck.c:8483 c/c-typeck.c:8565 ++#: c/c-typeck.c:8488 c/c-typeck.c:8570 + #, gcc-internal-format + msgid "array index in non-array initializer" + msgstr "índice de matriz en el inicializador que no es matriz" + +-#: c/c-typeck.c:8488 c/c-typeck.c:8627 ++#: c/c-typeck.c:8493 c/c-typeck.c:8632 + #, gcc-internal-format + msgid "field name not in record or union initializer" + msgstr "el nombre del campo no está en el inicializador de record o union" + +-#: c/c-typeck.c:8538 ++#: c/c-typeck.c:8543 + #, gcc-internal-format + msgid "array index in initializer not of integer type" + msgstr "el índice de matriz en el inicializador no es de tipo entero" + +-#: c/c-typeck.c:8547 c/c-typeck.c:8556 ++#: c/c-typeck.c:8552 c/c-typeck.c:8561 + #, gcc-internal-format + msgid "array index in initializer is not an integer constant expression" + msgstr "el índice de matriz en el inicializador no es una expresión constante entera" + +-#: c/c-typeck.c:8561 c/c-typeck.c:8563 ++#: c/c-typeck.c:8566 c/c-typeck.c:8568 + #, gcc-internal-format + msgid "nonconstant array index in initializer" + msgstr "el índice de matriz no es una constante en el inicializador" + +-#: c/c-typeck.c:8567 c/c-typeck.c:8570 ++#: c/c-typeck.c:8572 c/c-typeck.c:8575 + #, gcc-internal-format + msgid "array index in initializer exceeds array bounds" + msgstr "el índice de matriz en el inicializador excede los límites de la matriz" + +-#: c/c-typeck.c:8589 ++#: c/c-typeck.c:8594 + #, gcc-internal-format + msgid "empty index range in initializer" + msgstr "rango de índices vacío en el inicializador" + +-#: c/c-typeck.c:8598 ++#: c/c-typeck.c:8603 + #, gcc-internal-format + msgid "array index range in initializer exceeds array bounds" + msgstr "el rango de índices de la matriz en el inicializador excede los límites de la matriz" + +-#: c/c-typeck.c:8700 c/c-typeck.c:8730 c/c-typeck.c:9274 ++#: c/c-typeck.c:8705 c/c-typeck.c:8735 c/c-typeck.c:9279 + #, gcc-internal-format + msgid "initialized field with side-effects overwritten" + msgstr "campo inicializado con efectos colaterales sobreescritos" + +-#: c/c-typeck.c:8704 c/c-typeck.c:8734 c/c-typeck.c:9277 ++#: c/c-typeck.c:8709 c/c-typeck.c:8739 c/c-typeck.c:9282 + #, gcc-internal-format + msgid "initialized field overwritten" + msgstr "campo inicializado sobreescrito" + +-#: c/c-typeck.c:9208 ++#: c/c-typeck.c:9213 + #, gcc-internal-format + msgid "enum conversion in initialization is invalid in C++" + msgstr "la conversión de enum en la inicialización es no válida en C++" + +-#: c/c-typeck.c:9496 ++#: c/c-typeck.c:9501 + #, gcc-internal-format + msgid "excess elements in char array initializer" + msgstr "exceso de elementos en el inicializador de matriz de caracteres" + +-#: c/c-typeck.c:9503 c/c-typeck.c:9574 ++#: c/c-typeck.c:9508 c/c-typeck.c:9579 + #, gcc-internal-format + msgid "excess elements in struct initializer" + msgstr "exceso de elementos en el inicializador de struct" + +-#: c/c-typeck.c:9518 ++#: c/c-typeck.c:9523 + #, gcc-internal-format + msgid "positional initialization of field in % declared with % attribute" +-msgstr "" ++msgstr "inicialización posicional de un campo de % declarado con el atributo %" + +-#: c/c-typeck.c:9589 ++#: c/c-typeck.c:9594 + #, gcc-internal-format + msgid "non-static initialization of a flexible array member" + msgstr "inicialización no estática de un miembro de matriz flexible" + +-#: c/c-typeck.c:9687 ++#: c/c-typeck.c:9692 + #, gcc-internal-format + msgid "excess elements in union initializer" + msgstr "exceso de elementos en el inicializador de union" + +-#: c/c-typeck.c:9709 ++#: c/c-typeck.c:9714 + #, gcc-internal-format + msgid "traditional C rejects initialization of unions" + msgstr "C tradicional rechaza la inicialización de unions" + +-#: c/c-typeck.c:9777 ++#: c/c-typeck.c:9782 + #, gcc-internal-format + msgid "excess elements in array initializer" + msgstr "exceso de elementos en el inicializador de matriz" + +-#: c/c-typeck.c:9811 ++#: c/c-typeck.c:9816 + #, gcc-internal-format + msgid "excess elements in vector initializer" + msgstr "exceso de elementos en el inicializador de vector" + +-#: c/c-typeck.c:9843 ++#: c/c-typeck.c:9848 + #, gcc-internal-format + msgid "excess elements in scalar initializer" + msgstr "exceso de elementos en el inicializador de escalar" + +-#: c/c-typeck.c:10086 ++#: c/c-typeck.c:10091 + #, gcc-internal-format + msgid "ISO C forbids %" + msgstr "ISO C prohíbe %" + +-#: c/c-typeck.c:10113 c/gimple-parser.c:1604 cp/typeck.c:9113 ++#: c/c-typeck.c:10118 c/gimple-parser.c:1604 cp/typeck.c:9113 + #, gcc-internal-format + msgid "function declared % has a % statement" + msgstr "la función declarada % tiene una declaración %" + +-#: c/c-typeck.c:10139 c/c-typeck.c:10143 ++#: c/c-typeck.c:10144 c/c-typeck.c:10148 + #, gcc-internal-format + msgid "% with no value, in function returning non-void" + msgstr "% sin valores, en una función que no devuelve void" + +-#: c/c-typeck.c:10157 c/gimple-parser.c:1614 ++#: c/c-typeck.c:10162 c/gimple-parser.c:1614 + #, gcc-internal-format + msgid "% with a value, in function returning void" + msgstr "% con valor, en una función que devuelve void" + +-#: c/c-typeck.c:10160 ++#: c/c-typeck.c:10165 + #, gcc-internal-format + msgid "ISO C forbids % with expression, in function returning void" + msgstr "ISO C prohíbe % con expresión, en una función que devuelve void" + +-#: c/c-typeck.c:10236 ++#: c/c-typeck.c:10241 + #, gcc-internal-format + msgid "function returns address of label" + msgstr "la función devuelve la dirección de una etiqueta" + +-#: c/c-typeck.c:10327 cp/semantics.c:1171 ++#: c/c-typeck.c:10332 cp/semantics.c:1171 + #, gcc-internal-format + msgid "switch quantity not an integer" + msgstr "la cantidad de switch no es un entero" + +-#: c/c-typeck.c:10352 ++#: c/c-typeck.c:10357 + #, gcc-internal-format + msgid "% switch expression not converted to % in ISO C" + msgstr "no se convierte la expresión de switch % a % en ISO C" + +-#: c/c-typeck.c:10390 c/c-typeck.c:10398 ++#: c/c-typeck.c:10395 c/c-typeck.c:10403 + #, gcc-internal-format + msgid "case label is not an integer constant expression" + msgstr "la etiqueta de case no es una expresion constante entera" + +-#: c/c-typeck.c:10404 cp/parser.c:11067 ++#: c/c-typeck.c:10409 cp/parser.c:11067 + #, gcc-internal-format + msgid "case label not within a switch statement" + msgstr "la etiqueta case no se encuentra dentro de una declaración switch" + +-#: c/c-typeck.c:10406 ++#: c/c-typeck.c:10411 + #, gcc-internal-format + msgid "% label not within a switch statement" + msgstr "la etiqueta % no está dentro de una declaración switch" + +-#: c/c-typeck.c:10578 cp/parser.c:12356 ++#: c/c-typeck.c:10583 cp/parser.c:12353 + #, gcc-internal-format + msgid "break statement not within loop or switch" + msgstr "la declaración break no está dentro de un bucle o switch" + +-#: c/c-typeck.c:10580 cp/parser.c:12379 ++#: c/c-typeck.c:10585 cp/parser.c:12376 + #, gcc-internal-format + msgid "continue statement not within a loop" + msgstr "la declaración continue no está dentro de un bucle" + +-#: c/c-typeck.c:10585 cp/parser.c:12369 ++#: c/c-typeck.c:10590 cp/parser.c:12366 + #, gcc-internal-format + msgid "break statement used with OpenMP for loop" + msgstr "se usó la declaración break en un bucle for de OpenMP" + +-#: c/c-typeck.c:10590 ++#: c/c-typeck.c:10595 + #, gcc-internal-format + msgid "break statement within %<#pragma simd%> loop body" + msgstr "la declaración break está dentro de un bucle %<#pragma simd%>" + +-#: c/c-typeck.c:10592 ++#: c/c-typeck.c:10597 + #, gcc-internal-format + msgid "continue statement within %<#pragma simd%> loop body" + msgstr "la declaración continue está dentro de un bucle %<#pragma simd%>" + +-#: c/c-typeck.c:10618 cp/cp-gimplify.c:432 ++#: c/c-typeck.c:10623 cp/cp-gimplify.c:432 + #, gcc-internal-format + msgid "statement with no effect" + msgstr "declaración sin efecto" + +-#: c/c-typeck.c:10662 ++#: c/c-typeck.c:10667 + #, gcc-internal-format + msgid "expression statement has incomplete type" + msgstr "la declaración de la expresión tiene tipo de dato incompleto" + +-#: c/c-typeck.c:11476 c/c-typeck.c:11644 cp/typeck.c:5017 ++#: c/c-typeck.c:11481 c/c-typeck.c:11649 cp/typeck.c:5017 + #, gcc-internal-format + msgid "comparing vectors with different element types" + msgstr "se comparan vectores con tipos de elemento diferentes" + +-#: c/c-typeck.c:11484 c/c-typeck.c:11652 cp/typeck.c:5030 ++#: c/c-typeck.c:11489 c/c-typeck.c:11657 cp/typeck.c:5030 + #, gcc-internal-format + msgid "comparing vectors with different number of elements" + msgstr "se comparan vectores con números de elementos diferentes" + +-#: c/c-typeck.c:11509 c/c-typeck.c:11677 cp/typeck.c:5058 ++#: c/c-typeck.c:11514 c/c-typeck.c:11682 cp/typeck.c:5058 + #, gcc-internal-format + msgid "could not find an integer type of the same size as %qT" + msgstr "no se puede encontrar un tipo entero del mismo tamaño que %qT" + +-#: c/c-typeck.c:11523 cp/typeck.c:4743 ++#: c/c-typeck.c:11528 cp/typeck.c:4743 + #, gcc-internal-format + msgid "comparing floating point with == or != is unsafe" + msgstr "no es segura la comparacion de coma flotante con == o !=" + +-#: c/c-typeck.c:11541 c/c-typeck.c:11562 ++#: c/c-typeck.c:11546 c/c-typeck.c:11567 + #, gcc-internal-format + msgid "the comparison will always evaluate as % for the address of %qD will never be NULL" + msgstr "la comparación siempre se evalúa como % para la dirección de %qD que nunca será NULL" + +-#: c/c-typeck.c:11547 c/c-typeck.c:11568 ++#: c/c-typeck.c:11552 c/c-typeck.c:11573 + #, gcc-internal-format + msgid "the comparison will always evaluate as % for the address of %qD will never be NULL" + msgstr "la comparación siempre se evalúa como % para la dirección de %qD que nunca será NULL" + +-#: c/c-typeck.c:11589 c/c-typeck.c:11718 ++#: c/c-typeck.c:11594 c/c-typeck.c:11723 + #, gcc-internal-format + msgid "comparison of pointers to disjoint address spaces" + msgstr "la comparación de punteros a espacios de direcciones discontinuos" + +-#: c/c-typeck.c:11596 c/c-typeck.c:11602 ++#: c/c-typeck.c:11601 c/c-typeck.c:11607 + #, gcc-internal-format + msgid "ISO C forbids comparison of % with function pointer" + msgstr "ISO C prohíbe la comparación de % con un puntero de función" + +-#: c/c-typeck.c:11609 c/c-typeck.c:11728 ++#: c/c-typeck.c:11614 c/c-typeck.c:11733 + #, gcc-internal-format + msgid "comparison of distinct pointer types lacks a cast" + msgstr "la comparación de diferentes tipos de puntero carece de una conversión" + +-#: c/c-typeck.c:11621 c/c-typeck.c:11626 c/c-typeck.c:11754 c/c-typeck.c:11759 ++#: c/c-typeck.c:11626 c/c-typeck.c:11631 c/c-typeck.c:11759 c/c-typeck.c:11764 + #, gcc-internal-format + msgid "comparison between pointer and integer" + msgstr "comparación entre puntero y entero" + +-#: c/c-typeck.c:11706 ++#: c/c-typeck.c:11711 + #, gcc-internal-format + msgid "comparison of complete and incomplete pointers" + msgstr "comparación de punteros completos e incompletos" + +-#: c/c-typeck.c:11708 ++#: c/c-typeck.c:11713 + #, gcc-internal-format + msgid "ISO C forbids ordered comparisons of pointers to functions" + msgstr "ISO C prohíbe la comparación entre punteros a funciones" + +-#: c/c-typeck.c:11713 ++#: c/c-typeck.c:11718 + #, gcc-internal-format + msgid "ordered comparison of pointer with null pointer" + msgstr "comparación ordenada de puntero con un puntero nulo" + +-#: c/c-typeck.c:11736 c/c-typeck.c:11739 c/c-typeck.c:11746 c/c-typeck.c:11749 ++#: c/c-typeck.c:11741 c/c-typeck.c:11744 c/c-typeck.c:11751 c/c-typeck.c:11754 + #: cp/typeck.c:5081 cp/typeck.c:5088 + #, gcc-internal-format + msgid "ordered comparison of pointer with integer zero" + msgstr "comparación ordenada de puntero con el entero cero" + +-#: c/c-typeck.c:11811 ++#: c/c-typeck.c:11816 + #, gcc-internal-format + msgid "implicit conversion from %qT to %qT to match other operand of binary expression" + msgstr "conversión implícita de %qT a %qT para coincidir con otro operando de la expresión binaria" + +-#: c/c-typeck.c:12126 ++#: c/c-typeck.c:12131 + #, gcc-internal-format + msgid "used array that cannot be converted to pointer where scalar is required" + msgstr "se usa un valor de tipo matriz que no se puede cambiar a puntero cuando se requiere un escalar" + +-#: c/c-typeck.c:12130 ++#: c/c-typeck.c:12135 + #, gcc-internal-format + msgid "used struct type value where scalar is required" + msgstr "se usa un valor de tipo struct cuando se requiere un escalar" + +-#: c/c-typeck.c:12134 ++#: c/c-typeck.c:12139 + #, gcc-internal-format + msgid "used union type value where scalar is required" + msgstr "se usa un valor de tipo union cuando se requiere un escalar" + +-#: c/c-typeck.c:12150 ++#: c/c-typeck.c:12155 + #, gcc-internal-format + msgid "used vector type where scalar is required" + msgstr "se usa un tipo vector cuando se requiere un escalar" + +-#: c/c-typeck.c:12340 cp/semantics.c:8508 ++#: c/c-typeck.c:12345 cp/semantics.c:8511 + #, gcc-internal-format + msgid "%<#pragma omp cancel%> must specify one of %, %, % or % clauses" + msgstr "%<#pragma omp cancel%> debe especificar una de las cláusulas %, %, % o %" + +-#: c/c-typeck.c:12379 cp/semantics.c:8545 ++#: c/c-typeck.c:12384 cp/semantics.c:8548 + #, gcc-internal-format + msgid "%<#pragma omp cancellation point%> must specify one of %, %, % or % clauses" + msgstr "%<#pragma omp cancellation point%> debe especificar una de las cláusulas %, %, % o %" + +-#: c/c-typeck.c:12423 c/c-typeck.c:13581 c/c-typeck.c:13642 c/c-typeck.c:13704 ++#: c/c-typeck.c:12428 c/c-typeck.c:13586 c/c-typeck.c:13647 c/c-typeck.c:13709 + #, gcc-internal-format + msgid "%<_Atomic%> %qE in %qs clause" + msgstr "%<_Atomic%> %qE en cláusula %qs" + +-#: c/c-typeck.c:12436 c/c-typeck.c:13628 cp/semantics.c:4546 +-#: cp/semantics.c:6717 ++#: c/c-typeck.c:12441 c/c-typeck.c:13633 cp/semantics.c:4549 ++#: cp/semantics.c:6720 + #, gcc-internal-format + msgid "bit-field %qE in %qs clause" + msgstr "campo de bits %qE en cláusula %qs" + +-#: c/c-typeck.c:12445 c/c-typeck.c:13652 cp/semantics.c:4556 +-#: cp/semantics.c:6735 ++#: c/c-typeck.c:12450 c/c-typeck.c:13657 cp/semantics.c:4559 ++#: cp/semantics.c:6738 + #, gcc-internal-format + msgid "%qE is a member of a union" + msgstr "%qE no es un miembro de una unión" + +-#: c/c-typeck.c:12455 cp/semantics.c:4570 cp/semantics.c:6760 ++#: c/c-typeck.c:12460 cp/semantics.c:4573 cp/semantics.c:6763 + #, gcc-internal-format + msgid "%qD is not a variable in %qs clause" + msgstr "%qD no es una variable en la cláusula %qs" + +-#: c/c-typeck.c:12459 c/c-typeck.c:13669 cp/semantics.c:4574 +-#: cp/semantics.c:6763 ++#: c/c-typeck.c:12464 c/c-typeck.c:13674 cp/semantics.c:4577 ++#: cp/semantics.c:6766 + #, gcc-internal-format + msgid "%qE is not a variable in %qs clause" + msgstr "%qE no es una variable en la cláusula %qs" + +-#: c/c-typeck.c:12466 ++#: c/c-typeck.c:12471 + #, fuzzy, gcc-internal-format + #| msgid "%Htoo many %qs clauses" + msgid "%<_Atomic%> %qD in %qs clause" + msgstr "%Hdemasiadas cláusulas %qs" + +-#: c/c-typeck.c:12475 c/c-typeck.c:13676 c/c-typeck.c:13778 +-#: cp/semantics.c:4591 cp/semantics.c:6769 cp/semantics.c:6931 ++#: c/c-typeck.c:12480 c/c-typeck.c:13681 c/c-typeck.c:13783 ++#: cp/semantics.c:4594 cp/semantics.c:6772 cp/semantics.c:6934 + #, fuzzy, gcc-internal-format + #| msgid "%qD is not a variable in clause %qs" + msgid "%qD is threadprivate variable in %qs clause" + msgstr "%qD no es una variable en la cláusula %qs" + +-#: c/c-typeck.c:12511 cp/semantics.c:4623 ++#: c/c-typeck.c:12516 cp/semantics.c:4626 + #, fuzzy, gcc-internal-format + #| msgid "size in array new must have integral type" + msgid "low bound %qE of array section does not have integral type" + msgstr "el tamaño de la matriz nueva debe tener un tipo integral" + +-#: c/c-typeck.c:12518 cp/semantics.c:4630 ++#: c/c-typeck.c:12523 cp/semantics.c:4633 + #, gcc-internal-format + msgid "length %qE of array section does not have integral type" + msgstr "la longitud %qE de la sección de matriz no es de tipo integral" + +-#: c/c-typeck.c:12545 c/c-typeck.c:12609 c/c-typeck.c:12867 +-#: cp/semantics.c:4666 cp/semantics.c:4730 ++#: c/c-typeck.c:12550 c/c-typeck.c:12614 c/c-typeck.c:12872 ++#: cp/semantics.c:4669 cp/semantics.c:4733 + #, gcc-internal-format + msgid "zero length array section in %qs clause" + msgstr "sección de matriz de longitud cero en la cláusula %qs" + +-#: c/c-typeck.c:12564 cp/semantics.c:4685 ++#: c/c-typeck.c:12569 cp/semantics.c:4688 + #, gcc-internal-format + msgid "for unknown bound array type length expression must be specified" + msgstr "" + +-#: c/c-typeck.c:12572 cp/semantics.c:4693 ++#: c/c-typeck.c:12577 cp/semantics.c:4696 + #, gcc-internal-format + msgid "negative low bound in array section in %qs clause" +-msgstr "" ++msgstr "límite inferior negativo en sección de matriz en cláusula %qs" + +-#: c/c-typeck.c:12581 c/c-typeck.c:12691 cp/semantics.c:4702 +-#: cp/semantics.c:4812 +-#, fuzzy, gcc-internal-format +-#| msgid "variable length array is used" ++#: c/c-typeck.c:12586 c/c-typeck.c:12696 cp/semantics.c:4705 ++#: cp/semantics.c:4815 ++#, gcc-internal-format + msgid "negative length in array section in %qs clause" +-msgstr "se usó la matriz de longitud variable" ++msgstr "longitud negativa en sección de matriz en cláusula %qs" + +-#: c/c-typeck.c:12598 cp/semantics.c:4719 ++#: c/c-typeck.c:12603 cp/semantics.c:4722 + #, gcc-internal-format + msgid "low bound %qE above array section size in %qs clause" +-msgstr "" ++msgstr "límite inferior %qE por encima del tamaño de la sección de matriz en cláusula %qs" + +-#: c/c-typeck.c:12635 cp/semantics.c:4756 ++#: c/c-typeck.c:12640 cp/semantics.c:4759 + #, gcc-internal-format + msgid "length %qE above array section size in %qs clause" +-msgstr "" ++msgstr "longitud %qE por encima del tamaño de la sección de matriz en cláusula %qs" + +-#: c/c-typeck.c:12650 cp/semantics.c:4771 ++#: c/c-typeck.c:12655 cp/semantics.c:4774 + #, gcc-internal-format + msgid "high bound %qE above array section size in %qs clause" +-msgstr "" ++msgstr "límite superior %qE por encima del tamaño de la sección de matriz en cláusula %qs" + +-#: c/c-typeck.c:12683 cp/semantics.c:4804 ++#: c/c-typeck.c:12688 cp/semantics.c:4807 + #, fuzzy, gcc-internal-format + #| msgid "for increment expression has no effect" + msgid "for pointer type length expression must be specified" + msgstr "la expresión de incremento for no tiene efecto" + +-#: c/c-typeck.c:12701 c/c-typeck.c:12810 cp/semantics.c:4822 +-#: cp/semantics.c:4934 ++#: c/c-typeck.c:12706 c/c-typeck.c:12815 cp/semantics.c:4825 ++#: cp/semantics.c:4937 + #, gcc-internal-format + msgid "array section is not contiguous in %qs clause" + msgstr "la sección de matriz no es contigua en la cláusula %qs" + +-#: c/c-typeck.c:12709 cp/semantics.c:4830 ++#: c/c-typeck.c:12714 cp/semantics.c:4833 + #, gcc-internal-format + msgid "%qE does not have pointer or array type" + msgstr "%qE no es de tipo puntero o matriz" + +-#: c/c-typeck.c:13103 c/c-typeck.c:13113 ++#: c/c-typeck.c:13108 c/c-typeck.c:13118 + #, gcc-internal-format + msgid "%qD in % clause is a zero size array" + msgstr "%qD en la cláusula % es una matriz de tamaño cero" + +-#: c/c-typeck.c:13130 ++#: c/c-typeck.c:13135 + #, fuzzy, gcc-internal-format + #| msgid "ISO C forbids qualified function types" + msgid "%<_Atomic%> %qE in % clause" + msgstr "ISO C prohíbe los tipos de función calificados" + +-#: c/c-typeck.c:13178 ++#: c/c-typeck.c:13183 + #, gcc-internal-format + msgid "%qE has invalid type for %" + msgstr "%qE tiene tipo no válido para %" + +-#: c/c-typeck.c:13187 cp/semantics.c:5755 ++#: c/c-typeck.c:13192 cp/semantics.c:5758 + #, fuzzy, gcc-internal-format + #| msgid "No label definition found for %qs" + msgid "user defined reduction not found for %qE" + msgstr "No se encontró una definición de etiqueta para %qs" + +-#: c/c-typeck.c:13275 ++#: c/c-typeck.c:13280 + #, fuzzy, gcc-internal-format + #| msgid "variable length array is used" + msgid "variable length element type in array % clause" + msgstr "se usó la matriz de longitud variable" + +-#: c/c-typeck.c:13293 c/c-typeck.c:13836 cp/semantics.c:7249 ++#: c/c-typeck.c:13298 c/c-typeck.c:13841 cp/semantics.c:7252 + #, gcc-internal-format + msgid "% clause must not be used together with %" + msgstr "la cláusula % no debe utilizarse junto con %" + +-#: c/c-typeck.c:13305 cp/semantics.c:7289 ++#: c/c-typeck.c:13310 cp/semantics.c:7292 + #, gcc-internal-format + msgid "%qE must be % for %" + msgstr "%qE debe ser % para %" + +-#: c/c-typeck.c:13319 cp/semantics.c:5929 ++#: c/c-typeck.c:13324 cp/semantics.c:5932 + #, gcc-internal-format + msgid "modifier should not be specified in % clause on % or % constructs" + msgstr "" + +-#: c/c-typeck.c:13327 ++#: c/c-typeck.c:13332 + #, gcc-internal-format + msgid "linear clause applied to non-integral non-pointer variable with type %qT" + msgstr "cláusula lineal aplicada a variable no puntero no integral con tipo %qT" + +-#: c/c-typeck.c:13335 ++#: c/c-typeck.c:13340 + #, gcc-internal-format + msgid "%<_Atomic%> %qD in % clause" + msgstr "" + +-#: c/c-typeck.c:13354 cp/semantics.c:5999 ++#: c/c-typeck.c:13359 cp/semantics.c:6002 + #, gcc-internal-format + msgid "% clause step %qE is neither constant nor a parameter" +-msgstr "" ++msgstr "cláusula % paso %qE no es ni constante ni parámetro" + +-#: c/c-typeck.c:13384 c/c-typeck.c:13771 cp/semantics.c:6083 +-#: cp/semantics.c:6924 ++#: c/c-typeck.c:13389 c/c-typeck.c:13776 cp/semantics.c:6086 ++#: cp/semantics.c:6927 + #, gcc-internal-format + msgid "%qE is not a variable in clause %qs" + msgstr "%qE no es una variable en la cláusula %qs" + +-#: c/c-typeck.c:13393 cp/semantics.c:6092 ++#: c/c-typeck.c:13398 cp/semantics.c:6095 + #, gcc-internal-format + msgid "%qD appears more than once in reduction clauses" + msgstr "%qD aparece más de una vez en las cláusulas de reducción" + +-#: c/c-typeck.c:13404 c/c-typeck.c:13434 c/c-typeck.c:13463 ++#: c/c-typeck.c:13409 c/c-typeck.c:13439 c/c-typeck.c:13468 + #, gcc-internal-format + msgid "%qE appears more than once in data clauses" + msgstr "%qE aparece más de una vez en las cláusulas de datos" + +-#: c/c-typeck.c:13411 c/c-typeck.c:13440 c/c-typeck.c:13600 c/c-typeck.c:13714 +-#: c/c-typeck.c:13720 c/c-typeck.c:13733 c/c-typeck.c:13742 +-#: cp/semantics.c:6102 cp/semantics.c:6109 cp/semantics.c:6160 +-#: cp/semantics.c:6166 cp/semantics.c:6203 cp/semantics.c:6680 +-#: cp/semantics.c:6817 cp/semantics.c:6823 cp/semantics.c:6836 +-#: cp/semantics.c:6845 ++#: c/c-typeck.c:13416 c/c-typeck.c:13445 c/c-typeck.c:13605 c/c-typeck.c:13719 ++#: c/c-typeck.c:13725 c/c-typeck.c:13738 c/c-typeck.c:13747 ++#: cp/semantics.c:6105 cp/semantics.c:6112 cp/semantics.c:6163 ++#: cp/semantics.c:6169 cp/semantics.c:6206 cp/semantics.c:6683 ++#: cp/semantics.c:6820 cp/semantics.c:6826 cp/semantics.c:6839 ++#: cp/semantics.c:6848 + #, gcc-internal-format + msgid "%qD appears more than once in data clauses" + msgstr "%qD aparece más de una vez en las cláusulas de datos" + +-#: c/c-typeck.c:13413 c/c-typeck.c:13442 c/c-typeck.c:13722 c/c-typeck.c:13744 +-#: cp/semantics.c:6111 cp/semantics.c:6168 cp/semantics.c:6825 +-#: cp/semantics.c:6847 ++#: c/c-typeck.c:13418 c/c-typeck.c:13447 c/c-typeck.c:13727 c/c-typeck.c:13749 ++#: cp/semantics.c:6114 cp/semantics.c:6171 cp/semantics.c:6828 ++#: cp/semantics.c:6850 + #, fuzzy, gcc-internal-format + #| msgid "%qD appears more than once in data clauses" + msgid "%qD appears both in data and map clauses" + msgstr "%qD aparece más de una vez en las cláusulas de datos" + +-#: c/c-typeck.c:13427 cp/semantics.c:6154 ++#: c/c-typeck.c:13432 cp/semantics.c:6157 + #, gcc-internal-format + msgid "%qE is not a variable in clause %" + msgstr "%qE no es una variable en la cláusula %" + +-#: c/c-typeck.c:13456 cp/semantics.c:6197 ++#: c/c-typeck.c:13461 cp/semantics.c:6200 + #, gcc-internal-format + msgid "%qE is not a variable in clause %" + msgstr "%qE no es una variable en la cláusula %" + +-#: c/c-typeck.c:13475 cp/semantics.c:6545 ++#: c/c-typeck.c:13480 cp/semantics.c:6548 + #, gcc-internal-format + msgid "%qE is not a variable in % clause" + msgstr "%qE no es una variable en la cláusula %" + +-#: c/c-typeck.c:13482 ++#: c/c-typeck.c:13487 + #, gcc-internal-format + msgid "%qE in % clause is neither a pointer nor an array" + msgstr "%qE en la cláusula % no es un puntero ni una matriz" + +-#: c/c-typeck.c:13489 ++#: c/c-typeck.c:13494 + #, fuzzy, gcc-internal-format + #| msgid "%qD is not a variable in clause %qs" + msgid "%<_Atomic%> %qD in % clause" + msgstr "%qD no es una variable en la cláusula %qs" + +-#: c/c-typeck.c:13496 ++#: c/c-typeck.c:13501 + #, fuzzy, gcc-internal-format + #| msgid "%qE appears more than once in data clauses" + msgid "%qE appears more than once in % clauses" + msgstr "%qE aparece más de una vez en las cláusulas de datos" + +-#: c/c-typeck.c:13551 cp/semantics.c:6627 ++#: c/c-typeck.c:13556 cp/semantics.c:6630 + #, fuzzy, gcc-internal-format + #| msgid "%qE is not a variable in clause %qs" + msgid "%qE is not a variable in % clause" + msgstr "%qE no es una variable en la cláusula %qs" + +-#: c/c-typeck.c:13573 cp/semantics.c:6658 ++#: c/c-typeck.c:13578 cp/semantics.c:6661 + #, fuzzy, gcc-internal-format + #| msgid "Array section not permitted in '%s' call at %L" + msgid "array section does not have mappable type in %qs clause" + msgstr "No se permite una sección de matriz en la llamada '%s' en %L" + +-#: c/c-typeck.c:13597 c/c-typeck.c:13731 cp/semantics.c:6677 +-#: cp/semantics.c:6834 ++#: c/c-typeck.c:13602 c/c-typeck.c:13736 cp/semantics.c:6680 ++#: cp/semantics.c:6837 + #, fuzzy, gcc-internal-format + #| msgid "%qD appears more than once in data clauses" + msgid "%qD appears more than once in motion clauses" + msgstr "%qD aparece más de una vez en las cláusulas de datos" + +-#: c/c-typeck.c:13603 c/c-typeck.c:13735 cp/semantics.c:6683 +-#: cp/semantics.c:6838 ++#: c/c-typeck.c:13608 c/c-typeck.c:13740 cp/semantics.c:6686 ++#: cp/semantics.c:6841 + #, fuzzy, gcc-internal-format + #| msgid "%qD appears more than once in data clauses" + msgid "%qD appears more than once in map clauses" + msgstr "%qD aparece más de una vez en las cláusulas de datos" + +-#: c/c-typeck.c:13635 cp/semantics.c:6724 ++#: c/c-typeck.c:13640 cp/semantics.c:6727 + #, fuzzy, gcc-internal-format + #| msgid "%qE is not a variable in clause %qs" + msgid "%qE does not have a mappable type in %qs clause" + msgstr "%qE no es una variable en la cláusula %qs" + +-#: c/c-typeck.c:13695 c/c-typeck.c:13785 cp/semantics.c:6799 +-#: cp/semantics.c:6938 ++#: c/c-typeck.c:13700 c/c-typeck.c:13790 cp/semantics.c:6802 ++#: cp/semantics.c:6941 + #, fuzzy, gcc-internal-format + #| msgid "%qD is not a variable in clause %qs" + msgid "%qD does not have a mappable type in %qs clause" + msgstr "%qD no es una variable en la cláusula %qs" + +-#: c/c-typeck.c:13766 cp/semantics.c:6918 ++#: c/c-typeck.c:13771 cp/semantics.c:6921 + #, fuzzy, gcc-internal-format + #| msgid "%qE is not a variable in clause %qs" + msgid "%qE is neither a variable nor a function name in clause %qs" + msgstr "%qE no es una variable en la cláusula %qs" + +-#: c/c-typeck.c:13794 cp/semantics.c:6947 ++#: c/c-typeck.c:13799 cp/semantics.c:6950 + #, fuzzy, gcc-internal-format + #| msgid "%qE appears more than once in data clauses" + msgid "%qE appears more than once on the same % directive" + msgstr "%qE aparece más de una vez en las cláusulas de datos" + +-#: c/c-typeck.c:13808 cp/semantics.c:6962 ++#: c/c-typeck.c:13813 cp/semantics.c:6965 + #, fuzzy, gcc-internal-format + #| msgid "%qD is not a variable in clause %qs" + msgid "%qD is not an argument in % clause" + msgstr "%qD no es una variable en la cláusula %qs" + +-#: c/c-typeck.c:13811 cp/semantics.c:6964 ++#: c/c-typeck.c:13816 cp/semantics.c:6967 + #, fuzzy, gcc-internal-format + #| msgid "%qE is not a variable in clause %qs" + msgid "%qE is not an argument in % clause" + msgstr "%qE no es una variable en la cláusula %qs" + +-#: c/c-typeck.c:13826 ++#: c/c-typeck.c:13831 + #, gcc-internal-format + msgid "%qs variable is neither a pointer nor an array" + msgstr "la variable %qs no es un puntero ni una matriz" + +-#: c/c-typeck.c:13900 cp/semantics.c:6359 ++#: c/c-typeck.c:13905 cp/semantics.c:6362 + #, gcc-internal-format + msgid "% modifier specified for %qs schedule kind" + msgstr "" + +-#: c/c-typeck.c:13931 cp/semantics.c:7141 ++#: c/c-typeck.c:13936 cp/semantics.c:7144 + #, gcc-internal-format + msgid "% clause is incompatible with %" + msgstr "la cláusula % es incompatible con %" + +-#: c/c-typeck.c:13981 cp/semantics.c:7332 ++#: c/c-typeck.c:13986 cp/semantics.c:7335 + #, gcc-internal-format + msgid "%qE is predetermined %qs for %qs" + msgstr "%qE está predeterminado como %qs para %qs" + +-#: c/c-typeck.c:14001 cp/semantics.c:7223 ++#: c/c-typeck.c:14006 cp/semantics.c:7226 + #, gcc-internal-format + msgid "% clause value is bigger than % clause value" + msgstr "el valor de la cláusula % es mayor que el valor de la cláusula %" + +-#: c/c-typeck.c:14013 cp/semantics.c:7236 ++#: c/c-typeck.c:14018 cp/semantics.c:7239 + #, gcc-internal-format + msgid "% schedule modifier specified together with % clause" + msgstr "" + +-#: c/c-typeck.c:14031 cp/semantics.c:7203 ++#: c/c-typeck.c:14036 cp/semantics.c:7206 + #, gcc-internal-format + msgid "% clause step is a parameter %qD not specified in % clause" + msgstr "" + +-#: c/c-typeck.c:14204 ++#: c/c-typeck.c:14209 + #, gcc-internal-format + msgid "cannot use % with reverse storage order" + msgstr "no se puede utilizar % con orden de almacenamiento inverso" + +-#: c/c-typeck.c:14209 ++#: c/c-typeck.c:14214 + #, gcc-internal-format + msgid "second argument to % is of incomplete type %qT" + msgstr "el segundo argumento para % es del tipo incompleto %qT" + +-#: c/c-typeck.c:14215 ++#: c/c-typeck.c:14220 + #, gcc-internal-format + msgid "C++ requires promoted type, not enum type, in %" + msgstr "C++ requiere un tipo promovido, no un tipo enum, en %" +@@ -38042,7 +38076,7 @@ + msgid " no known conversion for argument %d from %qH to %qI" + msgstr " no hay una conversión conocida para el argumento %d de %qH a %qI" + +-#: cp/call.c:3441 cp/pt.c:6495 ++#: cp/call.c:3441 cp/pt.c:6509 + #, gcc-internal-format, gfc-internal-format + msgid " candidate expects %d argument, %d provided" + msgid_plural " candidate expects %d arguments, %d provided" +@@ -38129,10 +38163,8 @@ + msgstr "" + + #: cp/call.c:4101 +-#, fuzzy +-#| msgid "temporary of non-literal type %qT in a constant expression" + msgid "conversion from %qH to %qI in a converted constant expression" +-msgstr "temporal del tipo %qT que no es literal en una expresión constante" ++msgstr "conversión de %qH a %qI en una expresión constante convertida" + + #: cp/call.c:4238 + #, gcc-internal-format +@@ -38338,7 +38370,7 @@ + msgid "%q#D is private within this context" + msgstr "desde este contexto" + +-#: cp/call.c:6478 cp/decl.c:7343 ++#: cp/call.c:6478 cp/decl.c:7364 + #, fuzzy, gcc-internal-format + #| msgid "declared here" + msgid "declared private here" +@@ -38350,7 +38382,7 @@ + msgid "%q#D is protected within this context" + msgstr "desde este contexto" + +-#: cp/call.c:6486 cp/decl.c:7344 ++#: cp/call.c:6486 cp/decl.c:7365 + #, fuzzy, gcc-internal-format + #| msgid "declared here" + msgid "declared protected here" +@@ -38467,22 +38499,19 @@ + msgstr "" + + #: cp/call.c:7217 +-#, fuzzy, gcc-internal-format +-#| msgid "cannot pass objects of non-trivially-copyable type %q#T through %<...%>" ++#, gcc-internal-format + msgid "passing objects of non-trivially-copyable type %q#T through %<...%> is conditionally supported" +-msgstr "no se puede pasar objetos de tipo no-copiable-trivialmente q%#T a través de %<...%>" ++msgstr "el paso de objetos de tipo no-copiable-trivialmente %q#T a través de %<...%> se admite condicionalmente" + + #: cp/call.c:7253 +-#, fuzzy, gcc-internal-format +-#| msgid "cannot receive objects of non-trivially-copyable type %q#T through %<...%>; " ++#, gcc-internal-format + msgid "cannot receive reference type %qT through %<...%>" +-msgstr "no se puede recibir objetos de tipo no-copiable-trivialmente q%#T a través de %<...%>" ++msgstr "no se puede recibir el tipo de referencia %qT a través de %<...%>" + + #: cp/call.c:7263 +-#, fuzzy, gcc-internal-format +-#| msgid "cannot receive objects of non-trivially-copyable type %q#T through %<...%>; " ++#, gcc-internal-format + msgid "receiving objects of non-trivially-copyable type %q#T through %<...%> is conditionally-supported" +-msgstr "no se puede recibir objetos de tipo no-copiable-trivialmente q%#T a través de %<...%>" ++msgstr "la recepción de objetos de tipo no-copiable-trivialmente %q#T a través de %<...%> se admite condicionalmente" + + #: cp/call.c:7331 + #, gcc-internal-format +@@ -38684,7 +38713,7 @@ + msgid "call to non-function %qD" + msgstr "llamada a %qD que no es función" + +-#: cp/call.c:9119 cp/pt.c:15053 cp/typeck.c:2901 ++#: cp/call.c:9119 cp/pt.c:15075 cp/typeck.c:2901 + #, gcc-internal-format + msgid "cannot call constructor %<%T::%D%> directly" + msgstr "no se puede llamar directamente al constructor %<%T::%D%>" +@@ -38896,10 +38925,9 @@ + + #: cp/class.c:1325 cp/class.c:1331 cp/class.c:1337 cp/class.c:1348 + #: cp/cvt.c:1028 +-#, fuzzy, gcc-internal-format +-#| msgid "%qD declared here" ++#, gcc-internal-format + msgid "%qT declared here" +-msgstr "%qD se declara aquí" ++msgstr "%qT se declara aquí" + + #: cp/class.c:1329 + #, gcc-internal-format +@@ -38921,285 +38949,276 @@ + msgid "cannot derive from % base %qT in derived type %qT" + msgstr "no se puede derivar de la base % %qT al tipo derivado %qT" + +-#: cp/class.c:2098 ++#: cp/class.c:2103 + #, gcc-internal-format + msgid "all member functions in class %qT are private" + msgstr "todos las funciones miembros en la clase %qT son privadas" + +-#: cp/class.c:2110 ++#: cp/class.c:2115 + #, gcc-internal-format + msgid "%q#T only defines a private destructor and has no friends" + msgstr "%q#T solamente define un destructor privado y no tiene friends" + +-#: cp/class.c:2152 ++#: cp/class.c:2156 + #, gcc-internal-format + msgid "%q#T only defines private constructors and has no friends" + msgstr "%q#T solamente define constructores privados y no tiene friends" + +-#: cp/class.c:2156 ++#: cp/class.c:2160 + #, gcc-internal-format + msgid "%q#D is public, but requires an existing %q#T object" +-msgstr "" ++msgstr "%q#D es público, pero requiere que exista un objeto %q#T" + + # Ojo, no es impostor, sino impositor, el que impone. cfuga +-#: cp/class.c:2430 ++#: cp/class.c:2434 + #, gcc-internal-format + msgid "no unique final overrider for %qD in %qT" + msgstr "no hay un impositor único final para %qD en %qT" + +-#: cp/class.c:2785 ++#: cp/class.c:2789 + #, fuzzy, gcc-internal-format + #| msgid "%q+#D cannot be overloaded" + msgid "%qD can be marked override" + msgstr "no se puede sobrecargar %q+#D" + +-#: cp/class.c:2797 +-#, fuzzy, gcc-internal-format +-#| msgid "%q+#D marked final, but is not virtual" ++#: cp/class.c:2801 ++#, gcc-internal-format + msgid "%q+#D marked %, but is not virtual" +-msgstr "se marca %q+#D como final, pero no es virtual" ++msgstr "se marca %q+#D como %, pero no es virtual" + +-#: cp/class.c:2799 +-#, fuzzy, gcc-internal-format +-#| msgid "%q+#D marked override, but does not override" ++#: cp/class.c:2803 ++#, gcc-internal-format + msgid "%q+#D marked %, but does not override" +-msgstr "%q+#D se marca como override, pero no hace override" ++msgstr "%q+#D se marca como %, pero no hace override" + +-#: cp/class.c:2861 +-#, fuzzy, gcc-internal-format +-#| msgid "%q+D was hidden" ++#: cp/class.c:2865 ++#, gcc-internal-format + msgid "%qD was hidden" +-msgstr "%q+D estaba escondido" ++msgstr "%qD estaba oculto" + +-#: cp/class.c:2863 +-#, fuzzy, gcc-internal-format +-#| msgid " by %q+D" ++#: cp/class.c:2867 ++#, gcc-internal-format + msgid " by %qD" +-msgstr " por %q+D" ++msgstr " por %qD" + +-#: cp/class.c:2896 +-#, fuzzy, gcc-internal-format +-#| msgid "%q+#D invalid; an anonymous union can only have non-static data members" ++#: cp/class.c:2900 ++#, gcc-internal-format + msgid "%q#D invalid; an anonymous union may only have public non-static data members" +-msgstr "%q+#D no válido; un union anónimo sólo puede tener miembros con datos no estáticos" ++msgstr "%q#D no válido; una union anónima solo puede tener miembros con datos no estáticos públicos" + +-#: cp/class.c:2906 cp/name-lookup.c:3293 cp/parser.c:19720 +-#, fuzzy, gcc-internal-format +-#| msgid "-traditional is deprecated and may be removed" ++#: cp/class.c:2910 cp/name-lookup.c:3293 cp/parser.c:19717 ++#, gcc-internal-format + msgid "this flexibility is deprecated and will be removed" +-msgstr "-traditional es obsoleto y será eliminado" ++msgstr "esta flexibilidad es obsoleta y será eliminada" + +-#: cp/class.c:3097 ++#: cp/class.c:3101 + #, gcc-internal-format + msgid "the ellipsis in %qD is not inherited" + msgstr "" + +-#: cp/class.c:3213 ++#: cp/class.c:3217 + #, gcc-internal-format + msgid "bit-field %q+#D with non-integral type" + msgstr "campo de bits %q+#D con tipo no entero" + +-#: cp/class.c:3229 ++#: cp/class.c:3233 + #, gcc-internal-format + msgid "bit-field %q+D width not an integer constant" + msgstr "la anchura del campo de bits %q+D no es una constante entera" + +-#: cp/class.c:3234 ++#: cp/class.c:3238 + #, gcc-internal-format + msgid "negative width in bit-field %q+D" + msgstr "anchura negativa en el campo de bits %q+D" + +-#: cp/class.c:3239 ++#: cp/class.c:3243 + #, gcc-internal-format + msgid "zero width for bit-field %q+D" + msgstr "anchura cero para el campo de bits %q+D" + +-#: cp/class.c:3249 ++#: cp/class.c:3253 + #, fuzzy, gcc-internal-format + #| msgid "width of %q+D exceeds its type" + msgid "width of %qD exceeds its type" + msgstr "la anchura de %q+D excede su tipo" + +-#: cp/class.c:3255 ++#: cp/class.c:3259 + #, fuzzy, gcc-internal-format + #| msgid "%q+D is too small to hold all values of %q#T" + msgid "%qD is too small to hold all values of %q#T" + msgstr "%q+D es demasiado pequeño para contener todos los valores de %q#T" + +-#: cp/class.c:3316 ++#: cp/class.c:3320 + #, gcc-internal-format + msgid "member %q+#D with constructor not allowed in union" + msgstr "no se permite el miembro %q+#D con constructor en la union" + +-#: cp/class.c:3319 ++#: cp/class.c:3323 + #, gcc-internal-format + msgid "member %q+#D with destructor not allowed in union" + msgstr "no se permite el miembro %q+#D con destructor en la union" + +-#: cp/class.c:3321 ++#: cp/class.c:3325 + #, gcc-internal-format + msgid "member %q+#D with copy assignment operator not allowed in union" + msgstr "no se permite el miembro %q+#D con operador de asignación de copia en la union" + +-#: cp/class.c:3325 ++#: cp/class.c:3329 + #, gcc-internal-format + msgid "unrestricted unions only available with -std=c++11 or -std=gnu++11" + msgstr "las uniones sin restricción sólo están disponibles con -std=c++11 o -std=gnu++11" + +-#: cp/class.c:3453 ++#: cp/class.c:3457 + #, fuzzy, gcc-internal-format + #| msgid "%q+D may not be static because it is a member of a union" + msgid "in C++98 %q+D may not be static because it is a member of a union" + msgstr "%q+D no debe ser static porque es el miembro de una unión" + +-#: cp/class.c:3460 ++#: cp/class.c:3464 + #, fuzzy, gcc-internal-format + #| msgid "non-static data member %qD has Java class type" + msgid "non-static data member %q+D in a union may not have reference type %qT" + msgstr "el dato miembro que no es estático %qD tiene un tipo de clase Java" + +-#: cp/class.c:3470 ++#: cp/class.c:3474 + #, gcc-internal-format + msgid "field %q+D invalidly declared function type" + msgstr "el campo %q+D no válidamente se declara como un tipo de función" + +-#: cp/class.c:3476 ++#: cp/class.c:3480 + #, gcc-internal-format + msgid "field %q+D invalidly declared method type" + msgstr "el campo %q+D no válidamente se declara como un tipo de método" + +-#: cp/class.c:3536 ++#: cp/class.c:3540 + #, fuzzy, gcc-internal-format + #| msgid "ignoring packed attribute because of unpacked non-POD field %q+#D" + msgid "ignoring packed attribute because of unpacked non-POD field %q#D" + msgstr "se descartan los atributos packed por el campo %q+#D sin empacar que no es POD" + +-#: cp/class.c:3585 ++#: cp/class.c:3589 + #, fuzzy, gcc-internal-format + #| msgid "non-member %qs cannot be declared %" + msgid "member %q+D cannot be declared both % and %" + msgstr "el no-miembro %qs no se puede declarar %" + +-#: cp/class.c:3591 ++#: cp/class.c:3595 + #, fuzzy, gcc-internal-format + #| msgid "non-member %qs cannot be declared %" + msgid "member %q+D cannot be declared as a % reference" + msgstr "el no-miembro %qs no se puede declarar %" + +-#: cp/class.c:3617 ++#: cp/class.c:3621 + #, gcc-internal-format + msgid "multiple fields in union %qT initialized" + msgstr "múltiples campos inicializados en la unión %qT" + +-#: cp/class.c:3658 ++#: cp/class.c:3662 + #, fuzzy, gcc-internal-format + #| msgid "field %q+#D with same name as class" + msgid "field %q#D with same name as class" + msgstr "campo %q+#D con el mismo nombre que la clase" + +-#: cp/class.c:3681 ++#: cp/class.c:3685 + #, gcc-internal-format + msgid "%q#T has pointer data members" + msgstr "%q#T tiene miembros punteros a datos" + +-#: cp/class.c:3686 ++#: cp/class.c:3690 + #, gcc-internal-format + msgid " but does not override %<%T(const %T&)%>" + msgstr " pero no se impone a %<%T(const %T&)%>" + +-#: cp/class.c:3688 ++#: cp/class.c:3692 + #, gcc-internal-format + msgid " or %" + msgstr " o a %" + +-#: cp/class.c:3692 ++#: cp/class.c:3696 + #, gcc-internal-format + msgid " but does not override %" + msgstr " pero no se impone a %" + +-#: cp/class.c:4097 ++#: cp/class.c:4101 + #, gcc-internal-format + msgid "alignment of %qD increased in -fabi-version=9 (GCC 5.2)" +-msgstr "" ++msgstr "el alineamiento de %qD se ha incrementado en -fabi-version=9 (GCC 5.2)" + +-#: cp/class.c:4100 +-#, fuzzy, gcc-internal-format +-#| msgid "alignment of %qD is bigger than original declaration" ++#: cp/class.c:4104 ++#, gcc-internal-format + msgid "alignment of %qD will increase in -fabi-version=9" +-msgstr "la alineación de %qD es más grande que la declaración original" ++msgstr "la alineación de %qD aumentará en -fabi-version=9" + +-#: cp/class.c:4378 ++#: cp/class.c:4382 + #, gcc-internal-format + msgid "initializer specified for non-virtual method %q+D" + msgstr "se especificó un inicializador para el método %q+D que no es virtual" + +-#: cp/class.c:4813 ++#: cp/class.c:4817 + #, gcc-internal-format + msgid "method overrides both % and %qE methods" + msgstr "el método anula tanto % como los métodos %qE" + +-#: cp/class.c:4834 ++#: cp/class.c:4838 + #, gcc-internal-format + msgid "method declared %qE overriding %qE method" + msgstr "el método declarado como %qE anula el método %qE" + +-#: cp/class.c:5350 cp/constexpr.c:237 +-#, fuzzy, gcc-internal-format +-#| msgid "enclosing class of constexpr non-static member function %q+#D is not a literal type" ++#: cp/class.c:5367 cp/constexpr.c:237 ++#, gcc-internal-format + msgid "enclosing class of % non-static member function %q+#D is not a literal type" +-msgstr "la clase envolvente de la función miembro que no es estática constexpr %q+#D no es un tipo literal" ++msgstr "la clase envolvente de la función miembro que no es estática % %q+#D no es un tipo literal" + +-#: cp/class.c:5374 ++#: cp/class.c:5391 + #, gcc-internal-format + msgid "%q+T is not literal because:" + msgstr "%q+T no es literal porque:" + +-#: cp/class.c:5377 ++#: cp/class.c:5394 + #, gcc-internal-format + msgid " %qT is a closure type, which is only literal in C++17 and later" + msgstr "" + +-#: cp/class.c:5380 ++#: cp/class.c:5397 + #, gcc-internal-format + msgid " %q+T has a non-trivial destructor" + msgstr " %q+T tiene un destructor que no es trivial" + +-#: cp/class.c:5387 +-#, fuzzy, gcc-internal-format +-#| msgid " %q+T is not an aggregate, does not have a trivial default constructor, and has no constexpr constructor that is not a copy or move constructor" ++#: cp/class.c:5404 ++#, gcc-internal-format + msgid " %q+T is not an aggregate, does not have a trivial default constructor, and has no % constructor that is not a copy or move constructor" +-msgstr " %q+T no es un agregado, no tiene un constructor trivial por defecto y no tiene un constructor constexpr que no es un constructor copy o move" ++msgstr " %q+T no es un agregado, no tiene un constructor trivial por defecto y no tiene un constructor % que no es un constructor copy o move" + +-#: cp/class.c:5420 ++#: cp/class.c:5437 + #, gcc-internal-format + msgid " base class %qT of %q+T is non-literal" + msgstr " la clase base %qT de %q+T no es literal" + +-#: cp/class.c:5435 ++#: cp/class.c:5452 + #, fuzzy, gcc-internal-format + #| msgid " non-static data member %q+D has non-literal type" + msgid " non-static data member %qD has non-literal type" + msgstr " el dato miembro que no es estático %q+D tiene un tipo que no es literal" + +-#: cp/class.c:5442 ++#: cp/class.c:5459 + #, fuzzy, gcc-internal-format + #| msgid " non-static data member %q+D has non-literal type" + msgid " non-static data member %qD has volatile type" + msgstr " el dato miembro que no es estático %q+D tiene un tipo que no es literal" + +-#: cp/class.c:5561 ++#: cp/class.c:5578 + #, fuzzy, gcc-internal-format + #| msgid "base class %q#T has a non-virtual destructor" + msgid "base class %q#T has accessible non-virtual destructor" + msgstr "la clase base %q#T tiene un destructor no virtual" + +-#: cp/class.c:5590 ++#: cp/class.c:5607 + #, fuzzy, gcc-internal-format + #| msgid "non-static reference %q+#D in class without a constructor" + msgid "non-static reference %q#D in class without a constructor" + msgstr "referencia %q+#D que no es static en una clase sin un constructor" + +-#: cp/class.c:5596 ++#: cp/class.c:5613 + #, fuzzy, gcc-internal-format + #| msgid "non-static const member %q+#D in class without a constructor" + msgid "non-static const member %q#D in class without a constructor" +@@ -39207,165 +39226,164 @@ + + #. If the function is defaulted outside the class, we just + #. give the synthesis error. +-#: cp/class.c:5624 ++#: cp/class.c:5641 + #, gcc-internal-format + msgid "%q+D declared to take const reference, but implicit declaration would take non-const" + msgstr "se declaró %q+D para tomar referencia const, pero la declaración implícita tomaría algo que no es const" + +-#: cp/class.c:5898 ++#: cp/class.c:5915 + #, gcc-internal-format + msgid "direct base %qT inaccessible in %qT due to ambiguity" + msgstr "base directa %qT inaccesible en %qT debido a ambigüedad" + +-#: cp/class.c:5910 ++#: cp/class.c:5927 + #, gcc-internal-format + msgid "virtual base %qT inaccessible in %qT due to ambiguity" + msgstr "base virtual %qT inaccesible en %qT debido a ambigüedad" + +-#: cp/class.c:6133 ++#: cp/class.c:6150 + #, fuzzy, gcc-internal-format + #| msgid "offset of %q+D is not ABI-compliant and may change in a future version of GCC" + msgid "offset of %qD is not ABI-compliant and may change in a future version of GCC" + msgstr "el desplazamiento de %q+D no cumple con la ABI y puede cambiar en una versión futura de GCC" + +-#: cp/class.c:6291 ++#: cp/class.c:6308 + #, fuzzy, gcc-internal-format + #| msgid "size of array %qE is too large" + msgid "size of type %qT is too large (%qE bytes)" + msgstr "el tamaño de la matriz %qE es demasiado grande" + +-#: cp/class.c:6576 ++#: cp/class.c:6593 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of %<...%> with non-slice" + msgid "invalid use of %q#T with a zero-size array in %q#D" + msgstr "uso no válido de %<...%> con algo que no es rebanada" + +-#: cp/class.c:6578 ++#: cp/class.c:6595 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of structure with flexible array member" + msgid "invalid use of %q#T with a flexible array member in %q#T" + msgstr "uso no válido de una estructura con un miembro de matriz flexible" + +-#: cp/class.c:6583 ++#: cp/class.c:6600 + #, fuzzy, gcc-internal-format + #| msgid " %q+#D declared here" + msgid "array member %q#D declared here" + msgstr " %q+#D se declaró aquí" + +-#: cp/class.c:6610 ++#: cp/class.c:6627 + #, fuzzy, gcc-internal-format + #| msgid "flexible array member not at end of struct" + msgid "zero-size array member %qD not at end of %q#T" + msgstr "el miembro de matriz flexible no está al final del struct" + +-#: cp/class.c:6612 ++#: cp/class.c:6629 + #, fuzzy, gcc-internal-format + #| msgid "flexible array member in otherwise empty struct" + msgid "zero-size array member %qD in an otherwise empty %q#T" + msgstr "el miembro de matriz flexible sería de otra manera un struct vacío" + +-#: cp/class.c:6620 cp/class.c:6650 ++#: cp/class.c:6637 cp/class.c:6667 + #, fuzzy, gcc-internal-format + #| msgid "redefinition of %q#T" + msgid "in the definition of %q#T" + msgstr "redefinición de %q#T" + +-#: cp/class.c:6628 ++#: cp/class.c:6645 + #, fuzzy, gcc-internal-format + #| msgid "flexible array member not at end of struct" + msgid "flexible array member %qD not at end of %q#T" + msgstr "el miembro de matriz flexible no está al final del struct" + +-#: cp/class.c:6630 ++#: cp/class.c:6647 + #, fuzzy, gcc-internal-format + #| msgid "flexible array member in otherwise empty struct" + msgid "flexible array member %qD in an otherwise empty %q#T" + msgstr "el miembro de matriz flexible sería de otra manera un struct vacío" + +-#: cp/class.c:6648 ++#: cp/class.c:6665 + #, fuzzy, gcc-internal-format + #| msgid " %q+#D declared here" + msgid "next member %q#D declared here" + msgstr " %q+#D se declaró aquí" + +-#: cp/class.c:6760 cp/parser.c:23239 ++#: cp/class.c:6777 cp/parser.c:23236 + #, gcc-internal-format + msgid "redefinition of %q#T" + msgstr "redefinición de %q#T" + +-#: cp/class.c:6897 ++#: cp/class.c:6914 + #, gcc-internal-format + msgid "%q#T has virtual functions and accessible non-virtual destructor" + msgstr "%q#T tiene funciones virtuales y destructor no virtual accesible" + +-#: cp/class.c:6925 ++#: cp/class.c:6942 + #, fuzzy, gcc-internal-format + #| msgid "type transparent class %qT does not have any fields" + msgid "type transparent %q#T does not have any fields" + msgstr "la clase transparente tipo %qT no tiene ningún campo" + +-#: cp/class.c:6931 ++#: cp/class.c:6948 + #, gcc-internal-format + msgid "type transparent class %qT has base classes" + msgstr "la clase transparente tipo %qT tiene clases base" + +-#: cp/class.c:6935 ++#: cp/class.c:6952 + #, gcc-internal-format + msgid "type transparent class %qT has virtual functions" + msgstr "la clase transparente tipo %qT tiene funciones virtuales" + +-#: cp/class.c:6941 ++#: cp/class.c:6958 + #, gcc-internal-format + msgid "type transparent %q#T cannot be made transparent because the type of the first field has a different ABI from the class overall" + msgstr "" + +-#: cp/class.c:7071 +-#, fuzzy, gcc-internal-format +-#| msgid "deducing from brace-enclosed initializer list requires #include " ++#: cp/class.c:7088 ++#, gcc-internal-format + msgid "definition of %qD does not match %<#include %>" +-msgstr "la deducción de una lista inicializadora encerrada entre llaves requiere #include " ++msgstr "la definición de %qD no coincide con %<#include %>" + +-#: cp/class.c:7082 ++#: cp/class.c:7099 + #, gcc-internal-format + msgid "trying to finish struct, but kicked out due to previous parse errors" + msgstr "se trató de terminar struct, pero fue sacado debido a errores previos de decodificación" + +-#: cp/class.c:7582 ++#: cp/class.c:7599 + #, gcc-internal-format + msgid "language string %<\"%E\"%> not recognized" + msgstr "no se reconoce la cadena de lenguaje %<\"%E\"%>" + +-#: cp/class.c:7672 ++#: cp/class.c:7689 + #, gcc-internal-format + msgid "cannot resolve overloaded function %qD based on conversion to type %qT" + msgstr "no se puede resolver la función sobrecargada %qD basándose en la conversión al tipo %qT" + +-#: cp/class.c:7817 ++#: cp/class.c:7834 + #, gcc-internal-format + msgid "no matches converting function %qD to type %q#T" + msgstr "no hay coincidencias al convertir la función %qD al tipo %q#T" + +-#: cp/class.c:7844 ++#: cp/class.c:7861 + #, gcc-internal-format + msgid "converting overloaded function %qD to type %q#T is ambiguous" + msgstr "la conversión de la función sobrecargada %qD al tipo %q#T es ambigua" + +-#: cp/class.c:7870 ++#: cp/class.c:7887 + #, gcc-internal-format + msgid "assuming pointer to member %qD" + msgstr "asumiendo el puntero a miembro %qD" + +-#: cp/class.c:7873 ++#: cp/class.c:7890 + #, gcc-internal-format + msgid "(a pointer to member can only be formed with %<&%E%>)" + msgstr "(un puntero a miembro solamente se puede formar con %<&%E%>)" + +-#: cp/class.c:7948 cp/class.c:7990 ++#: cp/class.c:7965 cp/class.c:8007 + #, gcc-internal-format + msgid "not enough type information" + msgstr "no hay suficiente información de tipo" + +-#: cp/class.c:7968 ++#: cp/class.c:7985 + #, gcc-internal-format + msgid "cannot convert %qE from type %qT to type %qT" + msgstr "no se puede convertir %qE desde el tipo %qT al tipo %qT" +@@ -39375,28 +39393,25 @@ + #. A name N used in a class S shall refer to the same declaration + #. in its context and when re-evaluated in the completed scope of + #. S. +-#: cp/class.c:8235 ++#: cp/class.c:8252 + #, gcc-internal-format + msgid "declaration of %q#D" + msgstr "la declaración de %q#D" + +-#: cp/class.c:8237 +-#, fuzzy, gcc-internal-format +-#| msgid "changes meaning of %qD from %q+#D" ++#: cp/class.c:8254 ++#, gcc-internal-format + msgid "changes meaning of %qD from %q#D" +-msgstr "cambia el significado de %qD a partir de %q+#D" ++msgstr "cambia el significado de %qD a partir de %q#D" + + #: cp/constexpr.c:98 +-#, fuzzy, gcc-internal-format +-#| msgid "the type %qT of constexpr variable %qD is not literal" ++#, gcc-internal-format + msgid "the type %qT of % variable %qD is not literal" +-msgstr "el tipo %qT de variable constexpr %qD no es literal" ++msgstr "el tipo %qT de variable % %qD no es literal" + + #: cp/constexpr.c:107 +-#, fuzzy, gcc-internal-format +-#| msgid "temporary of non-literal type %qT in a constant expression" ++#, gcc-internal-format + msgid "variable %qD of non-literal type %qT in % function" +-msgstr "temporal del tipo %qT que no es literal en una expresión constante" ++msgstr "la variable %qD del tipo %qT que no es literal en una función %" + + #: cp/constexpr.c:118 + #, fuzzy, gcc-internal-format +@@ -39405,16 +39420,14 @@ + msgstr "el parámetro puede no tener el tipo modificado variablemente %qT" + + #: cp/constexpr.c:189 +-#, fuzzy, gcc-internal-format +-#| msgid "defaulted constructor calls non-constexpr %q+D" ++#, gcc-internal-format + msgid "inherited constructor %qD is not %" +-msgstr "un constructor por defecto llama a %q+D que no es constexpr" ++msgstr "el constructor heredado %qD no es %" + + #: cp/constexpr.c:201 +-#, fuzzy, gcc-internal-format +-#| msgid "invalid type for parameter %d of constexpr function %q+#D" ++#, gcc-internal-format + msgid "invalid type for parameter %d of % function %q+#D" +-msgstr "tipo no válido del parámetro %d en la función constexpr %q+#D" ++msgstr "tipo no válido del parámetro %d en la función % %q+#D" + + #: cp/constexpr.c:213 + #, gcc-internal-format +@@ -39820,17 +39833,17 @@ + msgid "unexpected AST of kind %s" + msgstr "AST inesperado de género %s" + +-#: cp/cp-gimplify.c:1415 ++#: cp/cp-gimplify.c:1416 + #, gcc-internal-format + msgid "throw will always call terminate()" + msgstr "" + +-#: cp/cp-gimplify.c:1418 ++#: cp/cp-gimplify.c:1419 + #, gcc-internal-format + msgid "in C++11 destructors default to noexcept" + msgstr "" + +-#: cp/cp-gimplify.c:1429 ++#: cp/cp-gimplify.c:1430 + #, gcc-internal-format + msgid "in C++11 this throw will terminate because destructors default to noexcept" + msgstr "" +@@ -40257,7 +40270,7 @@ + msgid "redeclaration %qD differs in % from previous declaration" + msgstr "la redeclaración de %qD difiere en %" + +-#: cp/decl.c:1304 cp/decl.c:13843 ++#: cp/decl.c:1304 cp/decl.c:13867 + #, fuzzy, gcc-internal-format + #| msgid "previous declaration %q+#D" + msgid "previous declaration %qD" +@@ -40617,7 +40630,7 @@ + msgid " enters OpenMP structured block" + msgstr " entra al bloque estructurado OpenMP" + +-#: cp/decl.c:3434 cp/parser.c:12366 cp/parser.c:12387 ++#: cp/decl.c:3434 cp/parser.c:12363 cp/parser.c:12384 + #, gcc-internal-format + msgid "invalid exit from OpenMP structured block" + msgstr "salida no válida de un bloque estructurado OpenMP" +@@ -40627,7 +40640,7 @@ + msgid "%qD is not a type" + msgstr "%qD no es un tipo" + +-#: cp/decl.c:3838 cp/parser.c:6366 ++#: cp/decl.c:3838 cp/parser.c:6369 + #, gcc-internal-format + msgid "%qD used without template parameters" + msgstr "se usa %qD sin parámetros de plantilla" +@@ -41028,8 +41041,8 @@ + msgid "C99 designator %qE outside aggregate initializer" + msgstr "asignador C99 %qE fuera del inicializador agregado" + +-#: cp/decl.c:6011 cp/decl.c:6234 cp/typeck2.c:1310 cp/typeck2.c:1590 +-#: cp/typeck2.c:1638 cp/typeck2.c:1685 ++#: cp/decl.c:6011 cp/decl.c:6234 cp/typeck2.c:1310 cp/typeck2.c:1593 ++#: cp/typeck2.c:1641 cp/typeck2.c:1688 + #, gcc-internal-format + msgid "too many initializers for %qT" + msgstr "demasiados inicializadores para %qT" +@@ -41106,13 +41119,13 @@ + msgid "assignment (not initialization) in declaration" + msgstr "asignación (no inicialización) en la declaración" + +-#: cp/decl.c:6873 cp/decl.c:12605 ++#: cp/decl.c:6873 cp/decl.c:12629 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ does not allow designated initializers" + msgid "ISO C++17 does not allow % storage class specifier" + msgstr "ISO C++ no permite inicializadores designados" + +-#: cp/decl.c:6877 cp/decl.c:12609 ++#: cp/decl.c:6877 cp/decl.c:12633 + #, fuzzy, gcc-internal-format + #| msgid "storage class specified for %qs" + msgid "% storage class specifier used" +@@ -41140,46 +41153,46 @@ + msgid "function %q#D is initialized like a variable" + msgstr "la función %q#D se inicializa como una variable" + +-#: cp/decl.c:7329 ++#: cp/decl.c:7350 + #, fuzzy, gcc-internal-format + #| msgid " cannot use obsolete binding at %q+D because it has a destructor" + msgid "cannot decompose class type %qT because it has an anonymous struct member" + msgstr " no se puede usar la asignación obsoleta en %q+D porque tiene un destructor" + +-#: cp/decl.c:7332 ++#: cp/decl.c:7353 + #, gcc-internal-format + msgid "cannot decompose class type %qT because it has an anonymous union member" + msgstr "" + +-#: cp/decl.c:7339 ++#: cp/decl.c:7360 + #, fuzzy, gcc-internal-format + #| msgid "cannot form pointer to member of non-class %q#T" + msgid "cannot decompose inaccessible member %qD of %qT" + msgstr "no se puede formar un puntero al miembro de %q#T que no es clase" + +-#: cp/decl.c:7365 ++#: cp/decl.c:7386 + #, gcc-internal-format + msgid "cannot decompose class type %qT: both it and its base class %qT have non-static data members" + msgstr "" + +-#: cp/decl.c:7374 ++#: cp/decl.c:7395 + #, gcc-internal-format + msgid "cannot decompose class type %qT: its base classes %qT and %qT have non-static data members" + msgstr "" + +-#: cp/decl.c:7592 ++#: cp/decl.c:7613 + #, fuzzy, gcc-internal-format + #| msgid "dereferencing pointer to incomplete type" + msgid "structured binding refers to incomplete type %qT" + msgstr "puntero deferenciado a tipo de dato incompleto" + +-#: cp/decl.c:7608 ++#: cp/decl.c:7629 + #, fuzzy, gcc-internal-format + #| msgid "ISO C90 forbids variable length array %qE" + msgid "cannot decompose variable length array %qT" + msgstr "ISO C90 prohíbe la matriz de longitud variable %qE" + +-#: cp/decl.c:7617 cp/decl.c:7702 ++#: cp/decl.c:7638 cp/decl.c:7723 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%qs specified for structure field" + msgid "%u name provided for structured binding" +@@ -41187,7 +41200,7 @@ + msgstr[0] "se especificó %qs para el campo de estructura" + msgstr[1] "se especificó %qs para el campo de estructura" + +-#: cp/decl.c:7621 ++#: cp/decl.c:7642 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "invalid initializer for bit string" + msgid "only %u name provided for structured binding" +@@ -41195,7 +41208,7 @@ + msgstr[0] "inicializador no válido para la cadena de bits" + msgstr[1] "inicializador no válido para la cadena de bits" + +-#: cp/decl.c:7624 ++#: cp/decl.c:7645 + #, gcc-internal-format + msgid "while %qT decomposes into %wu element" + msgid_plural "while %qT decomposes into %wu elements" +@@ -41202,264 +41215,264 @@ + msgstr[0] "" + msgstr[1] "" + +-#: cp/decl.c:7669 ++#: cp/decl.c:7690 + #, fuzzy, gcc-internal-format + #| msgid "ISO C90 forbids variable length array %qE" + msgid "cannot decompose variable length vector %qT" + msgstr "ISO C90 prohíbe la matriz de longitud variable %qE" + +-#: cp/decl.c:7695 ++#: cp/decl.c:7716 + #, fuzzy, gcc-internal-format + #| msgid "size of array is not an integral constant-expression" + msgid "%::value%> is not an integral constant expression" + msgstr "el tamaño de la matriz no es una expresion constante integral" + +-#: cp/decl.c:7704 ++#: cp/decl.c:7725 + #, gcc-internal-format + msgid "while %qT decomposes into %E elements" + msgstr "" + +-#: cp/decl.c:7725 ++#: cp/decl.c:7746 + #, fuzzy, gcc-internal-format + #| msgid "invalid type for iteration variable %qE" + msgid "in initialization of structured binding variable %qD" + msgstr "tipo no válido para la variable de iteración %qE" + +-#: cp/decl.c:7751 ++#: cp/decl.c:7772 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare pointer to qualified function type %qT" + msgid "cannot decompose union type %qT" + msgstr "no se puede declarar el puntero para el tipo de función calificado %qT" + +-#: cp/decl.c:7756 ++#: cp/decl.c:7777 + #, fuzzy, gcc-internal-format + #| msgid "creating pointer to member of non-class type %qT" + msgid "cannot decompose non-array non-class type %qT" + msgstr "se crea un puntero al miembro del tipo %qT que no es clase" + +-#: cp/decl.c:7761 ++#: cp/decl.c:7782 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare pointer to qualified function type %qT" + msgid "cannot decompose lambda closure type %qT" + msgstr "no se puede declarar el puntero para el tipo de función calificado %qT" + +-#: cp/decl.c:7765 ++#: cp/decl.c:7786 + #, fuzzy, gcc-internal-format + #| msgid "dereferencing pointer to incomplete type" + msgid "structured binding refers to incomplete class type %qT" + msgstr "puntero deferenciado a tipo de dato incompleto" + +-#: cp/decl.c:7774 ++#: cp/decl.c:7795 + #, fuzzy, gcc-internal-format + #| msgid "cannot apply % to static data member %qD" + msgid "cannot decompose class type %qT without non-static data members" + msgstr "no se puede aplicar % al dato miembro static %qD" + +-#: cp/decl.c:8213 ++#: cp/decl.c:8234 + #, gcc-internal-format + msgid "non-local variable %qD declared %<__thread%> needs dynamic initialization" + msgstr "" + +-#: cp/decl.c:8216 ++#: cp/decl.c:8237 + #, fuzzy, gcc-internal-format + #| msgid " %q+T has a non-trivial destructor" + msgid "non-local variable %qD declared %<__thread%> has a non-trivial destructor" + msgstr " %q+T tiene un destructor que no es trivial" + +-#: cp/decl.c:8222 ++#: cp/decl.c:8243 + #, gcc-internal-format + msgid "C++11 % allows dynamic initialization and destruction" + msgstr "" + +-#: cp/decl.c:8450 ++#: cp/decl.c:8471 + #, gcc-internal-format + msgid "initializer fails to determine size of %qT" + msgstr "el inicializador no puede determinar el tamaño de %qT" + +-#: cp/decl.c:8454 ++#: cp/decl.c:8475 + #, gcc-internal-format + msgid "array size missing in %qT" + msgstr "falta el tamaño de la matriz en %qT" + +-#: cp/decl.c:8457 ++#: cp/decl.c:8478 + #, gcc-internal-format + msgid "zero-size array %qT" + msgstr "matriz %qT de tamaño cero" + +-#: cp/decl.c:8473 ++#: cp/decl.c:8494 + #, gcc-internal-format + msgid "destructor for alien class %qT cannot be a member" + msgstr "el destructor para la clase extranjera %qT no puede ser un miembro" + +-#: cp/decl.c:8475 ++#: cp/decl.c:8496 + #, gcc-internal-format + msgid "constructor for alien class %qT cannot be a member" + msgstr "el constructor para la clase extranjera %qT no puede ser un miembro" + +-#: cp/decl.c:8499 ++#: cp/decl.c:8520 + #, gcc-internal-format + msgid "%qD declared as a % variable" + msgstr "%qD se declaró como una variable %" + +-#: cp/decl.c:8501 ++#: cp/decl.c:8522 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in variable declaration" + msgstr "los especificadores de función % y % en %qD son no válidos en la declaración de variable" + +-#: cp/decl.c:8506 ++#: cp/decl.c:8527 + #, gcc-internal-format + msgid "%qD declared as a % parameter" + msgstr "%qD se declaró como un parámetro %" + +-#: cp/decl.c:8508 ++#: cp/decl.c:8529 + #, gcc-internal-format + msgid "%qD declared as an % parameter" + msgstr "%qD se declaró como un parámetro %" + +-#: cp/decl.c:8510 ++#: cp/decl.c:8531 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in parameter declaration" + msgstr "los especificadores de función % y % en %qD son no válidos en la declaración de parámetro" + +-#: cp/decl.c:8515 ++#: cp/decl.c:8536 + #, gcc-internal-format + msgid "%qD declared as a % type" + msgstr "%qD se declaró como un tipo %" + +-#: cp/decl.c:8517 ++#: cp/decl.c:8538 + #, gcc-internal-format + msgid "%qD declared as an % type" + msgstr "%qD se declaró como un tipo %" + +-#: cp/decl.c:8519 ++#: cp/decl.c:8540 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in type declaration" + msgstr "los especificadores de función % y % en %qD son no válidos en la declaración de tipo" + +-#: cp/decl.c:8524 ++#: cp/decl.c:8545 + #, gcc-internal-format + msgid "%qD declared as a % field" + msgstr "%qD se declaró como un campo %" + +-#: cp/decl.c:8526 ++#: cp/decl.c:8547 + #, gcc-internal-format + msgid "%qD declared as an % field" + msgstr "%qD se declaró como un campo %" + +-#: cp/decl.c:8528 ++#: cp/decl.c:8549 + #, gcc-internal-format + msgid "% and % function specifiers on %qD invalid in field declaration" + msgstr "los especificadores de función % y % en %qD son no válidos en la declaración de campo" + +-#: cp/decl.c:8535 ++#: cp/decl.c:8556 + #, gcc-internal-format + msgid "%q+D declared as a friend" + msgstr "%q+D se declaró como friend" + +-#: cp/decl.c:8542 ++#: cp/decl.c:8563 + #, gcc-internal-format + msgid "%q+D declared with an exception specification" + msgstr "%q+D se declaró con una especificación de excepción" + +-#: cp/decl.c:8574 ++#: cp/decl.c:8595 + #, gcc-internal-format + msgid "definition of %qD is not in namespace enclosing %qT" + msgstr "la definición de %qD no está en un espacio de nombres que contenga a %qT" + +-#: cp/decl.c:8614 ++#: cp/decl.c:8635 + #, gcc-internal-format + msgid "static member function %q#D declared with type qualifiers" + msgstr "la función miembro static %q#D se declara con calificadores de tipo" + +-#: cp/decl.c:8624 ++#: cp/decl.c:8645 + #, fuzzy, gcc-internal-format + #| msgid "%qD declared as a non-parameter" + msgid "concept %q#D declared with function parameters" + msgstr "%qD se declaró como un no-parámetro" + +-#: cp/decl.c:8630 ++#: cp/decl.c:8651 + #, fuzzy, gcc-internal-format + #| msgid "parameter %qD declared with void type" + msgid "concept %q#D declared with a deduced return type" + msgstr "el parámetro %qD se declaró con tipo void" + +-#: cp/decl.c:8632 ++#: cp/decl.c:8653 + #, fuzzy, gcc-internal-format + #| msgid "Java method %qD has non-Java return type %qT" + msgid "concept %q#D with non-% return type %qT" + msgstr "el método Java %qD tiene un tipo de devolución %qT que no es de Java" + +-#: cp/decl.c:8703 ++#: cp/decl.c:8724 + #, fuzzy, gcc-internal-format + #| msgid "expected %<;%> after union definition" + msgid "concept %qD has no definition" + msgstr "se esperaba %<;%> después de la definición de union" + +-#: cp/decl.c:8772 ++#: cp/decl.c:8793 + #, gcc-internal-format + msgid "defining explicit specialization %qD in friend declaration" + msgstr "definiendo la especialización explícita %qD en la declaración friend" + + #. Something like `template friend void f()'. +-#: cp/decl.c:8782 ++#: cp/decl.c:8803 + #, gcc-internal-format + msgid "invalid use of template-id %qD in declaration of primary template" + msgstr "uso no válido del id de plantilla %qD en la declaración de la plantilla primaria" + +-#: cp/decl.c:8800 ++#: cp/decl.c:8821 + #, gcc-internal-format + msgid "default arguments are not allowed in declaration of friend template specialization %qD" + msgstr "no se permiten los argumentos por defecto en la declaración de la especialización friend de la plantilla %qD" + +-#: cp/decl.c:8808 ++#: cp/decl.c:8829 + #, gcc-internal-format + msgid "% is not allowed in declaration of friend template specialization %qD" + msgstr "no se permite % en la declaración de la especialización friend de la plantilla %qD" + +-#: cp/decl.c:8857 ++#: cp/decl.c:8878 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be a template" + msgstr "no se puede declarar %<::main%> como plantilla" + +-#: cp/decl.c:8859 ++#: cp/decl.c:8880 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be inline" + msgstr "no se puede declarar %<::main%> como inline" + +-#: cp/decl.c:8861 ++#: cp/decl.c:8882 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare %<::main%> to be inline" + msgid "cannot declare %<::main%> to be %" + msgstr "no se puede declarar %<::main%> como inline" + +-#: cp/decl.c:8863 ++#: cp/decl.c:8884 + #, gcc-internal-format + msgid "cannot declare %<::main%> to be static" + msgstr "no se puede declarar %<::main%> como static" + +-#: cp/decl.c:8920 ++#: cp/decl.c:8941 + #, gcc-internal-format + msgid "static member function %qD cannot have cv-qualifier" + msgstr "la función miembro static %qD no puede tener calificador-cv" + +-#: cp/decl.c:8921 ++#: cp/decl.c:8942 + #, gcc-internal-format + msgid "non-member function %qD cannot have cv-qualifier" + msgstr "la función que no es miembro %qD no puede tener calificador-cv" + +-#: cp/decl.c:8929 ++#: cp/decl.c:8950 + #, fuzzy, gcc-internal-format + #| msgid "static member function %qD cannot have cv-qualifier" + msgid "static member function %qD cannot have ref-qualifier" + msgstr "la función miembro static %qD no puede tener calificador-cv" + +-#: cp/decl.c:8930 ++#: cp/decl.c:8951 + #, fuzzy, gcc-internal-format + #| msgid "non-member function %qD cannot have cv-qualifier" + msgid "non-member function %qD cannot have ref-qualifier" + msgstr "la función que no es miembro %qD no puede tener calificador-cv" + +-#: cp/decl.c:8940 ++#: cp/decl.c:8961 + #, fuzzy, gcc-internal-format + #| msgid "specialization of %qD must appear at namespace scope" + msgid "deduction guide %qD must be declared at namespace scope" +@@ -41466,672 +41479,672 @@ + msgstr "la especialización de %qD debe aparecer en un ámbito de espacio de nombres" + + # FIXME traducción +-#: cp/decl.c:8946 ++#: cp/decl.c:8967 + #, fuzzy, gcc-internal-format + #| msgid "declaration of %qD as non-function" + msgid "deduction guide %qD must not have a function body" + msgstr "la declaración de %qD como algo que no es función" + +-#: cp/decl.c:8959 ++#: cp/decl.c:8980 + #, gcc-internal-format + msgid "literal operator with C linkage" + msgstr "operador literal con enlace C" + +-#: cp/decl.c:8969 ++#: cp/decl.c:8990 + #, gcc-internal-format + msgid "%qD has invalid argument list" + msgstr "%qD tien una lista de argumentos no válida" + +-#: cp/decl.c:8977 ++#: cp/decl.c:8998 + #, fuzzy, gcc-internal-format + #| msgid "integer suffix %<%s%> shadowed by implementation" + msgid "integer suffix %qs shadowed by implementation" + msgstr "se oscurece el sufijo entero %<%s%> por la implementación" + +-#: cp/decl.c:8983 ++#: cp/decl.c:9004 + #, fuzzy, gcc-internal-format + #| msgid "floating point suffix %<%s%> shadowed by implementation" + msgid "floating point suffix %qs shadowed by implementation" + msgstr "se oscurece el sufijo de coma flotante %<%s%> por la implementación" + +-#: cp/decl.c:8991 ++#: cp/decl.c:9012 + #, gcc-internal-format + msgid "literal operator suffixes not preceded by %<_%> are reserved for future standardization" + msgstr "los sufijos de operador literal que no están precedidos por %<_%> están reservados para estandarización futura" + +-#: cp/decl.c:8996 ++#: cp/decl.c:9017 + #, gcc-internal-format + msgid "%qD must be a non-member function" + msgstr "%qD debe ser una función que no sea miembro" + +-#: cp/decl.c:9076 ++#: cp/decl.c:9097 + #, gcc-internal-format + msgid "%<::main%> must return %" + msgstr "%<::main%> debe devolver %" + +-#: cp/decl.c:9116 ++#: cp/decl.c:9137 + #, gcc-internal-format + msgid "definition of implicitly-declared %qD" + msgstr "la definición de %qD declarado implícitamente" + +-#: cp/decl.c:9121 ++#: cp/decl.c:9142 + #, gcc-internal-format + msgid "definition of explicitly-defaulted %q+D" + msgstr "la definición de %qD explícitamente por defecto" + +-#: cp/decl.c:9123 ++#: cp/decl.c:9144 + #, fuzzy, gcc-internal-format + #| msgid "%q+#D explicitly defaulted here" + msgid "%q#D explicitly defaulted here" + msgstr "%q+#D explícitamente por defecto aquí" + +-#: cp/decl.c:9140 ++#: cp/decl.c:9161 + #, gcc-internal-format + msgid "no %q#D member function declared in class %qT" + msgstr "no hay una función miembro %q#D declarada en la clase %qT" + +-#: cp/decl.c:9329 ++#: cp/decl.c:9350 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare %<::main%> to be a template" + msgid "cannot declare %<::main%> to be a global variable" + msgstr "no se puede declarar %<::main%> como plantilla" + +-#: cp/decl.c:9337 ++#: cp/decl.c:9358 + #, fuzzy, gcc-internal-format + #| msgid "automatic variable %qE cannot be %" + msgid "a non-template variable cannot be %" + msgstr "la variable automática %qE no puede ser %" + +-#: cp/decl.c:9344 ++#: cp/decl.c:9365 + #, gcc-internal-format + msgid "concept must have type %" + msgstr "" + +-#: cp/decl.c:9464 ++#: cp/decl.c:9485 + #, gcc-internal-format + msgid "in-class initialization of static data member %q#D of incomplete type" + msgstr "inicialización en la clase del miembro de datos static %q#D de tipo incompleto" + +-#: cp/decl.c:9468 ++#: cp/decl.c:9489 + #, gcc-internal-format + msgid "% needed for in-class initialization of static data member %q#D of non-integral type" + msgstr "se necesita % para la inicialización en la clase no válida del miembro de datos static %q#D de tipo que no es integral" + +-#: cp/decl.c:9472 ++#: cp/decl.c:9493 + #, gcc-internal-format + msgid "in-class initialization of static data member %q#D of non-literal type" + msgstr "inicialización en la clase del miembro de datos static %q#D de tipo que no es literal" + +-#: cp/decl.c:9486 ++#: cp/decl.c:9507 + #, gcc-internal-format + msgid "invalid in-class initialization of static data member of non-integral type %qT" + msgstr "inicialización en la clase no válida para el miembro de datos static de tipo %qT que no es integral" + +-#: cp/decl.c:9493 ++#: cp/decl.c:9514 + #, gcc-internal-format + msgid "ISO C++ forbids in-class initialization of non-const static member %qD" + msgstr "ISO C++ prohíbe la inicialización en la clase del miembro static %qD que no es constante" + +-#: cp/decl.c:9498 ++#: cp/decl.c:9519 + #, gcc-internal-format + msgid "ISO C++ forbids initialization of member constant %qD of non-integral type %qT" + msgstr "ISO C++ prohíbe la inicialización de la constante miembro %qD del tipo %qT que no es entero" + +-#: cp/decl.c:9598 ++#: cp/decl.c:9619 + #, gcc-internal-format + msgid "size of array %qD has non-integral type %qT" + msgstr "el tamaño de la matriz %qD tiene un tipo %qT que no es integral" + +-#: cp/decl.c:9600 ++#: cp/decl.c:9621 + #, gcc-internal-format + msgid "size of array has non-integral type %qT" + msgstr "el tamaño de la matriz tiene un tipo %qT que no es integral" + +-#: cp/decl.c:9630 cp/decl.c:9680 ++#: cp/decl.c:9651 cp/decl.c:9701 + #, gcc-internal-format + msgid "size of array is not an integral constant-expression" + msgstr "el tamaño de la matriz no es una expresion constante integral" + +-#: cp/decl.c:9646 ++#: cp/decl.c:9667 + #, gcc-internal-format + msgid "size of array %qD is negative" + msgstr "el tamaño de la matriz %qD es negativo" + +-#: cp/decl.c:9648 cp/init.c:3651 ++#: cp/decl.c:9669 cp/init.c:3667 + #, gcc-internal-format + msgid "size of array is negative" + msgstr "el tamaño de la matriz es negativo" + +-#: cp/decl.c:9662 ++#: cp/decl.c:9683 + #, gcc-internal-format + msgid "ISO C++ forbids zero-size array %qD" + msgstr "ISO C++ prohíbe la matriz %qD de tamaño cero" + +-#: cp/decl.c:9664 ++#: cp/decl.c:9685 + #, gcc-internal-format + msgid "ISO C++ forbids zero-size array" + msgstr "ISO C++ prohíbe matrices de tamaño cero" + +-#: cp/decl.c:9677 ++#: cp/decl.c:9698 + #, gcc-internal-format + msgid "size of array %qD is not an integral constant-expression" + msgstr "el tamaño de la matriz %qD no es una expresion constante integral" + +-#: cp/decl.c:9686 ++#: cp/decl.c:9707 + #, gcc-internal-format + msgid "ISO C++ forbids variable length array %qD" + msgstr "ISO C++ prohíbe la matriz %qD de longitud variable" + +-#: cp/decl.c:9688 ++#: cp/decl.c:9709 + #, gcc-internal-format + msgid "ISO C++ forbids variable length array" + msgstr "ISO C++ prohíbe las matrices de longitud variable" + +-#: cp/decl.c:9694 ++#: cp/decl.c:9715 + #, gcc-internal-format + msgid "variable length array %qD is used" + msgstr "se usa la matriz de longitud variable %qD" + +-#: cp/decl.c:9697 ++#: cp/decl.c:9718 + #, gcc-internal-format + msgid "variable length array is used" + msgstr "se usó la matriz de longitud variable" + +-#: cp/decl.c:9746 ++#: cp/decl.c:9767 + #, gcc-internal-format + msgid "overflow in array dimension" + msgstr "desbordamiento en la dimensión de la matriz" + +-#: cp/decl.c:9799 ++#: cp/decl.c:9820 + #, fuzzy, gcc-internal-format + #| msgid "%q+D declared as a friend" + msgid "%qD declared as array of %qT" + msgstr "%q+D se declaró como friend" + +-#: cp/decl.c:9809 ++#: cp/decl.c:9830 + #, gcc-internal-format + msgid "declaration of %qD as array of void" + msgstr "la declaración de %qD como una matriz de voids" + +-#: cp/decl.c:9811 ++#: cp/decl.c:9832 + #, gcc-internal-format + msgid "creating array of void" + msgstr "se crea la matriz de voids" + +-#: cp/decl.c:9816 ++#: cp/decl.c:9837 + #, gcc-internal-format + msgid "declaration of %qD as array of functions" + msgstr "la declaración de %qD como una matriz de funciones" + +-#: cp/decl.c:9818 ++#: cp/decl.c:9839 + #, gcc-internal-format + msgid "creating array of functions" + msgstr "se crea la matriz de funciones" + +-#: cp/decl.c:9823 ++#: cp/decl.c:9844 + #, gcc-internal-format + msgid "declaration of %qD as array of references" + msgstr "la declaración de %qD como una matriz de referencias" + +-#: cp/decl.c:9825 ++#: cp/decl.c:9846 + #, gcc-internal-format + msgid "creating array of references" + msgstr "se crea la matriz de referencias" + +-#: cp/decl.c:9830 ++#: cp/decl.c:9851 + #, gcc-internal-format + msgid "declaration of %qD as array of function members" + msgstr "la declaración de %qD como una matriz de miembros de función" + +-#: cp/decl.c:9832 ++#: cp/decl.c:9853 + #, gcc-internal-format + msgid "creating array of function members" + msgstr "se crea la matriz de miembros de función" + +-#: cp/decl.c:9846 ++#: cp/decl.c:9867 + #, gcc-internal-format + msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first" + msgstr "la declaración de %qD como una matriz multidimensional debe tener límites para todas las dimensiones excepto la primera" + +-#: cp/decl.c:9850 ++#: cp/decl.c:9871 + #, gcc-internal-format + msgid "multidimensional array must have bounds for all dimensions except the first" + msgstr "una matriz multidimensional debe tener límites para todas las dimensiones excepto para la primera" + +-#: cp/decl.c:9909 ++#: cp/decl.c:9930 + #, gcc-internal-format + msgid "return type specification for constructor invalid" + msgstr "la especificación del tipo de devolución para el constructor es no válida" + +-#: cp/decl.c:9912 ++#: cp/decl.c:9933 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers are not allowed on declaration of %" + msgid "qualifiers are not allowed on constructor declaration" + msgstr "no se permiten calificadores en la declaración de %" + +-#: cp/decl.c:9922 ++#: cp/decl.c:9943 + #, gcc-internal-format + msgid "return type specification for destructor invalid" + msgstr "la especificación del tipo de devolución para el destructor es no válida" + +-#: cp/decl.c:9925 ++#: cp/decl.c:9946 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers are not allowed on declaration of %" + msgid "qualifiers are not allowed on destructor declaration" + msgstr "no se permiten calificadores en la declaración de %" + +-#: cp/decl.c:9937 ++#: cp/decl.c:9958 + #, gcc-internal-format + msgid "return type specified for %" + msgstr "se especificó un tipo de devolución para %" + +-#: cp/decl.c:9940 ++#: cp/decl.c:9961 + #, gcc-internal-format + msgid "qualifiers are not allowed on declaration of %" + msgstr "no se permiten calificadores en la declaración de %" + +-#: cp/decl.c:9948 ++#: cp/decl.c:9969 + #, fuzzy, gcc-internal-format + #| msgid "return type specification for destructor invalid" + msgid "return type specified for deduction guide" + msgstr "la especificación del tipo de devolución para el destructor es no válida" + +-#: cp/decl.c:9951 ++#: cp/decl.c:9972 + #, fuzzy, gcc-internal-format + #| msgid "qualifiers are not allowed on declaration of %" + msgid "qualifiers are not allowed on declaration of deduction guide" + msgstr "no se permiten calificadores en la declaración de %" + +-#: cp/decl.c:9955 ++#: cp/decl.c:9976 + #, fuzzy, gcc-internal-format + #| msgid "conflicting specifiers in declaration of %qs" + msgid "template template parameter %qT in declaration of deduction guide" + msgstr "especificadores en conflicto en la declaración de %qs" + +-#: cp/decl.c:9964 ++#: cp/decl.c:9985 + #, fuzzy, gcc-internal-format + #| msgid "conflicting specifiers in declaration of %qs" + msgid "decl-specifier in declaration of deduction guide" + msgstr "especificadores en conflicto en la declaración de %qs" + +-#: cp/decl.c:9985 ++#: cp/decl.c:10006 + #, gcc-internal-format + msgid "unnamed variable or field declared void" + msgstr "se declaró la variable o campo sin nombre como void" + +-#: cp/decl.c:9992 ++#: cp/decl.c:10013 + #, gcc-internal-format + msgid "variable or field declared void" + msgstr "se declaró la variable o campo como void" + +-#: cp/decl.c:10007 ++#: cp/decl.c:10028 + #, fuzzy, gcc-internal-format + #| msgid "% specifier invalid for function %qs declared out of global scope" + msgid "% specifier invalid for variable %qD declared at block scope" + msgstr "el especificador % es no válido para la función %qs declarada fuera del ámbito global" + +-#: cp/decl.c:10013 ++#: cp/decl.c:10034 + #, fuzzy, gcc-internal-format + #| msgid "inline namespaces only available with -std=c++11 or -std=gnu++11" + msgid "inline variables are only available with -std=c++17 or -std=gnu++17" + msgstr "los nombres de espacio incluidos en línea sólo están disponibles con -std=c++11 o -std=gnu++11" + +-#: cp/decl.c:10268 ++#: cp/decl.c:10292 + #, gcc-internal-format + msgid "invalid use of qualified-name %<::%D%>" + msgstr "uso no válido del nombre calificado %<::%D%>" + +-#: cp/decl.c:10271 cp/decl.c:10291 ++#: cp/decl.c:10295 cp/decl.c:10315 + #, gcc-internal-format + msgid "invalid use of qualified-name %<%T::%D%>" + msgstr "uso no válido del nombre calificado %<%T::%D%>" + +-#: cp/decl.c:10274 ++#: cp/decl.c:10298 + #, gcc-internal-format + msgid "invalid use of qualified-name %<%D::%D%>" + msgstr "uso no válido del nombre calificado %<%D::%D%>" + +-#: cp/decl.c:10283 ++#: cp/decl.c:10307 + #, gcc-internal-format + msgid "%q#T is not a class or a namespace" + msgstr "%q#T no es una clase o un espacio de nombres" + + # FIXME traducción +-#: cp/decl.c:10305 cp/decl.c:10398 cp/decl.c:10407 cp/decl.c:11970 ++#: cp/decl.c:10329 cp/decl.c:10422 cp/decl.c:10431 cp/decl.c:11994 + #, gcc-internal-format + msgid "declaration of %qD as non-function" + msgstr "la declaración de %qD como algo que no es función" + + # FIXME traducción +-#: cp/decl.c:10311 ++#: cp/decl.c:10335 + #, gcc-internal-format + msgid "declaration of %qD as non-member" + msgstr "declaración de %qD como algo que no es miembro" + +-#: cp/decl.c:10339 ++#: cp/decl.c:10363 + #, gcc-internal-format + msgid "declarator-id missing; using reserved word %qD" + msgstr "falta el id del declarador; se utiliza la palabra reservada %qD" + +-#: cp/decl.c:10390 ++#: cp/decl.c:10414 + #, gcc-internal-format + msgid "function definition does not declare parameters" + msgstr "la definición de la función no declara parámetros" + +-#: cp/decl.c:10415 ++#: cp/decl.c:10439 + #, gcc-internal-format + msgid "declaration of %qD as %" + msgstr "declaración de %qD como %" + +-#: cp/decl.c:10420 ++#: cp/decl.c:10444 + #, gcc-internal-format + msgid "declaration of %qD as parameter" + msgstr "la declaración de %qD como parámetro" + +-#: cp/decl.c:10454 ++#: cp/decl.c:10478 + #, fuzzy, gcc-internal-format + #| msgid "% cannot appear in a typedef declaration" + msgid "% cannot appear in a typedef declaration" + msgstr "% no puede aparecer en una declaración typedef" + +-#: cp/decl.c:10460 ++#: cp/decl.c:10484 + #, gcc-internal-format + msgid "% cannot appear in a typedef declaration" + msgstr "% no puede aparecer en una declaración typedef" + +-#: cp/decl.c:10468 ++#: cp/decl.c:10492 + #, gcc-internal-format + msgid "two or more data types in declaration of %qs" + msgstr "dos o más tipos de datos en la declaración de %qs" + +-#: cp/decl.c:10474 ++#: cp/decl.c:10498 + #, gcc-internal-format + msgid "conflicting specifiers in declaration of %qs" + msgstr "especificadores en conflicto en la declaración de %qs" + +-#: cp/decl.c:10515 ++#: cp/decl.c:10539 + #, fuzzy, gcc-internal-format + #| msgid "ISO C does not support plain % meaning %" + msgid "ISO C++ does not support plain % meaning %" + msgstr "ISO C no admite % simples que significan %" + +-#: cp/decl.c:10564 cp/decl.c:10567 cp/decl.c:10570 ++#: cp/decl.c:10588 cp/decl.c:10591 cp/decl.c:10594 + #, gcc-internal-format + msgid "ISO C++ forbids declaration of %qs with no type" + msgstr "ISO C++ prohíbe la declaración de %qs sin tipo" + +-#: cp/decl.c:10586 ++#: cp/decl.c:10610 + #, fuzzy, gcc-internal-format + #| msgid "%<__int128%> is not supported by this target" + msgid "%<__int%d%> is not supported by this target" + msgstr "no se admite %<__int128%> en este objetivo" + +-#: cp/decl.c:10592 ++#: cp/decl.c:10616 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ does not support %<__int128%> for %qs" + msgid "ISO C++ does not support %<__int%d%> for %qs" + msgstr "ISO C++ no admite %<__int128%> para %qs" + +-#: cp/decl.c:10614 cp/decl.c:10634 ++#: cp/decl.c:10638 cp/decl.c:10658 + #, gcc-internal-format + msgid "% or % invalid for %qs" + msgstr "% o % no válido para %qs" + +-#: cp/decl.c:10616 ++#: cp/decl.c:10640 + #, gcc-internal-format + msgid "% and % specified together for %qs" + msgstr "% y % se especificaron juntos para %qs" + +-#: cp/decl.c:10618 ++#: cp/decl.c:10642 + #, gcc-internal-format + msgid "% invalid for %qs" + msgstr "% no válido para %qs" + +-#: cp/decl.c:10620 ++#: cp/decl.c:10644 + #, gcc-internal-format + msgid "% invalid for %qs" + msgstr "% no válido para %qs" + +-#: cp/decl.c:10622 ++#: cp/decl.c:10646 + #, gcc-internal-format + msgid "% invalid for %qs" + msgstr "% no válido para %qs" + +-#: cp/decl.c:10624 ++#: cp/decl.c:10648 + #, gcc-internal-format + msgid "% or % invalid for %qs" + msgstr "% o % no válidos para %qs" + +-#: cp/decl.c:10626 ++#: cp/decl.c:10650 + #, gcc-internal-format + msgid "%, %, %, or % invalid for %qs" + msgstr "%, %, %, o % no válido para %qs" + +-#: cp/decl.c:10628 ++#: cp/decl.c:10652 + #, gcc-internal-format + msgid "% or % specified with char for %qs" + msgstr "se especificó % o % con char para %qs" + +-#: cp/decl.c:10630 ++#: cp/decl.c:10654 + #, gcc-internal-format + msgid "% and % specified together for %qs" + msgstr "% y % se especificaron juntos para %qs" + +-#: cp/decl.c:10636 ++#: cp/decl.c:10660 + #, gcc-internal-format + msgid "% or % invalid for %qs" + msgstr "% o % no válidos para %qs" + +-#: cp/decl.c:10644 ++#: cp/decl.c:10668 + #, gcc-internal-format + msgid "long, short, signed or unsigned used invalidly for %qs" + msgstr "uso no válido de long, short, signed ó unsigned para %qs" + +-#: cp/decl.c:10712 ++#: cp/decl.c:10736 + #, gcc-internal-format + msgid "complex invalid for %qs" + msgstr "complex no válido para %qs" + +-#: cp/decl.c:10751 ++#: cp/decl.c:10775 + #, gcc-internal-format + msgid "template placeholder type %qT must be followed by a simple declarator-id" + msgstr "" + +-#: cp/decl.c:10769 ++#: cp/decl.c:10793 + #, fuzzy, gcc-internal-format + #| msgid "member %qD cannot be declared both virtual and static" + msgid "member %qD cannot be declared both % and %" + msgstr "el miembro %qD no se puede declarar como virtual y static al mismo tiempo" + +-#: cp/decl.c:10775 ++#: cp/decl.c:10799 + #, fuzzy, gcc-internal-format + #| msgid "member %qD cannot be declared both virtual and static" + msgid "member %qD cannot be declared both % and %" + msgstr "el miembro %qD no se puede declarar como virtual y static al mismo tiempo" + +-#: cp/decl.c:10785 ++#: cp/decl.c:10809 + #, gcc-internal-format + msgid "typedef declaration invalid in parameter declaration" + msgstr "declaración typedef no válida en la declaración de parámetros" + +-#: cp/decl.c:10790 ++#: cp/decl.c:10814 + #, gcc-internal-format + msgid "storage class specified for template parameter %qs" + msgstr "se especificó una clase de almacenamiento para el parámetro de plantilla %qs" + +-#: cp/decl.c:10796 ++#: cp/decl.c:10820 + #, gcc-internal-format + msgid "storage class specifiers invalid in parameter declarations" + msgstr "especificadores de clase de almacenamiento no válidos en las declaraciones de parámetros" + +-#: cp/decl.c:10800 ++#: cp/decl.c:10824 + #, fuzzy, gcc-internal-format + #| msgid "a parameter cannot be declared %" + msgid "a parameter cannot be declared %" + msgstr "un parámetro no se puede declarar %" + +-#: cp/decl.c:10805 ++#: cp/decl.c:10829 + #, gcc-internal-format + msgid "a parameter cannot be declared %" + msgstr "un parámetro no se puede declarar %" + +-#: cp/decl.c:10815 ++#: cp/decl.c:10839 + #, gcc-internal-format + msgid "% outside class declaration" + msgstr "declaración de clase fuera de %" + +-#: cp/decl.c:10825 ++#: cp/decl.c:10849 + #, fuzzy, gcc-internal-format + #| msgid "constructors cannot be declared virtual" + msgid "structured binding declaration cannot be %" + msgstr "los constructores no se pueden declarar virtual" + +-#: cp/decl.c:10828 ++#: cp/decl.c:10852 + #, fuzzy, gcc-internal-format + #| msgid "function definition declared %" + msgid "structured binding declaration cannot be %" + msgstr "la definición de la función se declaró como %" + +-#: cp/decl.c:10830 ++#: cp/decl.c:10854 + #, fuzzy, gcc-internal-format + #| msgid "a parameter cannot be declared %" + msgid "structured binding declaration cannot be %" + msgstr "un parámetro no se puede declarar %" + +-#: cp/decl.c:10834 ++#: cp/decl.c:10858 + #, fuzzy, gcc-internal-format + #| msgid "attribute ignored in declaration of %q#T" + msgid "structured binding declaration cannot be %qs" + msgstr "se descarta el atributo en la declaración de %q#T" + +-#: cp/decl.c:10839 ++#: cp/decl.c:10863 + #, fuzzy, gcc-internal-format + #| msgid "a parameter cannot be declared %" + msgid "structured binding declaration cannot be %" + msgstr "un parámetro no se puede declarar %" + +-#: cp/decl.c:10845 ++#: cp/decl.c:10869 + #, fuzzy, gcc-internal-format + #| msgid "function definition declared %" + msgid "structured binding declaration cannot be %" + msgstr "la definición de la función se declaró como %" + +-#: cp/decl.c:10849 ++#: cp/decl.c:10873 + #, fuzzy, gcc-internal-format + #| msgid "constructors cannot be declared virtual" + msgid "structured binding declaration cannot be %" + msgstr "los constructores no se pueden declarar virtual" + +-#: cp/decl.c:10853 ++#: cp/decl.c:10877 + #, fuzzy, gcc-internal-format + #| msgid "function %qs cannot be declared %" + msgid "structured binding declaration cannot be %" + msgstr "la función %qs no se puede declarar %" + +-#: cp/decl.c:10857 ++#: cp/decl.c:10881 + #, fuzzy, gcc-internal-format + #| msgid "const %qs cannot be declared %" + msgid "structured binding declaration cannot be %" + msgstr "const %qs no se puede declarar %" + +-#: cp/decl.c:10861 ++#: cp/decl.c:10885 + #, fuzzy, gcc-internal-format + #| msgid "function %qs cannot be declared %" + msgid "structured binding declaration cannot be C++98 %" + msgstr "la función %qs no se puede declarar %" + +-#: cp/decl.c:10872 ++#: cp/decl.c:10896 + #, fuzzy, gcc-internal-format + #| msgid "indirect function %q+D cannot be declared weak" + msgid "structured binding declaration cannot have type %qT" + msgstr "la función indirecta %q+D no se puede declarar weak" + +-#: cp/decl.c:10875 ++#: cp/decl.c:10899 + #, gcc-internal-format + msgid "type must be cv-qualified % or reference to cv-qualified %" + msgstr "" + +-#: cp/decl.c:10906 ++#: cp/decl.c:10930 + #, gcc-internal-format + msgid "multiple storage classes in declaration of %qs" + msgstr "múltiples clases de almacenamiento en la declaración de %qs" + +-#: cp/decl.c:10929 ++#: cp/decl.c:10953 + #, gcc-internal-format + msgid "storage class specified for %qs" + msgstr "se especificó una clase de almacenamiento para %qs" + +-#: cp/decl.c:10933 ++#: cp/decl.c:10957 + #, gcc-internal-format + msgid "storage class specified for parameter %qs" + msgstr "se especificó una clase de almacenamiento para el parámetro %qs" + +-#: cp/decl.c:10946 ++#: cp/decl.c:10970 + #, gcc-internal-format + msgid "nested function %qs declared %" + msgstr "la función anidada %qs se declaró %" + +-#: cp/decl.c:10950 ++#: cp/decl.c:10974 + #, gcc-internal-format + msgid "top-level declaration of %qs specifies %" + msgstr "la declaración del nivel superior de %qs especifica %" + +-#: cp/decl.c:10957 ++#: cp/decl.c:10981 + #, gcc-internal-format + msgid "function-scope %qs implicitly auto and declared %<__thread%>" + msgstr "el ámbito de la función %qs es implícitamente auto y declarado %<__thread%>" + +-#: cp/decl.c:10969 ++#: cp/decl.c:10993 + #, gcc-internal-format + msgid "storage class specifiers invalid in friend function declarations" + msgstr "especificadores de clase de almacenamiento no válidos en las declaraciones de funciones friend" + +-#: cp/decl.c:11050 ++#: cp/decl.c:11074 + #, fuzzy, gcc-internal-format + #| msgid "multiple storage classes in declaration of %qs" + msgid "unnecessary parentheses in declaration of %qs" + msgstr "múltiples clases de almacenamiento en la declaración de %qs" + +-#: cp/decl.c:11098 ++#: cp/decl.c:11122 + #, gcc-internal-format + msgid "requires-clause on return type" + msgstr "" + +-#: cp/decl.c:11118 ++#: cp/decl.c:11142 + #, gcc-internal-format + msgid "%qs function uses % type specifier without trailing return type" + msgstr "la función %qs usa el especificador de tipo % sin un tipo de devolución trailing" + +-#: cp/decl.c:11121 ++#: cp/decl.c:11145 + #, fuzzy, gcc-internal-format + #| msgid "trailing return type only available with -std=c++11 or -std=gnu++11" + msgid "deduced return type only available with -std=c++14 or -std=gnu++14" + msgstr "el tipo de devolución trailing sólo está disponible con -std=c++11 o -std=gnu++11" + +-#: cp/decl.c:11127 ++#: cp/decl.c:11151 + #, fuzzy, gcc-internal-format + #| msgid "virtual functions cannot be friends" + msgid "virtual function cannot have deduced return type" + msgstr "las funciones virtual no pueden ser friend" + +-#: cp/decl.c:11134 ++#: cp/decl.c:11158 + #, gcc-internal-format + msgid "%qs function with trailing return type has %qT as its type rather than plain %" + msgstr "la función %qs con tipo de devolución trailing tiene %qT como su tipo en lugar de un simple %" + +-#: cp/decl.c:11147 ++#: cp/decl.c:11171 + #, fuzzy, gcc-internal-format + #| msgid "type qualifiers ignored on function return type" + msgid "deduced class type %qD in function return type" + msgstr "se descartan los calificadores de tipo en el tipo de devolución de la función" + +-#: cp/decl.c:11156 ++#: cp/decl.c:11180 + #, fuzzy, gcc-internal-format + #| msgid "%qs function cannot have arguments" + msgid "deduction guide for %qT must have trailing return type" + msgstr "la función %qs no puede tener argumentos" + +-#: cp/decl.c:11169 ++#: cp/decl.c:11193 + #, gcc-internal-format + msgid "trailing return type %qT of deduction guide is not a specialization of %qT" + msgstr "" +@@ -42138,59 +42151,59 @@ + + #. Not using maybe_warn_cpp0x because this should + #. always be an error. +-#: cp/decl.c:11180 ++#: cp/decl.c:11204 + #, gcc-internal-format + msgid "trailing return type only available with -std=c++11 or -std=gnu++11" + msgstr "el tipo de devolución trailing sólo está disponible con -std=c++11 o -std=gnu++11" + +-#: cp/decl.c:11183 ++#: cp/decl.c:11207 + #, gcc-internal-format + msgid "%qs function with trailing return type not declared with % type specifier" + msgstr "no se declaró la función %qs con tipo de devolución trailing con el especificador de tipo %" + +-#: cp/decl.c:11212 ++#: cp/decl.c:11236 + #, gcc-internal-format + msgid "%qs declared as function returning a function" + msgstr "%qs que se declaró como función devuelve una función" + +-#: cp/decl.c:11218 ++#: cp/decl.c:11242 + #, gcc-internal-format + msgid "%qs declared as function returning an array" + msgstr "%qs que se declaró como función devuelve una matriz" + +-#: cp/decl.c:11247 ++#: cp/decl.c:11271 + #, gcc-internal-format + msgid "destructor cannot be static member function" + msgstr "el destructor no puede ser una función miembro de tipo static" + +-#: cp/decl.c:11248 ++#: cp/decl.c:11272 + #, gcc-internal-format + msgid "constructor cannot be static member function" + msgstr "el constructor no puede ser una función miembro de tipo static" + +-#: cp/decl.c:11252 ++#: cp/decl.c:11276 + #, gcc-internal-format + msgid "destructors may not be cv-qualified" + msgstr "los destructores no pueden ser cv-calificados" + +-#: cp/decl.c:11253 ++#: cp/decl.c:11277 + #, gcc-internal-format + msgid "constructors may not be cv-qualified" + msgstr "los constructores tal vez no sean cv-calificados" + +-#: cp/decl.c:11261 ++#: cp/decl.c:11285 + #, fuzzy, gcc-internal-format + #| msgid "destructors may not be cv-qualified" + msgid "destructors may not be ref-qualified" + msgstr "los destructores no pueden ser cv-calificados" + +-#: cp/decl.c:11262 ++#: cp/decl.c:11286 + #, fuzzy, gcc-internal-format + #| msgid "destructors may not be cv-qualified" + msgid "constructors may not be ref-qualified" + msgstr "los destructores no pueden ser cv-calificados" + +-#: cp/decl.c:11280 ++#: cp/decl.c:11304 + #, fuzzy, gcc-internal-format + #| msgid "constructors cannot be declared virtual" + msgid "constructors cannot be declared %" +@@ -42197,257 +42210,257 @@ + msgstr "los constructores no se pueden declarar virtual" + + #. Cannot be both friend and virtual. +-#: cp/decl.c:11295 ++#: cp/decl.c:11319 + #, gcc-internal-format + msgid "virtual functions cannot be friends" + msgstr "las funciones virtual no pueden ser friend" + +-#: cp/decl.c:11299 ++#: cp/decl.c:11323 + #, gcc-internal-format + msgid "friend declaration not in class definition" + msgstr "la declaración friend no está en una definición de clase" + +-#: cp/decl.c:11301 ++#: cp/decl.c:11325 + #, gcc-internal-format + msgid "can%'t define friend function %qs in a local class definition" + msgstr "no se puede definir la función friend %qs en una definición de clase local" + +-#: cp/decl.c:11313 ++#: cp/decl.c:11337 + #, fuzzy, gcc-internal-format + #| msgid "%qs function cannot have arguments" + msgid "a conversion function cannot have a trailing return type" + msgstr "la función %qs no puede tener argumentos" + +-#: cp/decl.c:11339 ++#: cp/decl.c:11363 + #, gcc-internal-format + msgid "destructors may not have parameters" + msgstr "los destructores no pueden tener parámetros" + +-#: cp/decl.c:11379 ++#: cp/decl.c:11403 + #, gcc-internal-format + msgid "cannot declare pointer to %q#T" + msgstr "no se puede declarar el puntero a %q#T" + +-#: cp/decl.c:11392 cp/decl.c:11399 ++#: cp/decl.c:11416 cp/decl.c:11423 + #, gcc-internal-format + msgid "cannot declare reference to %q#T" + msgstr "no se puede declarar la referencia a %q#T" + +-#: cp/decl.c:11401 ++#: cp/decl.c:11425 + #, gcc-internal-format + msgid "cannot declare pointer to %q#T member" + msgstr "no se puede declarar el puntero al miembro %q#T" + +-#: cp/decl.c:11430 ++#: cp/decl.c:11454 + #, gcc-internal-format + msgid "cannot declare reference to qualified function type %qT" + msgstr "no se puede declarar la referencia para el tipo de función calificado %qT" + +-#: cp/decl.c:11431 ++#: cp/decl.c:11455 + #, gcc-internal-format + msgid "cannot declare pointer to qualified function type %qT" + msgstr "no se puede declarar el puntero para el tipo de función calificado %qT" + +-#: cp/decl.c:11504 ++#: cp/decl.c:11528 + #, gcc-internal-format + msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument" + msgstr "no se puede declarar la referencia a %q#T, el cual no es una definición de tipo o un argumento de tipo de plantilla" + +-#: cp/decl.c:11574 ++#: cp/decl.c:11598 + #, gcc-internal-format + msgid "template-id %qD used as a declarator" + msgstr "el id de plantilla %qD se usa como un declarador" + +-#: cp/decl.c:11599 ++#: cp/decl.c:11623 + #, gcc-internal-format + msgid "member functions are implicitly friends of their class" + msgstr "las funciones miembros son implícitamente friends de su clase" + +-#: cp/decl.c:11605 ++#: cp/decl.c:11629 + #, gcc-internal-format + msgid "extra qualification %<%T::%> on member %qs" + msgstr "calificación extra %<%T::%> en el miembro %qs" + +-#: cp/decl.c:11635 ++#: cp/decl.c:11659 + #, fuzzy, gcc-internal-format + #| msgid "cannot define member function %<%T::%s%> within %<%T%>" + msgid "cannot define member function %<%T::%s%> within %qT" + msgstr "no se puede definir la función miembro %<%T::%s%> dentro de %<%T%>" + +-#: cp/decl.c:11637 ++#: cp/decl.c:11661 + #, fuzzy, gcc-internal-format + #| msgid "cannot declare member function %<%T::%s%> within %<%T%>" + msgid "cannot declare member function %<%T::%s%> within %qT" + msgstr "no se puede declarar la función miembro %<%T::%s%> dentro de %<%T%>" + +-#: cp/decl.c:11645 ++#: cp/decl.c:11669 + #, gcc-internal-format + msgid "cannot declare member %<%T::%s%> within %qT" + msgstr "no se puede declarar el miembro %<%T::%s%> dentro de %qT" + +-#: cp/decl.c:11685 ++#: cp/decl.c:11709 + #, gcc-internal-format + msgid "non-parameter %qs cannot be a parameter pack" + msgstr "%qs que no es parámetro no puede ser un paquete de parámetro" + +-#: cp/decl.c:11693 ++#: cp/decl.c:11717 + #, gcc-internal-format + msgid "data member may not have variably modified type %qT" + msgstr "los datos miembro pueden no tener el tipo modificado variablemente %qT" + +-#: cp/decl.c:11695 ++#: cp/decl.c:11719 + #, gcc-internal-format + msgid "parameter may not have variably modified type %qT" + msgstr "el parámetro puede no tener el tipo modificado variablemente %qT" + +-#: cp/decl.c:11706 ++#: cp/decl.c:11730 + #, fuzzy, gcc-internal-format + #| msgid "% outside class declaration" + msgid "% outside class declaration" + msgstr "declaración de clase fuera de %" + +-#: cp/decl.c:11709 ++#: cp/decl.c:11733 + #, fuzzy, gcc-internal-format + #| msgid "% in empty declaration" + msgid "% in friend declaration" + msgstr "% en una declaración vacía" + +-#: cp/decl.c:11712 ++#: cp/decl.c:11736 + #, fuzzy, gcc-internal-format + #| msgid "only declarations of constructors can be %" + msgid "only declarations of constructors and conversion operators can be %" + msgstr "solamente las declaraciones de constructores pueden ser %" + +-#: cp/decl.c:11721 ++#: cp/decl.c:11745 + #, gcc-internal-format + msgid "non-member %qs cannot be declared %" + msgstr "el no-miembro %qs no se puede declarar %" + +-#: cp/decl.c:11726 ++#: cp/decl.c:11750 + #, gcc-internal-format + msgid "non-object member %qs cannot be declared %" + msgstr "el miembro que no es objeto %qs no se puede declarar %" + +-#: cp/decl.c:11732 ++#: cp/decl.c:11756 + #, gcc-internal-format + msgid "function %qs cannot be declared %" + msgstr "la función %qs no se puede declarar %" + +-#: cp/decl.c:11737 ++#: cp/decl.c:11761 + #, gcc-internal-format + msgid "static %qs cannot be declared %" + msgstr "static %qs no se puede declarar %" + +-#: cp/decl.c:11742 ++#: cp/decl.c:11766 + #, gcc-internal-format + msgid "const %qs cannot be declared %" + msgstr "const %qs no se puede declarar %" + +-#: cp/decl.c:11747 ++#: cp/decl.c:11771 + #, gcc-internal-format + msgid "reference %qs cannot be declared %" + msgstr "la referencia %qs no se puede declarar %" + +-#: cp/decl.c:11778 ++#: cp/decl.c:11802 + #, gcc-internal-format + msgid "typedef declared %" + msgstr "la definición de tipo se declaró %" + +-#: cp/decl.c:11783 ++#: cp/decl.c:11807 + #, gcc-internal-format + msgid "requires-clause on typedef" + msgstr "" + +-#: cp/decl.c:11787 ++#: cp/decl.c:11811 + #, gcc-internal-format + msgid "typedef name may not be a nested-name-specifier" + msgstr "el nombre del typedef puede no ser un especificador-de-nombre-anidado" + +-#: cp/decl.c:11813 ++#: cp/decl.c:11837 + #, gcc-internal-format + msgid "ISO C++ forbids nested type %qD with same name as enclosing class" + msgstr "ISO C++ prohíbe el tipo anidado %qD con el mismo nombre que la clase que lo contiene" + +-#: cp/decl.c:11900 ++#: cp/decl.c:11924 + #, gcc-internal-format + msgid "% specified for friend class declaration" + msgstr "se especificó % para la declaración de clase friend" + +-#: cp/decl.c:11908 ++#: cp/decl.c:11932 + #, gcc-internal-format + msgid "template parameters cannot be friends" + msgstr "los parámetros de la plantilla no pueden ser friends" + +-#: cp/decl.c:11910 ++#: cp/decl.c:11934 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "la declaración friend requere una llave de clase, p.e. %" + +-#: cp/decl.c:11914 ++#: cp/decl.c:11938 + #, gcc-internal-format + msgid "friend declaration requires class-key, i.e. %" + msgstr "la declaración friend requiere una llave de clase, p.e. %" + +-#: cp/decl.c:11927 ++#: cp/decl.c:11951 + #, gcc-internal-format + msgid "trying to make class %qT a friend of global scope" + msgstr "se intenta hacer que la clase %qT sea un friend de ámbito global" + +-#: cp/decl.c:11947 ++#: cp/decl.c:11971 + #, gcc-internal-format + msgid "invalid qualifiers on non-member function type" + msgstr "calificadores no válidos en el tipo de función que no es miembro" + +-#: cp/decl.c:11951 ++#: cp/decl.c:11975 + #, gcc-internal-format + msgid "requires-clause on type-id" + msgstr "" + +-#: cp/decl.c:11961 ++#: cp/decl.c:11985 + #, gcc-internal-format + msgid "abstract declarator %qT used as declaration" + msgstr "el declarador abstracto %qT se usó como declaración" + +-#: cp/decl.c:11976 ++#: cp/decl.c:12000 + #, fuzzy, gcc-internal-format + #| msgid "value-initialization of function type %qT" + msgid "requires-clause on declaration of non-function type %qT" + msgstr "inicialización por valor del tipo de función %qT" + +-#: cp/decl.c:11995 ++#: cp/decl.c:12019 + #, gcc-internal-format + msgid "cannot use %<::%> in parameter declaration" + msgstr "no se puede usar %<::%> en la declaración de parámetros" + +-#: cp/decl.c:12001 ++#: cp/decl.c:12025 + #, fuzzy, gcc-internal-format + #| msgid "% may not be used in this context" + msgid "% parameter not permitted in this context" + msgstr "no se puede usar % en este contexto" + +-#: cp/decl.c:12003 ++#: cp/decl.c:12027 + #, gcc-internal-format + msgid "parameter declared %" + msgstr "el parámetro se declaró %" + +-#: cp/decl.c:12052 cp/parser.c:3270 ++#: cp/decl.c:12076 cp/parser.c:3270 + #, gcc-internal-format + msgid "invalid use of template-name %qE without an argument list" + msgstr "uso no válido del nombre-de-plantilla %qE sin una lista de argumentos" + +-#: cp/decl.c:12056 ++#: cp/decl.c:12080 + #, fuzzy, gcc-internal-format + #| msgid "non-static data member declared %" + msgid "non-static data member declared with placeholder %qT" + msgstr "se declaró el miembro dato que no es static como %" + +-#: cp/decl.c:12080 ++#: cp/decl.c:12104 + #, fuzzy, gcc-internal-format + #| msgid "ISO C90 does not support flexible array members" + msgid "ISO C++ forbids flexible array member %qs" + msgstr "ISO C90 no admite miembros de matriz flexibles" + +-#: cp/decl.c:12083 ++#: cp/decl.c:12107 + #, fuzzy, gcc-internal-format + #| msgid "ISO C90 does not support flexible array members" + msgid "ISO C++ forbids flexible array members" +@@ -42454,170 +42467,170 @@ + msgstr "ISO C90 no admite miembros de matriz flexibles" + + #. Something like struct S { int N::j; }; +-#: cp/decl.c:12099 ++#: cp/decl.c:12123 + #, gcc-internal-format + msgid "invalid use of %<::%>" + msgstr "uso no válido de %<::%>" + +-#: cp/decl.c:12121 ++#: cp/decl.c:12145 + #, gcc-internal-format + msgid "declaration of function %qD in invalid context" + msgstr "declaración de la función %qD en un contexto no válido" + +-#: cp/decl.c:12130 ++#: cp/decl.c:12154 + #, fuzzy, gcc-internal-format + #| msgid "function %qD declared virtual inside a union" + msgid "function %qD declared % inside a union" + msgstr "la función %qD se declaró virtual dentro de un union" + +-#: cp/decl.c:12139 ++#: cp/decl.c:12163 + #, fuzzy, gcc-internal-format + #| msgid "%qD cannot be declared virtual, since it is always static" + msgid "%qD cannot be declared %, since it is always static" + msgstr "%qD no se puede declarar virtual, ya que siempre es static" + +-#: cp/decl.c:12153 ++#: cp/decl.c:12177 + #, gcc-internal-format + msgid "expected qualified name in friend declaration for destructor %qD" + msgstr "se esperaba un nombre calificado en la declaración friend para el destructor %qD" + +-#: cp/decl.c:12160 ++#: cp/decl.c:12184 + #, gcc-internal-format + msgid "declaration of %qD as member of %qT" + msgstr "declaración de %qD como miembro de %qT" + +-#: cp/decl.c:12166 ++#: cp/decl.c:12190 + #, fuzzy, gcc-internal-format + #| msgid "a destructor cannot be %" + msgid "a destructor cannot be %" + msgstr "un destructor no puede ser %" + +-#: cp/decl.c:12171 ++#: cp/decl.c:12195 + #, gcc-internal-format + msgid "a destructor cannot be %" + msgstr "un destructor no puede ser %" + +-#: cp/decl.c:12177 ++#: cp/decl.c:12201 + #, gcc-internal-format + msgid "expected qualified name in friend declaration for constructor %qD" + msgstr "se esperaba un nombre calificado en la declaración friend para el constructor %qD" + +-#: cp/decl.c:12185 ++#: cp/decl.c:12209 + #, fuzzy, gcc-internal-format + #| msgid "a destructor cannot be %" + msgid "a constructor cannot be %" + msgstr "un destructor no puede ser %" + +-#: cp/decl.c:12190 ++#: cp/decl.c:12214 + #, fuzzy, gcc-internal-format + #| msgid "constructor cannot be static member function" + msgid "a concept cannot be a member function" + msgstr "el constructor no puede ser una función miembro de tipo static" + +-#: cp/decl.c:12199 ++#: cp/decl.c:12223 + #, fuzzy, gcc-internal-format + #| msgid "variable %qD redeclared as function" + msgid "specialization of variable template %qD declared as function" + msgstr "la variable %qD se redeclaró como función" + +-#: cp/decl.c:12202 ++#: cp/decl.c:12226 + #, fuzzy, gcc-internal-format + #| msgid "original type declared here" + msgid "variable template declared here" + msgstr "el tipo original se definió aquí" + +-#: cp/decl.c:12257 ++#: cp/decl.c:12281 + #, fuzzy, gcc-internal-format + #| msgid "field %qD has incomplete type" + msgid "field %qD has incomplete type %qT" + msgstr "el campo %qD tiene tipo de dato incompleto" + +-#: cp/decl.c:12262 ++#: cp/decl.c:12286 + #, gcc-internal-format + msgid "name %qT has incomplete type" + msgstr "el nombre %qT tiene tipo de dato incompleto" + +-#: cp/decl.c:12272 ++#: cp/decl.c:12296 + #, gcc-internal-format + msgid "%qE is neither function nor member function; cannot be declared friend" + msgstr "%qE no es ni función ni función miembro; no se puede declarar friend" + +-#: cp/decl.c:12318 ++#: cp/decl.c:12342 + #, fuzzy, gcc-internal-format + #| msgid "non-static data member %qE declared %" + msgid "static data member %qE declared %" + msgstr "se declaró el miembro dato que no es static %qE como %" + +-#: cp/decl.c:12322 ++#: cp/decl.c:12346 + #, fuzzy, gcc-internal-format + #| msgid "constexpr static data member %qD must have an initializer" + msgid "% static data member %qD must have an initializer" + msgstr "el miembro dato static constexpr %qD debe tener un inicializador" + +-#: cp/decl.c:12350 ++#: cp/decl.c:12374 + #, fuzzy, gcc-internal-format + #| msgid "non-static data member %qE declared %" + msgid "non-static data member %qE declared %" + msgstr "se declaró el miembro dato que no es static %qE como %" + +-#: cp/decl.c:12354 ++#: cp/decl.c:12378 + #, gcc-internal-format + msgid "non-static data member %qE declared %" + msgstr "se declaró el miembro dato que no es static %qE como %" + +-#: cp/decl.c:12409 ++#: cp/decl.c:12433 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "la clase de almacenamiento % es no válida para la función %qs" + +-#: cp/decl.c:12411 ++#: cp/decl.c:12435 + #, gcc-internal-format + msgid "storage class % invalid for function %qs" + msgstr "la clase de almacenamiento % es no válida para la función %qs" + +-#: cp/decl.c:12415 ++#: cp/decl.c:12439 + #, gcc-internal-format + msgid "storage class %<__thread%> invalid for function %qs" + msgstr "la clase de almacenamiento %<__thread%> es no válida para la función %qs" + +-#: cp/decl.c:12418 ++#: cp/decl.c:12442 + #, fuzzy, gcc-internal-format + #| msgid "storage class %<__thread%> invalid for function %qs" + msgid "storage class % invalid for function %qs" + msgstr "la clase de almacenamiento %<__thread%> es no válida para la función %qs" + +-#: cp/decl.c:12423 ++#: cp/decl.c:12447 + #, gcc-internal-format + msgid "virt-specifiers in %qs not allowed outside a class definition" + msgstr "no se permiten los especificadores-virt en %qs fuera de una definición de clase" + +-#: cp/decl.c:12434 ++#: cp/decl.c:12458 + #, fuzzy, gcc-internal-format + #| msgid "% specified invalid for function %qs declared out of global scope" + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "el especificador % es no válido para la función %qs declarada fuera del ámbito global" + +-#: cp/decl.c:12438 ++#: cp/decl.c:12462 + #, gcc-internal-format + msgid "% specifier invalid for function %qs declared out of global scope" + msgstr "el especificador % es no válido para la función %qs declarada fuera del ámbito global" + +-#: cp/decl.c:12446 ++#: cp/decl.c:12470 + #, gcc-internal-format + msgid "virtual non-class function %qs" + msgstr "función virtual %qs que no es clase" + +-#: cp/decl.c:12453 ++#: cp/decl.c:12477 + #, gcc-internal-format + msgid "%qs defined in a non-class scope" + msgstr "se definió %qs en un ámbito que no es una clase" + +-#: cp/decl.c:12454 ++#: cp/decl.c:12478 + #, gcc-internal-format + msgid "%qs declared in a non-class scope" + msgstr "se declaró %qs en un ámbito que no es una clase" + +-#: cp/decl.c:12489 ++#: cp/decl.c:12513 + #, gcc-internal-format + msgid "cannot declare member function %qD to have static linkage" + msgstr "no se puede declarar que la función miembro %qD tenga enlace estático" +@@ -42624,80 +42637,80 @@ + + #. 7.1.1: There can be no static function declarations within a + #. block. +-#: cp/decl.c:12497 ++#: cp/decl.c:12521 + #, gcc-internal-format + msgid "cannot declare static function inside another function" + msgstr "no se puede declarar una función static dentro de otra función" + +-#: cp/decl.c:12533 ++#: cp/decl.c:12557 + #, gcc-internal-format + msgid "% may not be used when defining (as opposed to declaring) a static data member" + msgstr "% puede no ser utilizado cuando se define (opuesto a la declaración) un dato miembro static" + +-#: cp/decl.c:12540 ++#: cp/decl.c:12564 + #, gcc-internal-format + msgid "static member %qD declared %" + msgstr "se declaró el miembro static %qD como %" + +-#: cp/decl.c:12546 ++#: cp/decl.c:12570 + #, gcc-internal-format + msgid "cannot explicitly declare member %q#D to have extern linkage" + msgstr "no se puede declarar explícitamente que el miembro %q#D tenga un enlace externo" + +-#: cp/decl.c:12553 ++#: cp/decl.c:12577 + #, fuzzy, gcc-internal-format + #| msgid "declaration of constexpr variable %qD is not a definition" + msgid "declaration of % variable %qD is not a definition" + msgstr "la declaración de la variable constexpr %qD no es una definición" + +-#: cp/decl.c:12574 ++#: cp/decl.c:12598 + #, gcc-internal-format + msgid "declaration of %q#D has no initializer" + msgstr "la declaración de %q#D no tiene inicializadores" + +-#: cp/decl.c:12585 ++#: cp/decl.c:12609 + #, gcc-internal-format + msgid "%qs initialized and declared %" + msgstr "%qs inicializado y declarado como %" + +-#: cp/decl.c:12589 ++#: cp/decl.c:12613 + #, gcc-internal-format + msgid "%qs has both % and initializer" + msgstr "%qs tiene % e inicializador al mismo tiempo" + +-#: cp/decl.c:12754 ++#: cp/decl.c:12778 + #, gcc-internal-format + msgid "default argument %qE uses %qD" + msgstr "el argumento por defecto %qE usa %qD" + +-#: cp/decl.c:12757 ++#: cp/decl.c:12781 + #, gcc-internal-format + msgid "default argument %qE uses local variable %qD" + msgstr "el argumento por defecto %qE usa la variable local %qD" + +-#: cp/decl.c:12841 ++#: cp/decl.c:12865 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of % in template declaration of %q#D" + msgid "invalid use of cv-qualified type %qT in parameter declaration" + msgstr "uso no válido de % en la declaración de plantilla de %q#D" + +-#: cp/decl.c:12845 ++#: cp/decl.c:12869 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of % in template declaration of %q#D" + msgid "invalid use of type % in parameter declaration" + msgstr "uso no válido de % en la declaración de plantilla de %q#D" + +-#: cp/decl.c:12868 ++#: cp/decl.c:12892 + #, gcc-internal-format + msgid "parameter %qD invalidly declared method type" + msgstr "el parámetro %qD se declaró no válidamente como tipo de método" + +-#: cp/decl.c:12895 ++#: cp/decl.c:12919 + #, gcc-internal-format + msgid "parameter %qD includes pointer to array of unknown bound %qT" + msgstr "el parámetro %qD incluye un puntero a matriz %qT de límite desconocido" + +-#: cp/decl.c:12897 ++#: cp/decl.c:12921 + #, gcc-internal-format + msgid "parameter %qD includes reference to array of unknown bound %qT" + msgstr "el parámetro %qD incluye una referencia a matriz %qT de límite desconocido" +@@ -42717,126 +42730,126 @@ + #. or implicitly defined), there's no need to worry about their + #. existence. Theoretically, they should never even be + #. instantiated, but that's hard to forestall. +-#: cp/decl.c:13150 ++#: cp/decl.c:13174 + #, gcc-internal-format + msgid "invalid constructor; you probably meant %<%T (const %T&)%>" + msgstr "constructor no válido; tal vez quiso decir %<%T (const %T&)%>" + +-#: cp/decl.c:13228 ++#: cp/decl.c:13252 + #, gcc-internal-format + msgid "%qD may not be declared within a namespace" + msgstr "%qD no se puede declarar dentro de un espacio de nombres" + +-#: cp/decl.c:13234 ++#: cp/decl.c:13258 + #, gcc-internal-format + msgid "%qD may not be declared as static" + msgstr "%qD no se puede declarar como static" + +-#: cp/decl.c:13261 ++#: cp/decl.c:13285 + #, gcc-internal-format + msgid "%qD must be a nonstatic member function" + msgstr "%qD debe ser una función miembro que no sea static" + +-#: cp/decl.c:13267 ++#: cp/decl.c:13291 + #, gcc-internal-format + msgid "%qD must be either a non-static member function or a non-member function" + msgstr "%qD debe ser una función miembro que no sea static o una función que no sea miembro" + +-#: cp/decl.c:13277 ++#: cp/decl.c:13301 + #, gcc-internal-format + msgid "%qD must have an argument of class or enumerated type" + msgstr "%qD debe tener un argumento de tipo clase o enumerado" + + #. 13.4.0.3 +-#: cp/decl.c:13303 ++#: cp/decl.c:13327 + #, gcc-internal-format + msgid "ISO C++ prohibits overloading operator ?:" + msgstr "ISO C++ prohíbe la sobrecarga del operador ?:" + + #. Variadic. +-#: cp/decl.c:13314 ++#: cp/decl.c:13338 + #, gcc-internal-format + msgid "%qD must not have variable number of arguments" + msgstr "%qD no debe tener un número variable de argumentos" + +-#: cp/decl.c:13338 ++#: cp/decl.c:13362 + #, fuzzy, gcc-internal-format + #| msgid "%qD must take either zero or one argument" + msgid "%qD must have either zero or one argument" + msgstr "%qD debe tomar cero o un argumentos" + +-#: cp/decl.c:13339 ++#: cp/decl.c:13363 + #, fuzzy, gcc-internal-format + #| msgid "%qD must take either one or two arguments" + msgid "%qD must have either one or two arguments" + msgstr "%qD debe tomar uno o dos argumentos" + +-#: cp/decl.c:13350 ++#: cp/decl.c:13374 + #, fuzzy, gcc-internal-format + #| msgid "postfix %qD must take % as its argument" + msgid "postfix %qD must have % as its argument" + msgstr "el postfijo %qD debe tomar % como su argumento" + +-#: cp/decl.c:13351 ++#: cp/decl.c:13375 + #, fuzzy, gcc-internal-format + #| msgid "postfix %qD must take % as its second argument" + msgid "postfix %qD must have % as its second argument" + msgstr "el postfijo %qD debe tomar % como su segundo argumento" + +-#: cp/decl.c:13361 ++#: cp/decl.c:13385 + #, fuzzy, gcc-internal-format + #| msgid "%qD must take exactly two arguments" + msgid "%qD must have no arguments" + msgstr "%qD debe tomar dos argumentos exactamente" + +-#: cp/decl.c:13362 cp/decl.c:13371 ++#: cp/decl.c:13386 cp/decl.c:13395 + #, fuzzy, gcc-internal-format + #| msgid "%qD must take exactly one argument" + msgid "%qD must have exactly one argument" + msgstr "%qD debe tomar un argumento exactamente" + +-#: cp/decl.c:13372 ++#: cp/decl.c:13396 + #, fuzzy, gcc-internal-format + #| msgid "%qD must take exactly two arguments" + msgid "%qD must have exactly two arguments" + msgstr "%qD debe tomar dos argumentos exactamente" + +-#: cp/decl.c:13389 cp/decl.c:13392 ++#: cp/decl.c:13413 cp/decl.c:13416 + #, gcc-internal-format + msgid "%qD cannot have default arguments" + msgstr "%qD no puede tener argumentos por defecto" + +-#: cp/decl.c:13419 ++#: cp/decl.c:13443 + #, gcc-internal-format + msgid "conversion to a reference to void will never use a type conversion operator" + msgstr "la conversión a una referencia a void nunca usará un operador de conversión de tipo" + +-#: cp/decl.c:13421 ++#: cp/decl.c:13445 + #, gcc-internal-format + msgid "conversion to void will never use a type conversion operator" + msgstr "la conversión a void nunca usará un operador de conversión de tipo" + +-#: cp/decl.c:13428 ++#: cp/decl.c:13452 + #, gcc-internal-format + msgid "conversion to a reference to the same type will never use a type conversion operator" + msgstr "la conversión a una referencia al mismo tipo nunca usará un operador de conversión de tipo" + +-#: cp/decl.c:13430 ++#: cp/decl.c:13454 + #, gcc-internal-format + msgid "conversion to the same type will never use a type conversion operator" + msgstr "la conversión al mismo tipo nunca usará un operador de conversión de tipo" + +-#: cp/decl.c:13438 ++#: cp/decl.c:13462 + #, gcc-internal-format + msgid "conversion to a reference to a base class will never use a type conversion operator" + msgstr "la conversión a una referencia a una clase base nunca usará un operador de conversión de tipo" + +-#: cp/decl.c:13440 ++#: cp/decl.c:13464 + #, gcc-internal-format + msgid "conversion to a base class will never use a type conversion operator" + msgstr "la conversión a una clase base nunca usará un operador de conversión de tipo" + +-#: cp/decl.c:13455 ++#: cp/decl.c:13479 + #, gcc-internal-format + msgid "user-defined %qD always evaluates both arguments" + msgstr "el %qD definido por el usuario siempre evalúa ambos argumentos" +@@ -42843,53 +42856,53 @@ + + # En esta traducción se emplea 'devolver' por 'return'. Si embargo, aquí + # se cambió por cacofonía: no es agradable escuchar 'debe devolver'. cfuga +-#: cp/decl.c:13474 ++#: cp/decl.c:13498 + #, gcc-internal-format + msgid "prefix %qD should return %qT" + msgstr "el prefijo %qD debe regresar %qT" + +-#: cp/decl.c:13480 ++#: cp/decl.c:13504 + #, gcc-internal-format + msgid "postfix %qD should return %qT" + msgstr "el postfijo %qD debe regresar %qT" + +-#: cp/decl.c:13492 ++#: cp/decl.c:13516 + #, gcc-internal-format + msgid "%qD should return by value" + msgstr "%qD debe devolver por valor" + +-#: cp/decl.c:13547 ++#: cp/decl.c:13571 + #, gcc-internal-format + msgid "using template type parameter %qT after %qs" + msgstr "usando el parámetro de tipo plantilla %qT después de %qs" + +-#: cp/decl.c:13570 ++#: cp/decl.c:13594 + #, gcc-internal-format + msgid "using alias template specialization %qT after %qs" + msgstr "se usa especialización de plantilla %qT alias después de %qs" + +-#: cp/decl.c:13573 ++#: cp/decl.c:13597 + #, gcc-internal-format + msgid "using typedef-name %qD after %qs" + msgstr "se usó el nombre de definición de tipo %qD después de %qs" + +-#: cp/decl.c:13575 ++#: cp/decl.c:13599 + #, gcc-internal-format + msgid "%qD has a previous declaration here" + msgstr "%qD tiene una declaración previa aquí" + +-#: cp/decl.c:13583 ++#: cp/decl.c:13607 + #, gcc-internal-format + msgid "%qT referred to as %qs" + msgstr "se refirió a %qT como %qs" + +-#: cp/decl.c:13584 cp/decl.c:13591 ++#: cp/decl.c:13608 cp/decl.c:13615 + #, fuzzy, gcc-internal-format + #| msgid "%q+T has a previous declaration here" + msgid "%qT has a previous declaration here" + msgstr "%q+T tiene una declaración previa aquí" + +-#: cp/decl.c:13590 ++#: cp/decl.c:13614 + #, gcc-internal-format + msgid "%qT referred to as enum" + msgstr "se refirió a %qT como un enum" +@@ -42901,54 +42914,54 @@ + #. void f(class C); // No template header here + #. + #. then the required template argument is missing. +-#: cp/decl.c:13605 ++#: cp/decl.c:13629 + #, gcc-internal-format + msgid "template argument required for %<%s %T%>" + msgstr "se requiere un argumento de plantilla para %<%s %T%>" + +-#: cp/decl.c:13659 cp/name-lookup.c:4652 ++#: cp/decl.c:13683 cp/name-lookup.c:4652 + #, gcc-internal-format + msgid "%qD has the same name as the class in which it is declared" + msgstr "%qD tiene el mismo nombre que la clase en la cual se declaró" + +-#: cp/decl.c:13689 cp/friend.c:301 cp/parser.c:3096 cp/parser.c:6425 +-#: cp/pt.c:9209 ++#: cp/decl.c:13713 cp/friend.c:301 cp/parser.c:3096 cp/parser.c:6428 ++#: cp/pt.c:9223 + #, gcc-internal-format + msgid "%qT is not a template" + msgstr "%qT no es una plantilla" + +-#: cp/decl.c:13694 ++#: cp/decl.c:13718 + #, gcc-internal-format + msgid "perhaps you want to explicitly add %<%T::%>" + msgstr "" + +-#: cp/decl.c:13703 cp/name-lookup.c:4079 cp/name-lookup.c:4086 +-#: cp/name-lookup.c:4939 cp/parser.c:6376 cp/parser.c:26300 ++#: cp/decl.c:13727 cp/name-lookup.c:4079 cp/name-lookup.c:4086 ++#: cp/name-lookup.c:4939 cp/parser.c:6379 cp/parser.c:26297 + #, gcc-internal-format + msgid "reference to %qD is ambiguous" + msgstr "la referencia a %qD es ambigua" + +-#: cp/decl.c:13806 ++#: cp/decl.c:13830 + #, gcc-internal-format + msgid "use of enum %q#D without previous declaration" + msgstr "uso del enum %q#D sin declaración previa" + +-#: cp/decl.c:13842 ++#: cp/decl.c:13866 + #, gcc-internal-format + msgid "redeclaration of %qT as a non-template" + msgstr "redeclaración de %qT como algo que no es plantilla" + +-#: cp/decl.c:13982 ++#: cp/decl.c:14006 + #, gcc-internal-format + msgid "derived union %qT invalid" + msgstr "union derivada %qT no válida" + +-#: cp/decl.c:13989 ++#: cp/decl.c:14013 + #, gcc-internal-format + msgid "%qT defined with multiple direct bases" + msgstr "" + +-#: cp/decl.c:14000 ++#: cp/decl.c:14024 + #, fuzzy, gcc-internal-format + #| msgid "type %qT is not a direct or virtual base of %qT" + msgid "%qT defined with direct virtual base" +@@ -42956,42 +42969,42 @@ + + # No me gusta mucho esta traducción. Creo que es mejor + # "el tipo base %qT no es de tipo struct o clase". cfuga +-#: cp/decl.c:14025 ++#: cp/decl.c:14049 + #, gcc-internal-format + msgid "base type %qT fails to be a struct or class type" + msgstr "el tipo base %qT falla en ser un tipo struct o clase" + +-#: cp/decl.c:14055 ++#: cp/decl.c:14079 + #, gcc-internal-format + msgid "recursive type %qT undefined" + msgstr "tipo recursivo %qT sin definir" + +-#: cp/decl.c:14057 ++#: cp/decl.c:14081 + #, gcc-internal-format + msgid "duplicate base type %qT invalid" + msgstr "tipo base duplicado %qT no válido" + +-#: cp/decl.c:14202 ++#: cp/decl.c:14226 + #, gcc-internal-format + msgid "scoped/unscoped mismatch in enum %q#T" + msgstr "no coinciden scoped/unscoped en el enum %q#T" + +-#: cp/decl.c:14205 cp/decl.c:14213 cp/decl.c:14225 cp/parser.c:18284 ++#: cp/decl.c:14229 cp/decl.c:14237 cp/decl.c:14249 cp/parser.c:18281 + #, gcc-internal-format + msgid "previous definition here" + msgstr "la definición previa está aquí" + +-#: cp/decl.c:14210 ++#: cp/decl.c:14234 + #, gcc-internal-format + msgid "underlying type mismatch in enum %q#T" + msgstr "no coincide el tipo subyacente en el enum %q#T" + +-#: cp/decl.c:14222 ++#: cp/decl.c:14246 + #, gcc-internal-format + msgid "different underlying type in enum %q#T" + msgstr "tipos subyacentes diferentes en el enum %q#T" + +-#: cp/decl.c:14300 ++#: cp/decl.c:14324 + #, fuzzy, gcc-internal-format + #| msgid "underlying type %<%T%> of %<%T%> must be an integral type" + msgid "underlying type %qT of %qT must be an integral type" +@@ -43001,82 +43014,82 @@ + #. + #. IF no integral type can represent all the enumerator values, the + #. enumeration is ill-formed. +-#: cp/decl.c:14447 ++#: cp/decl.c:14471 + #, gcc-internal-format + msgid "no integral type can represent all of the enumerator values for %qT" + msgstr "ningún tipo integral puede representar todos los valores de enumerador de %qT" + +-#: cp/decl.c:14619 ++#: cp/decl.c:14643 + #, fuzzy, gcc-internal-format + #| msgid "enumerator value for %qD is not an integer constant" + msgid "enumerator value for %qD must have integral or unscoped enumeration type" + msgstr "el valor de enumerador para %qD no es una constante entera" + +-#: cp/decl.c:14629 ++#: cp/decl.c:14653 + #, gcc-internal-format + msgid "enumerator value for %qD is not an integer constant" + msgstr "el valor de enumerador para %qD no es una constante entera" + +-#: cp/decl.c:14678 ++#: cp/decl.c:14702 + #, gcc-internal-format + msgid "incremented enumerator value is too large for %" + msgstr "el valor del enumerador incrementado es demasiado grande para %" + +-#: cp/decl.c:14679 ++#: cp/decl.c:14703 + #, fuzzy, gcc-internal-format + #| msgid "incremented enumerator value is too large for %" + msgid "incremented enumerator value is too large for %" + msgstr "el valor del enumerador incrementado es demasiado grande para %" + +-#: cp/decl.c:14690 ++#: cp/decl.c:14714 + #, gcc-internal-format + msgid "overflow in enumeration values at %qD" + msgstr "desbordamiento en valores de enumeración en %qD" + +-#: cp/decl.c:14710 ++#: cp/decl.c:14734 + #, fuzzy, gcc-internal-format + #| msgid "enumerator value %E is too large for underlying type %<%T%>" + msgid "enumerator value %qE is outside the range of underlying type %qT" + msgstr "el valor de enumerador %E es demasiado grande para el tipo subyacente %<%T%>" + +-#: cp/decl.c:14821 ++#: cp/decl.c:14845 + #, gcc-internal-format + msgid "return type %q#T is incomplete" + msgstr "el tipo de devolución %q#T es un tipo de dato incompleto" + +-#: cp/decl.c:14999 cp/typeck.c:9286 ++#: cp/decl.c:15023 cp/typeck.c:9286 + #, gcc-internal-format + msgid "% should return a reference to %<*this%>" + msgstr "% debe devolver una referencia a %<*this%>" + +-#: cp/decl.c:15344 ++#: cp/decl.c:15368 + #, gcc-internal-format + msgid "invalid function declaration" + msgstr "declaración de función no válida" + +-#: cp/decl.c:15786 ++#: cp/decl.c:15810 + #, fuzzy, gcc-internal-format + #| msgid "no return statement in function returning non-void" + msgid "no return statements in function returning %qT" + msgstr "no hay una declaración de devolución en la función que no devuelve void" + +-#: cp/decl.c:15788 cp/typeck.c:9166 ++#: cp/decl.c:15812 cp/typeck.c:9166 + #, fuzzy, gcc-internal-format + #| msgid "function return types not compatible due to %" + msgid "only plain % return type can be deduced to %" + msgstr "los tipos de devolución de función no son compatibles debido a %" + +-#: cp/decl.c:15996 ++#: cp/decl.c:16020 + #, gcc-internal-format + msgid "invalid member function declaration" + msgstr "declaración de la función miembro no válida" + +-#: cp/decl.c:16010 ++#: cp/decl.c:16034 + #, gcc-internal-format + msgid "%qD is already defined in class %qT" + msgstr "%qD ya se definió en la clase %qT" + +-#: cp/decl.c:16386 ++#: cp/decl.c:16410 + #, fuzzy, gcc-internal-format + #| msgid "type of %qD defaults to %" + msgid "use of %qD before deduction of %" +@@ -43118,7 +43131,7 @@ + msgid "deleting %qT is undefined" + msgstr "el borrado de %qT está indefinido" + +-#: cp/decl2.c:585 cp/pt.c:5552 ++#: cp/decl2.c:585 cp/pt.c:5566 + #, gcc-internal-format + msgid "template declaration of %q#D" + msgstr "declaración plantilla de %q#D" +@@ -43131,7 +43144,7 @@ + #. [temp.mem] + #. + #. A destructor shall not be a member template. +-#: cp/decl2.c:640 cp/pt.c:5511 ++#: cp/decl2.c:640 cp/pt.c:5525 + #, gcc-internal-format + msgid "destructor %qD declared as member template" + msgstr "se declaró el destructor %qD como una plantilla miembro" +@@ -43316,51 +43329,51 @@ + msgid "% takes type %qT as first parameter" + msgstr "% toma el tipo %qT como primer argumento" + +-#: cp/decl2.c:2660 ++#: cp/decl2.c:2650 + #, fuzzy, gcc-internal-format + #| msgid "%qT has a field %qD whose type uses the anonymous namespace" + msgid "%qT has a field %qD whose type has no linkage" + msgstr "%qT tiene un campo %qD cuyo tipo usa el espacio de nombres anónimo" + +-#: cp/decl2.c:2664 ++#: cp/decl2.c:2654 + #, fuzzy, gcc-internal-format + #| msgid "%qT has a field %qD whose type uses the anonymous namespace" + msgid "%qT has a field %qD whose type depends on the type %qT which has no linkage" + msgstr "%qT tiene un campo %qD cuyo tipo usa el espacio de nombres anónimo" + +-#: cp/decl2.c:2669 ++#: cp/decl2.c:2659 + #, gcc-internal-format + msgid "%qT has a field %qD whose type uses the anonymous namespace" + msgstr "%qT tiene un campo %qD cuyo tipo usa el espacio de nombres anónimo" + +-#: cp/decl2.c:2677 ++#: cp/decl2.c:2667 + #, gcc-internal-format + msgid "%qT declared with greater visibility than the type of its field %qD" + msgstr "%qT se declaró con mayor visibilidad que el tipo de su campo %qD" + +-#: cp/decl2.c:2695 ++#: cp/decl2.c:2685 + #, fuzzy, gcc-internal-format + #| msgid "%qT has a base %qT whose type uses the anonymous namespace" + msgid "%qT has a base %qT whose type has no linkage" + msgstr "%qT tiene una base %qT cuyo tipo usa el espacio de nombres anónimo" + +-#: cp/decl2.c:2699 ++#: cp/decl2.c:2689 + #, fuzzy, gcc-internal-format + #| msgid "%qT has a base %qT whose type uses the anonymous namespace" + msgid "%qT has a base %qT whose type depends on the type %qT which has no linkage" + msgstr "%qT tiene una base %qT cuyo tipo usa el espacio de nombres anónimo" + +-#: cp/decl2.c:2704 ++#: cp/decl2.c:2694 + #, gcc-internal-format + msgid "%qT has a base %qT whose type uses the anonymous namespace" + msgstr "%qT tiene una base %qT cuyo tipo usa el espacio de nombres anónimo" + +-#: cp/decl2.c:2711 ++#: cp/decl2.c:2701 + #, gcc-internal-format + msgid "%qT declared with greater visibility than its base %qT" + msgstr "%qT se declaró con mayor visibilidad que su base %qT" + +-#: cp/decl2.c:4309 ++#: cp/decl2.c:4299 + #, fuzzy, gcc-internal-format + #| msgid "%q+#D, declared using anonymous type, is used but never defined" + msgid "%q#D, declared using unnamed type, is used but never defined" +@@ -43370,70 +43383,70 @@ + #. no linkage can only be used to declare extern "C" + #. entities. Since it's not always an error in the + #. ISO C++ 90 Standard, we only issue a warning. +-#: cp/decl2.c:4318 ++#: cp/decl2.c:4308 + #, fuzzy, gcc-internal-format + #| msgid "anonymous type with no linkage used to declare variable %q#D with linkage" + msgid "unnamed type with no linkage used to declare variable %q#D with linkage" + msgstr "se usó un tipo anónimo sin enlace para declarar la variable %q#D sin enlace" + +-#: cp/decl2.c:4322 ++#: cp/decl2.c:4312 + #, fuzzy, gcc-internal-format + #| msgid "anonymous type with no linkage used to declare function %q#D with linkage" + msgid "unnamed type with no linkage used to declare function %q#D with linkage" + msgstr "se usó un tipo anónimo sin enlace para declarar la función %q#D con enlace" + +-#: cp/decl2.c:4326 ++#: cp/decl2.c:4316 + #, fuzzy, gcc-internal-format + #| msgid "%q+#D does not refer to the unqualified type, so it is not used for linkage" + msgid "%q#D does not refer to the unqualified type, so it is not used for linkage" + msgstr "%q+#D no se refiere al tipo sin calificar, así que no se usa para el enlace" + +-#: cp/decl2.c:4334 ++#: cp/decl2.c:4324 + #, fuzzy, gcc-internal-format + #| msgid "%q+#D, declared using local type %qT, is used but never defined" + msgid "%q#D, declared using local type %qT, is used but never defined" + msgstr "%q+#D, declarada usando el tipo local %qT, se usa pero nunca se define" + +-#: cp/decl2.c:4338 ++#: cp/decl2.c:4328 + #, gcc-internal-format + msgid "type %qT with no linkage used to declare variable %q#D with linkage" + msgstr "se usó el tipo %qT sin enlace para declarar la variable %q#D con enlace" + +-#: cp/decl2.c:4341 ++#: cp/decl2.c:4331 + #, gcc-internal-format + msgid "type %qT with no linkage used to declare function %q#D with linkage" + msgstr "se usó el tipo %qT sin enlace para declarar la función %q#D con enlace" + +-#: cp/decl2.c:4529 ++#: cp/decl2.c:4519 + #, fuzzy, gcc-internal-format + #| msgid "%q#D conflicts with a previous declaration" + msgid "mangling of %q#D as %qE conflicts with a previous mangle" + msgstr "%q#D genera un conflicto con una declaración previa" + +-#: cp/decl2.c:4532 ++#: cp/decl2.c:4522 + #, fuzzy, gcc-internal-format + #| msgid "previous declaration %q+#D" + msgid "previous mangling %q#D" + msgstr "declaración previa de %q+#D" + +-#: cp/decl2.c:4534 ++#: cp/decl2.c:4524 + #, fuzzy, gcc-internal-format + #| msgid "-fabi-version=6 (or =0) avoids this error with a change in mangling" + msgid "a later -fabi-version= (or =0) avoids this error with a change in mangling" + msgstr "-fabi-version=6 (o =0) evita este error con un cambio en la decodificación" + +-#: cp/decl2.c:4606 cp/decl2.c:4609 ++#: cp/decl2.c:4596 cp/decl2.c:4599 + #, gcc-internal-format + msgid "the program should also define %qD" + msgstr "" + +-#: cp/decl2.c:4956 ++#: cp/decl2.c:4946 + #, fuzzy, gcc-internal-format + #| msgid "inline function %q+D used but never defined" + msgid "inline function %qD used but never defined" + msgstr "se usa la función inline %q+D pero nunca se define" + +-#: cp/decl2.c:5143 ++#: cp/decl2.c:5133 + #, gcc-internal-format + msgid "default argument missing for parameter %P of %q+#D" + msgstr "falta el argumento por defecto para el parámetro %P de %q+#D" +@@ -43440,18 +43453,18 @@ + + #. We mark a lambda conversion op as deleted if we can't + #. generate it properly; see maybe_add_lambda_conv_op. +-#: cp/decl2.c:5251 ++#: cp/decl2.c:5241 + #, fuzzy, gcc-internal-format + #| msgid "converting lambda which uses %<...%> to function pointer" + msgid "converting lambda that uses %<...%> to function pointer" + msgstr "se convierte lambda la cual usa %<...%> a un puntero de función" + +-#: cp/decl2.c:5254 ++#: cp/decl2.c:5244 + #, gcc-internal-format + msgid "use of deleted function %qD" + msgstr "se usó la función borrada %q+D" + +-#: cp/decl2.c:5307 ++#: cp/decl2.c:5297 + #, fuzzy, gcc-internal-format + #| msgid "using % outside of template" + msgid "use of built-in parameter pack %qD outside of a template" +@@ -43749,44 +43762,44 @@ + msgid "recursive instantiation of default member initializer for %qD" + msgstr "los inicializadores de los datos miembro no son estáticos" + +-#: cp/init.c:613 ++#: cp/init.c:629 + #, gcc-internal-format + msgid "default member initializer for %qD required before the end of its enclosing class" + msgstr "" + +-#: cp/init.c:615 ++#: cp/init.c:631 + #, fuzzy, gcc-internal-format + #| msgid "union defined here" + msgid "defined here" + msgstr "se definió union aquí" + +-#: cp/init.c:673 ++#: cp/init.c:689 + #, fuzzy, gcc-internal-format + #| msgid "initialization of a flexible array member" + msgid "initializer for flexible array member %q#D" + msgstr "inicialización de un miembro de matriz flexible" + +-#: cp/init.c:699 ++#: cp/init.c:715 + #, gcc-internal-format + msgid "%qD should be initialized in the member initialization list" + msgstr "%qD se debe inicializar en la lista de inicialización de miembros" + +-#: cp/init.c:720 ++#: cp/init.c:736 + #, gcc-internal-format + msgid "%qD is initialized with itself" + msgstr "%qD se inicializa con sí mismo" + +-#: cp/init.c:831 ++#: cp/init.c:847 + #, gcc-internal-format + msgid "invalid initializer for array member %q#D" + msgstr "inicializador no válido para la matriz miembro %q#D" + +-#: cp/init.c:845 cp/init.c:869 cp/init.c:2410 cp/method.c:1368 ++#: cp/init.c:861 cp/init.c:885 cp/init.c:2427 cp/method.c:1368 + #, gcc-internal-format + msgid "uninitialized const member in %q#T" + msgstr "miembro const sin inicializar en %q#T" + +-#: cp/init.c:847 cp/init.c:864 cp/init.c:871 cp/init.c:2395 cp/init.c:2423 ++#: cp/init.c:863 cp/init.c:880 cp/init.c:887 cp/init.c:2412 cp/init.c:2440 + #: cp/method.c:1371 cp/method.c:1382 + #, fuzzy, gcc-internal-format + #| msgid "%qD should be initialized" +@@ -43793,307 +43806,307 @@ + msgid "%q#D should be initialized" + msgstr "%qD se debe inicializar" + +-#: cp/init.c:862 cp/init.c:2382 cp/method.c:1379 ++#: cp/init.c:878 cp/init.c:2399 cp/method.c:1379 + #, gcc-internal-format + msgid "uninitialized reference member in %q#T" + msgstr "miembro referencia sin inicializar en %q#T" + +-#: cp/init.c:1041 ++#: cp/init.c:1057 + #, fuzzy, gcc-internal-format + #| msgid "%q+D will be initialized after" + msgid "%qD will be initialized after" + msgstr "%q+D se inicializará después de" + +-#: cp/init.c:1044 ++#: cp/init.c:1060 + #, gcc-internal-format + msgid "base %qT will be initialized after" + msgstr "la base %qT se inicializará después de" + +-#: cp/init.c:1048 ++#: cp/init.c:1064 + #, fuzzy, gcc-internal-format + #| msgid " %q+#D" + msgid " %q#D" + msgstr " %q+#D" + +-#: cp/init.c:1050 ++#: cp/init.c:1066 + #, gcc-internal-format + msgid " base %qT" + msgstr " base %qT" + +-#: cp/init.c:1052 ++#: cp/init.c:1068 + #, gcc-internal-format + msgid " when initialized here" + msgstr " cuando se inicializó aquí" + +-#: cp/init.c:1069 ++#: cp/init.c:1085 + #, gcc-internal-format + msgid "multiple initializations given for %qD" + msgstr "se dieron inicializaciones múltiples para %qD" + +-#: cp/init.c:1073 ++#: cp/init.c:1089 + #, gcc-internal-format + msgid "multiple initializations given for base %qT" + msgstr "se dieron inicializaciones múltiples para la base %qT" + +-#: cp/init.c:1158 ++#: cp/init.c:1174 + #, gcc-internal-format + msgid "initializations for multiple members of %qT" + msgstr "inicializaciones para múltiples miembros de %qT" + +-#: cp/init.c:1255 ++#: cp/init.c:1271 + #, gcc-internal-format + msgid "base class %q#T should be explicitly initialized in the copy constructor" + msgstr "la clase base %q#T debe ser inicializada explícitamente en la copia del constructor" + +-#: cp/init.c:1482 cp/init.c:1501 ++#: cp/init.c:1498 cp/init.c:1517 + #, gcc-internal-format + msgid "class %qT does not have any field named %qD" + msgstr "la clase %qT no tiene ningún campo llamado %qD" + +-#: cp/init.c:1488 ++#: cp/init.c:1504 + #, gcc-internal-format + msgid "%q#D is a static data member; it can only be initialized at its definition" + msgstr "%q#D es un dato miembro static; sólo se puede inicializar en su definición" + +-#: cp/init.c:1495 ++#: cp/init.c:1511 + #, gcc-internal-format + msgid "%q#D is not a non-static data member of %qT" + msgstr "%q#D no es un dato miembro no static de %qT" + +-#: cp/init.c:1534 ++#: cp/init.c:1550 + #, gcc-internal-format + msgid "unnamed initializer for %qT, which has no base classes" + msgstr "inicializador sin nombre para %qT, el cual no tiene clases base" + +-#: cp/init.c:1542 ++#: cp/init.c:1558 + #, gcc-internal-format + msgid "unnamed initializer for %qT, which uses multiple inheritance" + msgstr "inicializador sin nombre para %qT, el cual usa herencia múltiple" + +-#: cp/init.c:1589 ++#: cp/init.c:1605 + #, gcc-internal-format + msgid "%qD is both a direct base and an indirect virtual base" + msgstr "%qD es tanto una base directa como una base virtual indirecta" + +-#: cp/init.c:1597 ++#: cp/init.c:1613 + #, gcc-internal-format + msgid "type %qT is not a direct or virtual base of %qT" + msgstr "el tipo %qT no es una base directa o virtual de %qT" + +-#: cp/init.c:1600 ++#: cp/init.c:1616 + #, gcc-internal-format + msgid "type %qT is not a direct base of %qT" + msgstr "el tipo %qT no es una base directa de %qT" + +-#: cp/init.c:1710 cp/init.c:4386 cp/typeck2.c:1175 ++#: cp/init.c:1727 cp/init.c:4402 cp/typeck2.c:1175 + #, gcc-internal-format + msgid "array must be initialized with a brace-enclosed initializer" + msgstr "la matriz se debe inicializar con un inicializador dentro de llaves" + +-#: cp/init.c:2019 cp/semantics.c:3268 ++#: cp/init.c:2036 cp/semantics.c:3271 + #, gcc-internal-format + msgid "%qT is not a class type" + msgstr "%qT no es un tipo de clase" + +-#: cp/init.c:2075 ++#: cp/init.c:2092 + #, gcc-internal-format + msgid "incomplete type %qT does not have member %qD" + msgstr "el tipo incompleto %qT no tiene al miembro %qD" + +-#: cp/init.c:2089 ++#: cp/init.c:2106 + #, gcc-internal-format + msgid "invalid pointer to bit-field %qD" + msgstr "puntero no válido al campo de bits %qD" + +-#: cp/init.c:2175 cp/typeck.c:1893 ++#: cp/init.c:2192 cp/typeck.c:1893 + #, gcc-internal-format + msgid "invalid use of non-static member function %qD" + msgstr "uso no válido de la función miembro no static %qD" + +-#: cp/init.c:2182 cp/semantics.c:1835 ++#: cp/init.c:2199 cp/semantics.c:1835 + #, gcc-internal-format + msgid "invalid use of non-static data member %qD" + msgstr "uso no válido del dato miembro no static %qD" + +-#: cp/init.c:2379 ++#: cp/init.c:2396 + #, gcc-internal-format + msgid "uninitialized reference member in %q#T using % without new-initializer" + msgstr "un miembro referencia sin inicializar en %q#T usa % sin un inicializador new" + +-#: cp/init.c:2387 ++#: cp/init.c:2404 + #, fuzzy, gcc-internal-format + #| msgid "uninitialized reference member in %q#T using % without new-initializer" + msgid "uninitialized reference member in base %q#T of %q#T using % without new-initializer" + msgstr "un miembro referencia sin inicializar en %q#T usa % sin un inicializador new" + +-#: cp/init.c:2391 ++#: cp/init.c:2408 + #, fuzzy, gcc-internal-format + #| msgid "uninitialized reference member in %q#T" + msgid "uninitialized reference member in base %q#T of %q#T" + msgstr "miembro referencia sin inicializar en %q#T" + +-#: cp/init.c:2407 ++#: cp/init.c:2424 + #, gcc-internal-format + msgid "uninitialized const member in %q#T using % without new-initializer" + msgstr "un miembro const sin inicializar en %q#T usa % sin un inicializador new" + +-#: cp/init.c:2415 ++#: cp/init.c:2432 + #, fuzzy, gcc-internal-format + #| msgid "uninitialized const member in %q#T using % without new-initializer" + msgid "uninitialized const member in base %q#T of %q#T using % without new-initializer" + msgstr "un miembro const sin inicializar en %q#T usa % sin un inicializador new" + +-#: cp/init.c:2419 ++#: cp/init.c:2436 + #, fuzzy, gcc-internal-format + #| msgid "uninitialized const member in %q#T" + msgid "uninitialized const member in base %q#T of %q#T" + msgstr "miembro const sin inicializar en %q#T" + +-#: cp/init.c:2710 ++#: cp/init.c:2727 + #, gcc-internal-format + msgid "placement new constructing an object of type %<%T [%wu]%> and size %qwu in a region of type %qT and size %qwi" + msgstr "" + +-#: cp/init.c:2721 ++#: cp/init.c:2738 + #, gcc-internal-format + msgid "placement new constructing an array of objects of type %qT and size %qwu in a region of type %qT and size %qwi" + msgstr "" + +-#: cp/init.c:2732 ++#: cp/init.c:2749 + #, gcc-internal-format + msgid "placement new constructing an object of type %qT and size %qwu in a region of type %qT and size %qwi" + msgstr "" + +-#: cp/init.c:2880 ++#: cp/init.c:2896 + #, fuzzy, gcc-internal-format + #| msgid "integer overflow in expression" + msgid "integer overflow in array size" + msgstr "desbordamiento entero en la expresión" + +-#: cp/init.c:2890 ++#: cp/init.c:2906 + #, fuzzy, gcc-internal-format + #| msgid "num_threads expression must be integral" + msgid "array size in new-expression must be constant" + msgstr "la expresión num_threads debe ser integral" + +-#: cp/init.c:2904 ++#: cp/init.c:2920 + #, fuzzy, gcc-internal-format + #| msgid "double quoted strings not allowed in #if expressions" + msgid "variably modified type not allowed in new-expression" + msgstr "no se permite cadenas con comillas dobles en expresiones #if" + +-#: cp/init.c:2920 ++#: cp/init.c:2936 + #, gcc-internal-format + msgid "non-constant array new length must be specified directly, not by typedef" + msgstr "" + +-#: cp/init.c:2922 ++#: cp/init.c:2938 + #, fuzzy, gcc-internal-format + #| msgid "try removing the parentheses around the type-id" + msgid "non-constant array new length must be specified without parentheses around the type-id" + msgstr "intente borrar los paréntesis alrededor del id-de-tipo" + +-#: cp/init.c:2932 ++#: cp/init.c:2948 + #, gcc-internal-format + msgid "invalid type % for new" + msgstr "tipo % no válido para new" + +-#: cp/init.c:2975 ++#: cp/init.c:2991 + #, gcc-internal-format + msgid "uninitialized const in % of %q#T" + msgstr "const sin inicializar en % de %q#T" + +-#: cp/init.c:3101 ++#: cp/init.c:3117 + #, gcc-internal-format + msgid "no suitable %qD found in class %qT" + msgstr "no se encontró un %qD adecuado en la clase %qT" + +-#: cp/init.c:3108 cp/search.c:1023 ++#: cp/init.c:3124 cp/search.c:1026 + #, gcc-internal-format + msgid "request for member %qD is ambiguous" + msgstr "la petición para el miembro %qD es ambigua" + +-#: cp/init.c:3181 ++#: cp/init.c:3197 + #, gcc-internal-format + msgid "% of type %qT with extended alignment %d" + msgstr "" + +-#: cp/init.c:3184 ++#: cp/init.c:3200 + #, fuzzy, gcc-internal-format + #| msgid "class %qT does not have any field named %qD" + msgid "uses %qD, which does not have an alignment parameter" + msgstr "la clase %qT no tiene ningún campo llamado %qD" + +-#: cp/init.c:3187 ++#: cp/init.c:3203 + #, gcc-internal-format + msgid "use %<-faligned-new%> to enable C++17 over-aligned new support" + msgstr "" + +-#: cp/init.c:3370 ++#: cp/init.c:3386 + #, gcc-internal-format + msgid "parenthesized initializer in array new" + msgstr "inicializador entre paréntesis en la matriz new" + +-#: cp/init.c:3633 ++#: cp/init.c:3649 + #, gcc-internal-format + msgid "size in array new must have integral type" + msgstr "el tamaño de la matriz nueva debe tener un tipo integral" + +-#: cp/init.c:3665 ++#: cp/init.c:3681 + #, gcc-internal-format + msgid "new cannot be applied to a reference type" + msgstr "new no se puede aplicar a un tipo de referencia" + +-#: cp/init.c:3674 ++#: cp/init.c:3690 + #, gcc-internal-format + msgid "new cannot be applied to a function type" + msgstr "new no se puede aplicar a un tipo de función" + +-#: cp/init.c:3743 ++#: cp/init.c:3759 + #, fuzzy, gcc-internal-format + #| msgid "possible problem detected in invocation of delete operator:" + msgid "possible problem detected in invocation of delete [] operator:" + msgstr "se detectó un posible problema en la invocación del operador delete:" + +-#: cp/init.c:3747 ++#: cp/init.c:3763 + #, fuzzy, gcc-internal-format + #| msgid "neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined" + msgid "neither the destructor nor the class-specific operator delete [] will be called, even if they are declared when the class is defined" + msgstr "no se llamará ni al destructor ni al operador delete específico de la clase, aún si se declaran cuando se defina la clase" + +-#: cp/init.c:4295 ++#: cp/init.c:4311 + #, gcc-internal-format + msgid "initializer ends prematurely" + msgstr "el inicializador termina prematuramente" + +-#: cp/init.c:4599 ++#: cp/init.c:4615 + #, gcc-internal-format + msgid "unknown array size in delete" + msgstr "tamaño de matriz desconocida en delete" + +-#: cp/init.c:4623 ++#: cp/init.c:4639 + #, gcc-internal-format + msgid "possible problem detected in invocation of delete operator:" + msgstr "se detectó un posible problema en la invocación del operador delete:" + +-#: cp/init.c:4628 ++#: cp/init.c:4644 + #, gcc-internal-format + msgid "neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined" + msgstr "no se llamará ni al destructor ni al operador delete específico de la clase, aún si se declaran cuando se defina la clase" + +-#: cp/init.c:4642 ++#: cp/init.c:4658 + #, fuzzy, gcc-internal-format + #| msgid "deleting object of abstract class type %qT which has non-virtual destructor will cause undefined behaviour" + msgid "deleting object of abstract class type %qT which has non-virtual destructor will cause undefined behavior" + msgstr "si borra un objeto de tipo de clase abstracta %qT que tiene un destructor que no es virtual, puede causar conducta indefinida" + +-#: cp/init.c:4647 ++#: cp/init.c:4663 + #, fuzzy, gcc-internal-format + #| msgid "deleting object of polymorphic class type %qT which has non-virtual destructor might cause undefined behaviour" + msgid "deleting object of polymorphic class type %qT which has non-virtual destructor might cause undefined behavior" + msgstr "si borra un objeto de tipo de clase polimórfica %qT que tiene un destructor que no es virtual, puede causar conducta indefinida" + +-#: cp/init.c:4954 ++#: cp/init.c:4970 + #, gcc-internal-format + msgid "type to vector delete is neither pointer or array type" + msgstr "el tipo de vector delete no es del tipo puntero ni matriz" +@@ -44600,7 +44613,7 @@ + msgid "ignoring %qD attribute on non-inline namespace" + msgstr "se descartan los atributos en el argumento de plantilla %qT" + +-#: cp/name-lookup.c:5111 cp/name-lookup.c:7065 ++#: cp/name-lookup.c:5111 cp/name-lookup.c:7073 + #, gcc-internal-format + msgid "%qD attribute directive ignored" + msgstr "se descarta la directiva de atributo %qD" +@@ -44652,60 +44665,60 @@ + msgid "it was later defined here" + msgstr "se definió struct aquí" + +-#: cp/name-lookup.c:6687 ++#: cp/name-lookup.c:6695 + #, fuzzy, gcc-internal-format + #| msgid "deducing from brace-enclosed initializer list requires #include " + msgid "declaration of % does not match %<#include %>, isn't a template" + msgstr "la deducción de una lista inicializadora encerrada entre llaves requiere #include " + +-#: cp/name-lookup.c:7059 ++#: cp/name-lookup.c:7067 + #, fuzzy, gcc-internal-format + #| msgid "switch %qs is no longer supported" + msgid "strong using directive no longer supported" + msgstr "la opción %qs ya no se admite" + +-#: cp/name-lookup.c:7062 ++#: cp/name-lookup.c:7070 + #, fuzzy, gcc-internal-format + #| msgid "This switch is deprecated; use -fsanitize-recover= instead." + msgid "you may use an inline namespace instead" + msgstr "Esta opción es obsoleta; utilice en su lugar -fsanitize-recover=." + +-#: cp/name-lookup.c:7079 ++#: cp/name-lookup.c:7087 + #, fuzzy, gcc-internal-format + #| msgid "attributes ignored on uninstantiated type" + msgid "attributes ignored on local using directive" + msgstr "se descartan los atributos en el tipo sin instanciar" + +-#: cp/name-lookup.c:7163 ++#: cp/name-lookup.c:7171 + #, gcc-internal-format + msgid "namespace alias %qD not allowed here, assuming %qD" + msgstr "no se permite aquí el alias del espacio de nombres %qD, se asume que es %qD" + + #. We only allow depth 255. +-#: cp/name-lookup.c:7183 ++#: cp/name-lookup.c:7191 + #, fuzzy, gcc-internal-format, gfc-internal-format + #| msgid "%qD may not be declared within a namespace" + msgid "cannot nest more than %d namespaces" + msgstr "%qD no se puede declarar dentro de un espacio de nombres" + +-#: cp/name-lookup.c:7218 ++#: cp/name-lookup.c:7226 + #, fuzzy, gcc-internal-format + #| msgid "method attributes must be specified at the end only" + msgid "inline namespace must be specified at initial definition" + msgstr "los atributos de método sólo se deben especificar al final" + +-#: cp/name-lookup.c:7219 ++#: cp/name-lookup.c:7227 + #, fuzzy, gcc-internal-format + #| msgid "label %qD defined here" + msgid "%qD defined here" + msgstr "la etiqueta %qD se define aquí" + +-#: cp/name-lookup.c:7292 ++#: cp/name-lookup.c:7300 + #, gcc-internal-format + msgid "XXX entering pop_everything ()\n" + msgstr "XXX entrando a pop_everything ()\n" + +-#: cp/name-lookup.c:7301 ++#: cp/name-lookup.c:7309 + #, gcc-internal-format + msgid "XXX leaving pop_everything ()\n" + msgstr "XXX saliendo de pop_everything ()\n" +@@ -44725,7 +44738,7 @@ + msgid "LEXER_DEBUGGING_ENABLED_P is not set to true" + msgstr "" + +-#: cp/parser.c:1352 cp/parser.c:37254 ++#: cp/parser.c:1352 cp/parser.c:37251 + #, gcc-internal-format + msgid "%<#pragma omp declare simd%> not immediately followed by function declaration or definition" + msgstr "" +@@ -44750,7 +44763,7 @@ + msgid "request for member %qE in non-class type %qT" + msgstr "solicitud por el miembro %qE en el tipo %qT que no es clase" + +-#: cp/parser.c:2949 cp/parser.c:18221 ++#: cp/parser.c:2949 cp/parser.c:18218 + #, gcc-internal-format + msgid "%<%T::%E%> has not been declared" + msgstr "%<%T::%E%> no se ha declarado" +@@ -44832,7 +44845,7 @@ + msgid "ISO C++ forbids using a floating-point literal in a constant-expression" + msgstr "una literal de coma flotante no puede aparecer en una expresión constante" + +-#: cp/parser.c:3143 cp/pt.c:17853 ++#: cp/parser.c:3143 cp/pt.c:17890 + #, gcc-internal-format + msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression" + msgstr "una conversión a un tipo diferente de un tipo integral o de enumeración no puede aparecer en una expresión constante" +@@ -45065,7 +45078,7 @@ + msgid "unable to find string literal operator %qD with %qT, %qT arguments" + msgstr "no se puede encontrar un operador literal de cadena %qD con argumentos %qT, %qT" + +-#: cp/parser.c:4587 cp/parser.c:12940 ++#: cp/parser.c:4587 cp/parser.c:12937 + #, gcc-internal-format + msgid "expected declaration" + msgstr "se esperaba una declaración" +@@ -45121,7 +45134,7 @@ + msgid "fold-expressions only available with -std=c++17 or -std=gnu++17" + msgstr "las expresiones lambda sólo están disponibles con -std=c++11 o -std=gnu++11" + +-#: cp/parser.c:5275 cp/parser.c:5452 cp/parser.c:5630 cp/semantics.c:3612 ++#: cp/parser.c:5275 cp/parser.c:5452 cp/parser.c:5633 cp/semantics.c:3615 + #, gcc-internal-format + msgid "expected primary-expression" + msgstr "se esperaba una expresión primaria" +@@ -45141,97 +45154,97 @@ + msgid "local variable %qD may not appear in this context" + msgstr "la variable local %qD no puede aparecer en este contexto" + +-#: cp/parser.c:5787 ++#: cp/parser.c:5790 + #, gcc-internal-format + msgid "expected id-expression" + msgstr "se esperaba una expresión id" + +-#: cp/parser.c:5919 ++#: cp/parser.c:5922 + #, gcc-internal-format + msgid "scope %qT before %<~%> is not a class-name" + msgstr "el ámbito %qT antes de %<~%> no es un nombre-de-clase" + +-#: cp/parser.c:5948 cp/parser.c:7860 ++#: cp/parser.c:5951 cp/parser.c:7860 + #, fuzzy, gcc-internal-format + #| msgid "C++0x auto only available with -std=c++11 or -std=gnu++11" + msgid "%<~auto%> only available with -std=c++14 or -std=gnu++14" + msgstr "C++0x automático sólo está disponible con -std=c++11 o -std=gnu++11" + +-#: cp/parser.c:6059 ++#: cp/parser.c:6062 + #, gcc-internal-format + msgid "declaration of %<~%T%> as member of %qT" + msgstr "declaración de %<~%T%> como miembro de %qT" + +-#: cp/parser.c:6074 ++#: cp/parser.c:6077 + #, gcc-internal-format + msgid "typedef-name %qD used as destructor declarator" + msgstr "se usa el nombre-de-definición-de-tipo %qD como un declarador de destructor" + +-#: cp/parser.c:6111 cp/parser.c:20249 ++#: cp/parser.c:6114 cp/parser.c:20246 + #, gcc-internal-format + msgid "expected unqualified-id" + msgstr "se esperaba un id sin calificar" + +-#: cp/parser.c:6220 ++#: cp/parser.c:6223 + #, gcc-internal-format + msgid "found %<:%> in nested-name-specifier, expected %<::%>" + msgstr "se encontró %<:%> en un especificador de nombre anidado, se esperaba %<::%>" + +-#: cp/parser.c:6288 ++#: cp/parser.c:6291 + #, gcc-internal-format + msgid "decltype evaluates to %qT, which is not a class or enumeration type" + msgstr "el tipo de declaración evalúa a %qT, el cual no es una clase o un tipo enumerado" + +-#: cp/parser.c:6314 ++#: cp/parser.c:6317 + #, fuzzy, gcc-internal-format + #| msgid "incomplete type %qT used in nested name specifier" + msgid "function template-id %qD in nested-name-specifier" + msgstr "se utilizó el tipo incompleto %qT en un especificador de nombre anidado" + +-#: cp/parser.c:6322 ++#: cp/parser.c:6325 + #, fuzzy, gcc-internal-format + #| msgid "expected nested-name-specifier" + msgid "variable template-id %qD in nested-name-specifier" + msgstr "se esperaban especificadores de nombre anidados" + +-#: cp/parser.c:6426 cp/typeck.c:2684 cp/typeck.c:2687 cp/typeck.c:2704 ++#: cp/parser.c:6429 cp/typeck.c:2684 cp/typeck.c:2687 cp/typeck.c:2704 + #, gcc-internal-format + msgid "%qD is not a template" + msgstr "%qD no es una plantilla" + +-#: cp/parser.c:6504 ++#: cp/parser.c:6507 + #, gcc-internal-format + msgid "expected nested-name-specifier" + msgstr "se esperaban especificadores de nombre anidados" + +-#: cp/parser.c:6711 cp/parser.c:8950 ++#: cp/parser.c:6714 cp/parser.c:8950 + #, gcc-internal-format + msgid "types may not be defined in casts" + msgstr "los tipos no se pueden definir en conversiones" + +-#: cp/parser.c:6797 ++#: cp/parser.c:6800 + #, gcc-internal-format + msgid "types may not be defined in a % expression" + msgstr "no se pueden definir tipos en una expresión %" + +-#: cp/parser.c:6889 ++#: cp/parser.c:6892 + #, fuzzy, gcc-internal-format + #| msgid "wrong number of arguments to %<__builtin_shuffle%>" + msgid "wrong number of arguments to %<__builtin_addressof%>" + msgstr "número erróneo de argumentos para %<__builtin_shuffle%>" + +-#: cp/parser.c:6901 cp/pt.c:18416 ++#: cp/parser.c:6904 cp/pt.c:18453 + #, fuzzy, gcc-internal-format + #| msgid "wrong number of arguments to %<__builtin_complex%>" + msgid "wrong number of arguments to %<__builtin_launder%>" + msgstr "número erróneo de argumentos para %<__builtin_complex%>" + +-#: cp/parser.c:6995 ++#: cp/parser.c:6998 + #, gcc-internal-format + msgid "ISO C++ forbids compound-literals" + msgstr "ISO C++ prohíbe las literales compuestas" + +-#: cp/parser.c:7054 ++#: cp/parser.c:7057 + #, gcc-internal-format + msgid "two consecutive %<[%> shall only introduce an attribute" + msgstr "" +@@ -45369,7 +45382,7 @@ + msgid "capture of non-variable %qE" + msgstr "captura de %qD que no es variable " + +-#: cp/parser.c:10391 cp/parser.c:10401 cp/semantics.c:3453 cp/semantics.c:3465 ++#: cp/parser.c:10391 cp/parser.c:10401 cp/semantics.c:3456 cp/semantics.c:3468 + #, fuzzy, gcc-internal-format + #| msgid "%q+#D declared here" + msgid "%q#D declared here" +@@ -45463,7 +45476,7 @@ + msgid "init-statement in selection statements only available with -std=c++17 or -std=gnu++17" + msgstr "los nombres de espacio incluidos en línea sólo están disponibles con -std=c++11 o -std=gnu++11" + +-#: cp/parser.c:11546 cp/parser.c:28490 ++#: cp/parser.c:11546 cp/parser.c:28487 + #, gcc-internal-format + msgid "expected selection-statement" + msgstr "se esperaba una declaración de selección" +@@ -45483,18 +45496,18 @@ + msgid "inconsistent begin/end types in range-based % statement: %qT and %qT" + msgstr "tipos begin/end inconsistentes para la declaración % basada en rango: %qT y %qT" + +-#: cp/parser.c:12250 cp/parser.c:28493 ++#: cp/parser.c:12250 cp/parser.c:28490 + #, gcc-internal-format + msgid "expected iteration-statement" + msgstr "se esperaba una declaración de iteración" + +-#: cp/parser.c:12298 ++#: cp/parser.c:12297 + #, fuzzy, gcc-internal-format + #| msgid "unrestricted unions only available with -std=c++11 or -std=gnu++11" + msgid "range-based % loops only available with -std=c++11 or -std=gnu++11" + msgstr "las uniones sin restricción sólo están disponibles con -std=c++11 o -std=gnu++11" + +-#: cp/parser.c:12426 ++#: cp/parser.c:12423 + #, fuzzy, gcc-internal-format + #| msgid "compound-statement in constexpr function" + msgid "% in % function" +@@ -45501,576 +45514,576 @@ + msgstr "declaración compuesta en una función constexpr" + + #. Issue a warning about this use of a GNU extension. +-#: cp/parser.c:12434 ++#: cp/parser.c:12431 + #, gcc-internal-format + msgid "ISO C++ forbids computed gotos" + msgstr "ISO C++ prohíbe los gotos calculados" + +-#: cp/parser.c:12447 cp/parser.c:28496 ++#: cp/parser.c:12444 cp/parser.c:28493 + #, gcc-internal-format + msgid "expected jump-statement" + msgstr "se esperaba una declaración de salto" + +-#: cp/parser.c:12620 cp/parser.c:23584 ++#: cp/parser.c:12617 cp/parser.c:23581 + #, gcc-internal-format + msgid "extra %<;%>" + msgstr "<;%> extra" + +-#: cp/parser.c:12863 ++#: cp/parser.c:12860 + #, gcc-internal-format + msgid "%<__label__%> not at the beginning of a block" + msgstr "%<__label%> no está al inicio de un bloque" + +-#: cp/parser.c:13083 ++#: cp/parser.c:13080 + #, gcc-internal-format + msgid "non-variable %qD in declaration with more than one declarator with placeholder type" + msgstr "" + +-#: cp/parser.c:13103 ++#: cp/parser.c:13100 + #, gcc-internal-format + msgid "inconsistent deduction for %qT: %qT and then %qT" + msgstr "deducción inconsistente para %qT: %qT y después %qT" + +-#: cp/parser.c:13124 ++#: cp/parser.c:13121 + #, gcc-internal-format + msgid "mixing declarations and function-definitions is forbidden" + msgstr "se prohíbe mezclar declaraciones y definiciones-de-función" + +-#: cp/parser.c:13148 ++#: cp/parser.c:13145 + #, fuzzy, gcc-internal-format + #| msgid "types may not be defined in exception-declarations" + msgid "types may not be defined in a for-range-declaration" + msgstr "no se pueden definir tipos en declaraciones de excepción" + +-#: cp/parser.c:13203 ++#: cp/parser.c:13200 + #, fuzzy, gcc-internal-format + #| msgid "types may not be defined in range-based for loops" + msgid "initializer in range-based % loop" + msgstr "no se pueden definir tipos en bucles for basados en rango" + +-#: cp/parser.c:13206 ++#: cp/parser.c:13203 + #, fuzzy, gcc-internal-format + #| msgid "multiple declarations `%T' and `%T'" + msgid "multiple declarations in range-based % loop" + msgstr "declaraciones múltiples `%T' y `%T'" + +-#: cp/parser.c:13257 ++#: cp/parser.c:13254 + #, fuzzy, gcc-internal-format + #| msgid "unrestricted unions only available with -std=c++11 or -std=gnu++11" + msgid "structured bindings only available with -std=c++17 or -std=gnu++17" + msgstr "las uniones sin restricción sólo están disponibles con -std=c++11 o -std=gnu++11" + +-#: cp/parser.c:13306 ++#: cp/parser.c:13303 + #, fuzzy, gcc-internal-format + #| msgid "invalid initializer for bit string" + msgid "empty structured binding declaration" + msgstr "inicializador no válido para la cadena de bits" + +-#: cp/parser.c:13324 ++#: cp/parser.c:13321 + #, fuzzy, gcc-internal-format + #| msgid "invalid initializer for bit string" + msgid "invalid initializer for structured binding declaration" + msgstr "inicializador no válido para la cadena de bits" + +-#: cp/parser.c:13491 ++#: cp/parser.c:13488 + #, gcc-internal-format + msgid "% used outside of class" + msgstr "se usó % fuera de la clase" + +-#: cp/parser.c:13558 ++#: cp/parser.c:13555 + #, gcc-internal-format + msgid "% changes meaning in C++11; please remove it" + msgstr "% cambiará su significado en C++11; por favor bórrelo" + +-#: cp/parser.c:13594 ++#: cp/parser.c:13591 + #, gcc-internal-format + msgid "decl-specifier invalid in condition" + msgstr "especificador-decl no válido en la condición" + +-#: cp/parser.c:13600 ++#: cp/parser.c:13597 + #, fuzzy, gcc-internal-format + #| msgid "%qD invalid in %qT" + msgid "%qD invalid in lambda" + msgstr "%qD no válido en %qT" + +-#: cp/parser.c:13693 ++#: cp/parser.c:13690 + #, gcc-internal-format + msgid "class definition may not be declared a friend" + msgstr "la definición de clase no se puede declarar como friend" + +-#: cp/parser.c:13763 cp/parser.c:24064 ++#: cp/parser.c:13760 cp/parser.c:24061 + #, gcc-internal-format + msgid "templates may not be %" + msgstr "las plantillas no pueden ser %" + +-#: cp/parser.c:13805 ++#: cp/parser.c:13802 + #, gcc-internal-format + msgid "invalid linkage-specification" + msgstr "especificación de enlace no válida" + +-#: cp/parser.c:13909 ++#: cp/parser.c:13906 + #, fuzzy, gcc-internal-format + #| msgid "inline namespaces only available with -std=c++11 or -std=gnu++11" + msgid "static_assert without a message only available with -std=c++17 or -std=gnu++17" + msgstr "los nombres de espacio incluidos en línea sólo están disponibles con -std=c++11 o -std=gnu++11" + +-#: cp/parser.c:14111 ++#: cp/parser.c:14108 + #, gcc-internal-format + msgid "types may not be defined in % expressions" + msgstr "no se pueden definir tipos en expresiones %" + +-#: cp/parser.c:14264 ++#: cp/parser.c:14261 + #, fuzzy, gcc-internal-format + #| msgid "types may not be defined in a new-type-id" + msgid "types may not be defined in a conversion-type-id" + msgstr "no se pueden definir tipos en un id-tipo-nuevo" + +-#: cp/parser.c:14291 ++#: cp/parser.c:14288 + #, gcc-internal-format + msgid "invalid use of % in conversion operator" + msgstr "uso no válido de % en el operador de conversión" + +-#: cp/parser.c:14295 ++#: cp/parser.c:14292 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of % in conversion operator" + msgid "use of % in member template conversion operator can never be deduced" + msgstr "uso no válido de % en el operador de conversión" + +-#: cp/parser.c:14379 ++#: cp/parser.c:14376 + #, gcc-internal-format + msgid "only constructors take member initializers" + msgstr "solamente los constructores toman inicializadores miembro" + +-#: cp/parser.c:14406 ++#: cp/parser.c:14403 + #, fuzzy, gcc-internal-format + #| msgid "cannot expand initializer for member %<%D%>" + msgid "cannot expand initializer for member %qD" + msgstr "no se puede expandir el inicializador para el miembro %<%D%>" + +-#: cp/parser.c:14418 cp/pt.c:24255 ++#: cp/parser.c:14415 cp/pt.c:24333 + #, gcc-internal-format + msgid "mem-initializer for %qD follows constructor delegation" + msgstr "inicializador mem para %qD después de una delegación de constructor" + +-#: cp/parser.c:14430 cp/pt.c:24267 ++#: cp/parser.c:14427 cp/pt.c:24345 + #, gcc-internal-format + msgid "constructor delegation follows mem-initializer for %qD" + msgstr "delegación de constructor después de un inicializador mem para %qD" + +-#: cp/parser.c:14482 ++#: cp/parser.c:14479 + #, gcc-internal-format + msgid "anachronistic old-style base class initializer" + msgstr "inicializador de clase base de estilo antiguo anacrónico" + +-#: cp/parser.c:14552 ++#: cp/parser.c:14549 + #, gcc-internal-format + msgid "keyword % not allowed in this context (a qualified member initializer is implicitly a type)" + msgstr "no se permite la palabra clave % en este contexto (un inicializador de miembro calificado es implícitamente un tipo)" + +-#: cp/parser.c:14927 ++#: cp/parser.c:14924 + #, fuzzy, gcc-internal-format + #| msgid "missing space between %<\"\"%> and suffix identifier" + msgid "unexpected keyword; remove space between quotes and suffix identifier" + msgstr "falta un espacio entre %<\"\"%> y el identificador sufijo" + +-#: cp/parser.c:14933 ++#: cp/parser.c:14930 + #, gcc-internal-format + msgid "expected suffix identifier" + msgstr "se esperaba un identificador sufijo" + +-#: cp/parser.c:14942 ++#: cp/parser.c:14939 + #, gcc-internal-format + msgid "expected empty string after % keyword" + msgstr "se esperaba una cadena vacía después de la palabra clave %" + +-#: cp/parser.c:14948 ++#: cp/parser.c:14945 + #, fuzzy, gcc-internal-format + #| msgid "invalid operands in ternary operation" + msgid "invalid encoding prefix in literal operator" + msgstr "operandos no válidos en la operación terniaria" + +-#: cp/parser.c:14975 ++#: cp/parser.c:14972 + #, gcc-internal-format + msgid "expected operator" + msgstr "operador inesperado" + + #. Warn that we do not support `export'. +-#: cp/parser.c:15020 ++#: cp/parser.c:15017 + #, gcc-internal-format + msgid "keyword % not implemented, and will be ignored" + msgstr "no se admite la palabra clave %, y se descartará" + +-#: cp/parser.c:15190 ++#: cp/parser.c:15187 + #, fuzzy, gcc-internal-format + #| msgid "invalid template non-type parameter" + msgid "invalid constrained type parameter" + msgstr "parámetro que no es tipo plantilla no válido" + +-#: cp/parser.c:15198 ++#: cp/parser.c:15195 + #, fuzzy, gcc-internal-format + #| msgid "invalid catch parameter" + msgid "cv-qualified type parameter" + msgstr "parámetro de captura no válido" + +-#: cp/parser.c:15283 ++#: cp/parser.c:15280 + #, gcc-internal-format + msgid "variadic constraint introduced without %<...%>" + msgstr "" + +-#: cp/parser.c:15347 ++#: cp/parser.c:15344 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of '%E' as a non-type template-argument" + msgid "invalid use of % in default template argument" + msgstr "uso no válido de '%E' como un argumento de plantilla que no es tipo" + +-#: cp/parser.c:15582 cp/parser.c:15668 cp/parser.c:21694 ++#: cp/parser.c:15579 cp/parser.c:15665 cp/parser.c:21691 + #, gcc-internal-format + msgid "template parameter pack %qD cannot have a default argument" + msgstr "el paquete de parámetros plantilla %qD no puede tener un argumento por defecto" + +-#: cp/parser.c:15586 cp/parser.c:15672 ++#: cp/parser.c:15583 cp/parser.c:15669 + #, gcc-internal-format + msgid "template parameter packs cannot have default arguments" + msgstr "los paquetes de parámetro de plantilla no pueden tener argumentos por defecto" + +-#: cp/parser.c:15738 ++#: cp/parser.c:15735 + #, gcc-internal-format + msgid "expected template-id" + msgstr "se esperaba un id de plantilla" + +-#: cp/parser.c:15798 ++#: cp/parser.c:15795 + #, gcc-internal-format + msgid "%<<::%> cannot begin a template-argument list" + msgstr "%<<::%> no puede iniciar una lista de argumentos de plantilla" + +-#: cp/parser.c:15802 ++#: cp/parser.c:15799 + #, gcc-internal-format + msgid "%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> and %<::%>" + msgstr "%<<:%> es una forma alternativa para %<[%>. Inserte espacios en blanco entre %<<%> y %<::%>" + +-#: cp/parser.c:15806 ++#: cp/parser.c:15803 + #, fuzzy, gcc-internal-format + #| msgid "(if you use %<-fpermissive%> G++ will accept your code)" + msgid "(if you use %<-fpermissive%> or %<-std=c++11%>, or %<-std=gnu++11%> G++ will accept your code)" + msgstr "(si utiliza %<-fpermissive%>, G++ aceptará su código)" + +-#: cp/parser.c:15924 ++#: cp/parser.c:15921 + #, gcc-internal-format + msgid "parse error in template argument list" + msgstr "error de decodificación en la lista de argumentos de plantilla" + + #. The name does not name a template. +-#: cp/parser.c:15992 cp/parser.c:16122 cp/parser.c:16337 ++#: cp/parser.c:15989 cp/parser.c:16119 cp/parser.c:16334 + #, gcc-internal-format + msgid "expected template-name" + msgstr "se esperaba un nombre de plantilla" + + #. Explain what went wrong. +-#: cp/parser.c:16038 ++#: cp/parser.c:16035 + #, gcc-internal-format + msgid "non-template %qD used as template" + msgstr "se usó %qD que no es plantilla como plantilla" + +-#: cp/parser.c:16040 ++#: cp/parser.c:16037 + #, gcc-internal-format + msgid "use %<%T::template %D%> to indicate that it is a template" + msgstr "utilice %<%T::template %D%> para indicar que es una plantilla" + +-#: cp/parser.c:16189 ++#: cp/parser.c:16186 + #, gcc-internal-format + msgid "expected parameter pack before %<...%>" + msgstr "se esperaba el parámetro pack antes de %<...%>" + +-#: cp/parser.c:16298 cp/parser.c:16316 cp/parser.c:16483 ++#: cp/parser.c:16295 cp/parser.c:16313 cp/parser.c:16480 + #, gcc-internal-format + msgid "expected template-argument" + msgstr "se esperaba un argumento de plantilla" + +-#: cp/parser.c:16458 ++#: cp/parser.c:16455 + #, gcc-internal-format + msgid "invalid non-type template argument" + msgstr "argumento de plantilla que no es tipo no válido" + +-#: cp/parser.c:16585 ++#: cp/parser.c:16582 + #, gcc-internal-format + msgid "explicit instantiation shall not use % specifier" + msgstr "la instanciación explícita no debe usar el especificador %" + +-#: cp/parser.c:16589 ++#: cp/parser.c:16586 + #, gcc-internal-format + msgid "explicit instantiation shall not use % specifier" + msgstr "la instanciación explícita no debe usar el especificador %" + +-#: cp/parser.c:16648 ++#: cp/parser.c:16645 + #, gcc-internal-format + msgid "template specialization with C linkage" + msgstr "especialización de plantilla con enlace C" + +-#: cp/parser.c:16869 ++#: cp/parser.c:16866 + #, gcc-internal-format + msgid "expected type specifier" + msgstr "se esperaba un specificador de tipo" + +-#: cp/parser.c:17053 ++#: cp/parser.c:17050 + #, fuzzy, gcc-internal-format + #| msgid "defaulted and deleted functions only available with -std=c++11 or -std=gnu++11" + msgid "use of % in lambda parameter declaration only available with -std=c++14 or -std=gnu++14" + msgstr "las funciones por defecto y borradas sólo están disponibles con -std=c++11 o -std=gnu++11" + +-#: cp/parser.c:17059 ++#: cp/parser.c:17056 + #, fuzzy, gcc-internal-format + #| msgid "defaulted and deleted functions only available with -std=c++11 or -std=gnu++11" + msgid "use of % in parameter declaration only available with -std=c++14 or -std=gnu++14" + msgstr "las funciones por defecto y borradas sólo están disponibles con -std=c++11 o -std=gnu++11" + +-#: cp/parser.c:17064 ++#: cp/parser.c:17061 + #, fuzzy, gcc-internal-format + #| msgid "defaulted and deleted functions only available with -std=c++11 or -std=gnu++11" + msgid "use of % in parameter declaration only available with -fconcepts" + msgstr "las funciones por defecto y borradas sólo están disponibles con -std=c++11 o -std=gnu++11" + +-#: cp/parser.c:17209 ++#: cp/parser.c:17206 + #, gcc-internal-format + msgid "expected template-id for type" + msgstr "se esperaba un id de plantilla para el tipo" + +-#: cp/parser.c:17278 ++#: cp/parser.c:17275 + #, gcc-internal-format + msgid "expected type-name" + msgstr "se esperaba un nombre de tipo" + +-#: cp/parser.c:17631 ++#: cp/parser.c:17628 + #, fuzzy, gcc-internal-format + #| msgid "elaborated-type-specifier for a scoped enum must not use the %<%D%> keyword" + msgid "elaborated-type-specifier for a scoped enum must not use the %qD keyword" + msgstr "el especificador de tipo elaborado para un ámbito enumerado no debe usar la palabra clave %<%D%>" + +-#: cp/parser.c:17854 ++#: cp/parser.c:17851 + #, gcc-internal-format + msgid "declaration %qD does not declare anything" + msgstr "la declaración %qD no declara nada" + +-#: cp/parser.c:17942 ++#: cp/parser.c:17939 + #, gcc-internal-format + msgid "attributes ignored on uninstantiated type" + msgstr "se descartan los atributos en el tipo sin instanciar" + +-#: cp/parser.c:17946 ++#: cp/parser.c:17943 + #, gcc-internal-format + msgid "attributes ignored on template instantiation" + msgstr "se descartan los atributos en la instanciación de una plantilla" + +-#: cp/parser.c:17951 ++#: cp/parser.c:17948 + #, gcc-internal-format + msgid "attributes ignored on elaborated-type-specifier that is not a forward declaration" + msgstr "se descartan los atributos en un especificador de tipo elaborado que no es una declaración adelantada" + +-#: cp/parser.c:18085 ++#: cp/parser.c:18082 + #, gcc-internal-format + msgid "%qD is an enumeration template" + msgstr "%qD es una plantilla de enumeración" + +-#: cp/parser.c:18096 ++#: cp/parser.c:18093 + #, fuzzy, gcc-internal-format + #| msgid "%qD does not have integral or enumeration type" + msgid "%qD does not name an enumeration in %qT" + msgstr "%qD no tiene tipo integral o de enumeración" + +-#: cp/parser.c:18111 ++#: cp/parser.c:18108 + #, fuzzy, gcc-internal-format + #| msgid "% definition is not allowed here" + msgid "unnamed scoped enum is not allowed" + msgstr "la definición % no se permite aquí" + +-#: cp/parser.c:18166 ++#: cp/parser.c:18163 + #, gcc-internal-format + msgid "expected %<;%> or %<{%>" + msgstr "se esperaba %<;%> o %<{%>" + +-#: cp/parser.c:18215 ++#: cp/parser.c:18212 + #, gcc-internal-format + msgid "cannot add an enumerator list to a template instantiation" + msgstr "no se puede agregar una lista de enumerador a una instanciación de plantilla" + +-#: cp/parser.c:18229 ++#: cp/parser.c:18226 + #, fuzzy, gcc-internal-format + #| msgid "friend declaration does not name a class or function" + msgid "nested name specifier %qT for enum declaration does not name a class or namespace" + msgstr "la declaración friend no nombra una clase o función" + +-#: cp/parser.c:18241 cp/parser.c:23070 ++#: cp/parser.c:18238 cp/parser.c:23067 + #, gcc-internal-format + msgid "declaration of %qD in namespace %qD which does not enclose %qD" + msgstr "la declaración de %qD en el espacio de nombres %qD el cual no incluye a %qD" + +-#: cp/parser.c:18246 cp/parser.c:23075 ++#: cp/parser.c:18243 cp/parser.c:23072 + #, gcc-internal-format + msgid "declaration of %qD in %qD which does not enclose %qD" + msgstr "la declaración de %qD en %qD la cual no incluye a %qD" + +-#: cp/parser.c:18258 cp/parser.c:23089 ++#: cp/parser.c:18255 cp/parser.c:23086 + #, gcc-internal-format + msgid "extra qualification not allowed" + msgstr "no se permite la calificación extra" + +-#: cp/parser.c:18282 ++#: cp/parser.c:18279 + #, gcc-internal-format + msgid "multiple definition of %q#T" + msgstr "definición múltiple de %q#T" + +-#: cp/parser.c:18295 ++#: cp/parser.c:18292 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ forbids incrementing an enum" + msgid "ISO C++ forbids empty unnamed enum" + msgstr "ISO C++ prohíbe incrementar un enum" + +-#: cp/parser.c:18315 ++#: cp/parser.c:18312 + #, gcc-internal-format + msgid "opaque-enum-specifier without name" + msgstr "especificador enumerador opaco sin nombre" + +-#: cp/parser.c:18318 ++#: cp/parser.c:18315 + #, gcc-internal-format + msgid "opaque-enum-specifier must use a simple identifier" + msgstr "el especificador enumerador opaco debe usar un identificador simple" + +-#: cp/parser.c:18497 ++#: cp/parser.c:18494 + #, gcc-internal-format + msgid "%qD is not a namespace-name" + msgstr "%qD no es un nombre-de-espacio-de-nombres" + +-#: cp/parser.c:18503 ++#: cp/parser.c:18500 + #, gcc-internal-format + msgid "expected namespace-name" + msgstr "se esperaba un nombre de espacio" + +-#: cp/parser.c:18570 ++#: cp/parser.c:18567 + #, fuzzy, gcc-internal-format + #| msgid "inline namespaces only available with -std=c++11 or -std=gnu++11" + msgid "nested namespace definitions only available with -std=c++17 or -std=gnu++17" + msgstr "los nombres de espacio incluidos en línea sólo están disponibles con -std=c++11 o -std=gnu++11" + +-#: cp/parser.c:18578 ++#: cp/parser.c:18575 + #, fuzzy, gcc-internal-format + #| msgid "expected namespace-name" + msgid "nested namespace name required" + msgstr "se esperaba un nombre de espacio" + +-#: cp/parser.c:18583 ++#: cp/parser.c:18580 + #, fuzzy, gcc-internal-format + #| msgid "namespace %qT undeclared" + msgid "namespace name required" + msgstr "espacio de nombres %qT sin declarar" + +-#: cp/parser.c:18587 ++#: cp/parser.c:18584 + #, fuzzy, gcc-internal-format + #| msgid "Enumerator cannot have attributes %C" + msgid "a nested namespace definition cannot have attributes" + msgstr "El enumerador no puede tener atributos %C" + +-#: cp/parser.c:18590 ++#: cp/parser.c:18587 + #, fuzzy, gcc-internal-format + #| msgid "varargs function cannot be inline" + msgid "a nested namespace definition cannot be inline" + msgstr "la función varargs no puede ser inline" + +-#: cp/parser.c:18597 ++#: cp/parser.c:18594 + #, fuzzy, gcc-internal-format + #| msgid "namespace %qT undeclared" + msgid "namespace %qD entered" + msgstr "espacio de nombres %qT sin declarar" + +-#: cp/parser.c:18652 ++#: cp/parser.c:18649 + #, gcc-internal-format + msgid "% definition is not allowed here" + msgstr "la definición % no se permite aquí" + +-#: cp/parser.c:18803 ++#: cp/parser.c:18800 + #, fuzzy, gcc-internal-format + #| msgid "lambda expressions only available with -std=c++11 or -std=gnu++11" + msgid "pack expansion in using-declaration only available with -std=c++17 or -std=gnu++17" + msgstr "las expresiones lambda sólo están disponibles con -std=c++11 o -std=gnu++11" + +-#: cp/parser.c:18818 ++#: cp/parser.c:18815 + #, gcc-internal-format + msgid "a template-id may not appear in a using-declaration" + msgstr "un id-de-plantilla no puede aparecer en una declaración-using" + +-#: cp/parser.c:18865 ++#: cp/parser.c:18862 + #, fuzzy, gcc-internal-format + #| msgid "lambda expressions only available with -std=c++11 or -std=gnu++11" + msgid "comma-separated list in using-declaration only available with -std=c++17 or -std=gnu++17" + msgstr "las expresiones lambda sólo están disponibles con -std=c++11 o -std=gnu++11" + +-#: cp/parser.c:18875 ++#: cp/parser.c:18872 + #, gcc-internal-format + msgid "access declarations are deprecated in favour of using-declarations; suggestion: add the % keyword" + msgstr "las declaraciones access son obsoletas en favor de las declaraciones using: sugerencia: use la palabra clave %" + +-#: cp/parser.c:18940 ++#: cp/parser.c:18937 + #, gcc-internal-format + msgid "types may not be defined in alias template declarations" + msgstr "no se pueden definir tipos en declaraciones de plantilla alias" + +-#: cp/parser.c:19106 ++#: cp/parser.c:19103 + #, fuzzy, gcc-internal-format + #| msgid "compound-statement in constexpr function" + msgid "% in % function" + msgstr "declaración compuesta en una función constexpr" + +-#: cp/parser.c:19493 ++#: cp/parser.c:19490 + #, gcc-internal-format + msgid "a function-definition is not allowed here" + msgstr "una definición de función no se permite aquí" + +-#: cp/parser.c:19504 ++#: cp/parser.c:19501 + #, gcc-internal-format + msgid "an asm-specification is not allowed on a function-definition" + msgstr "no se permite una especificación-asm en una definición-de-función" + +-#: cp/parser.c:19508 ++#: cp/parser.c:19505 + #, gcc-internal-format + msgid "attributes are not allowed on a function-definition" + msgstr "no se permiten atributos en una definición-de-función" + +-#: cp/parser.c:19559 ++#: cp/parser.c:19556 + #, gcc-internal-format + msgid "expected constructor, destructor, or type conversion" + msgstr "se esperaba un constructor, un destructor, o una conversión de tipo" + + #. Anything else is an error. +-#: cp/parser.c:19598 cp/parser.c:21906 ++#: cp/parser.c:19595 cp/parser.c:21903 + #, gcc-internal-format + msgid "expected initializer" + msgstr "se esperaba un inicializador" + +-#: cp/parser.c:19679 ++#: cp/parser.c:19676 + #, gcc-internal-format + msgid "initializer provided for function" + msgstr "se proporcionó un inicializador para la función" + +-#: cp/parser.c:19713 ++#: cp/parser.c:19710 + #, gcc-internal-format + msgid "attributes after parenthesized initializer ignored" + msgstr "se descartan los atributos después del inicializador entre paréntesis" + +-#: cp/parser.c:19727 ++#: cp/parser.c:19724 + #, fuzzy, gcc-internal-format + #| msgid "function %q+D redeclared as inline" + msgid "non-function %qD declared as implicit template" + msgstr "se redeclara la función %q+D como inline" + +-#: cp/parser.c:20169 ++#: cp/parser.c:20166 + #, gcc-internal-format + msgid "array bound is not an integer constant" + msgstr "el límite de la matriz no es una constante entera" + +-#: cp/parser.c:20295 ++#: cp/parser.c:20292 + #, gcc-internal-format + msgid "cannot define member of dependent typedef %qT" + msgstr "no se puede definir el miembro de la definición de tipo dependiente %qT" + +-#: cp/parser.c:20299 ++#: cp/parser.c:20296 + #, gcc-internal-format + msgid "%<%T::%E%> is not a type" + msgstr "%<%T::%E%> no es un tipo" +@@ -46079,17 +46092,17 @@ + #. here because we do not have enough + #. information about its original syntactic + #. form. +-#: cp/parser.c:20328 ++#: cp/parser.c:20325 + #, gcc-internal-format + msgid "invalid declarator" + msgstr "declarador no válido" + +-#: cp/parser.c:20336 ++#: cp/parser.c:20333 + #, gcc-internal-format + msgid "invalid use of constructor as a template" + msgstr "uso no válido del constructor como una plantilla" + +-#: cp/parser.c:20338 ++#: cp/parser.c:20335 + #, gcc-internal-format + msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name" + msgstr "use %<%T::%D%> en lugar de %<%T::%D%> para nombrar el constructor en un nombre calificado" +@@ -46096,409 +46109,409 @@ + + #. But declarations with qualified-ids can't appear in a + #. function. +-#: cp/parser.c:20410 ++#: cp/parser.c:20407 + #, fuzzy, gcc-internal-format + #| msgid "invalid type in declaration" + msgid "qualified-id in declaration" + msgstr "tipo no válido en la declaración" + +-#: cp/parser.c:20435 ++#: cp/parser.c:20432 + #, gcc-internal-format + msgid "expected declarator" + msgstr "se esperaba un declarador" + +-#: cp/parser.c:20554 ++#: cp/parser.c:20551 + #, gcc-internal-format + msgid "%qD is a namespace" + msgstr "%qD es un espacio de nombres" + +-#: cp/parser.c:20556 ++#: cp/parser.c:20553 + #, gcc-internal-format + msgid "cannot form pointer to member of non-class %q#T" + msgstr "no se puede formar un puntero al miembro de %q#T que no es clase" + +-#: cp/parser.c:20577 ++#: cp/parser.c:20574 + #, gcc-internal-format + msgid "expected ptr-operator" + msgstr "se esperaba un operador puntero" + +-#: cp/parser.c:20638 ++#: cp/parser.c:20635 + #, gcc-internal-format + msgid "duplicate cv-qualifier" + msgstr "calificador-cv duplicado" + +-#: cp/parser.c:20692 ++#: cp/parser.c:20689 + #, fuzzy, gcc-internal-format + #| msgid "multiple `virtual' specifiers" + msgid "multiple ref-qualifiers" + msgstr "especificadores `virtual' múltiples" + +-#: cp/parser.c:20729 ++#: cp/parser.c:20726 + #, fuzzy, gcc-internal-format + #| msgid "--resource requires -o" + msgid "%qE requires %<-fgnu-tm%>" + msgstr "--resource requiere -o" + +-#: cp/parser.c:20787 ++#: cp/parser.c:20784 + #, gcc-internal-format + msgid "duplicate virt-specifier" + msgstr "especificador-virt duplicado" + +-#: cp/parser.c:21025 ++#: cp/parser.c:21022 + #, fuzzy, gcc-internal-format + #| msgid "in template argument for type %qT " + msgid "missing template arguments after %qT" + msgstr "en el argumento de plantilla para el tipo %qT " + +-#: cp/parser.c:21031 cp/typeck2.c:494 cp/typeck2.c:534 cp/typeck2.c:2090 ++#: cp/parser.c:21028 cp/typeck2.c:494 cp/typeck2.c:534 cp/typeck2.c:2093 + #, gcc-internal-format + msgid "invalid use of %qT" + msgstr "uso no válido de %qT" + +-#: cp/parser.c:21052 ++#: cp/parser.c:21049 + #, gcc-internal-format + msgid "types may not be defined in template arguments" + msgstr "no se pueden definir tipos en argumentos de plantilla" + +-#: cp/parser.c:21057 ++#: cp/parser.c:21054 + #, fuzzy, gcc-internal-format + #| msgid "invalid use of '%E' as a non-type template-argument" + msgid "invalid use of % in template argument" + msgstr "uso no válido de '%E' como un argumento de plantilla que no es tipo" + +-#: cp/parser.c:21145 ++#: cp/parser.c:21142 + #, gcc-internal-format + msgid "expected type-specifier" + msgstr "se esperaba un especificador de tipo" + +-#: cp/parser.c:21429 ++#: cp/parser.c:21426 + #, gcc-internal-format + msgid "expected %<,%> or %<...%>" + msgstr "se esperaba %<,%> o %<...%>" + +-#: cp/parser.c:21504 ++#: cp/parser.c:21501 + #, gcc-internal-format + msgid "types may not be defined in parameter types" + msgstr "no se pueden definir tipos en tipos de parámetro" + +-#: cp/parser.c:21678 ++#: cp/parser.c:21675 + #, gcc-internal-format + msgid "default arguments are only permitted for function parameters" + msgstr "los argumentos por defecto sólo se permiten para parámetros de función" + +-#: cp/parser.c:21696 ++#: cp/parser.c:21693 + #, gcc-internal-format + msgid "parameter pack %qD cannot have a default argument" + msgstr "el paquete de parámetros %qD no puede tener un argumento por defecto" + +-#: cp/parser.c:21702 ++#: cp/parser.c:21699 + #, gcc-internal-format + msgid "template parameter pack cannot have a default argument" + msgstr "el paquete de parámetros plantilla no puede tener un argumento por defecto" + +-#: cp/parser.c:21704 ++#: cp/parser.c:21701 + #, gcc-internal-format + msgid "parameter pack cannot have a default argument" + msgstr "el paquete de parámetros no puede tener un argumento por defecto" + +-#: cp/parser.c:22131 ++#: cp/parser.c:22128 + #, fuzzy, gcc-internal-format + #| msgid "extended initializer lists only available with -std=c++11 or -std=gnu++11" + msgid "C++ designated initializers only available with -std=c++2a or -std=gnu++2a" + msgstr "las listas de inicializador extendidas sólo está disponibles con -std=c++11 o -std=gnu++11" + +-#: cp/parser.c:22151 ++#: cp/parser.c:22148 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ does not allow designated initializers" + msgid "ISO C++ does not allow GNU designated initializers" + msgstr "ISO C++ no permite inicializadores designados" + +-#: cp/parser.c:22189 ++#: cp/parser.c:22186 + #, gcc-internal-format + msgid "ISO C++ does not allow C99 designated initializers" + msgstr "ISO C++ no permite inicializadores designados de C99" + +-#: cp/parser.c:22203 ++#: cp/parser.c:22200 + #, gcc-internal-format + msgid "either all initializer clauses should be designated or none of them should be" + msgstr "" + +-#: cp/parser.c:22228 ++#: cp/parser.c:22225 + #, fuzzy, gcc-internal-format + #| msgid "ISO C++ does not allow designated initializers" + msgid "%<...%> not allowed in designated initializer list" + msgstr "ISO C++ no permite inicializadores designados" + +-#: cp/parser.c:22266 ++#: cp/parser.c:22263 + #, gcc-internal-format + msgid "%<.%s%> designator used multiple times in the same initializer list" + msgstr "" + +-#: cp/parser.c:22322 cp/parser.c:22448 ++#: cp/parser.c:22319 cp/parser.c:22445 + #, gcc-internal-format + msgid "expected class-name" + msgstr "se esperaba un nombre de clase" + +-#: cp/parser.c:22650 ++#: cp/parser.c:22647 + #, gcc-internal-format + msgid "expected %<;%> after class definition" + msgstr "se esperaba %<;%> después de la definición de clase" + +-#: cp/parser.c:22653 ++#: cp/parser.c:22650 + #, gcc-internal-format + msgid "expected %<;%> after struct definition" + msgstr "se esperaba %<;%> después de la definición de struct" + +-#: cp/parser.c:22656 ++#: cp/parser.c:22653 + #, gcc-internal-format + msgid "expected %<;%> after union definition" + msgstr "se esperaba %<;%> después de la definición de union" + +-#: cp/parser.c:23012 ++#: cp/parser.c:23009 + #, gcc-internal-format + msgid "expected %<{%> or %<:%>" + msgstr "se esperaba %<{%> o %<:%>" + +-#: cp/parser.c:23023 ++#: cp/parser.c:23020 + #, gcc-internal-format + msgid "cannot specify % for a class" + msgstr "no se puede especificar % para una clase" + +-#: cp/parser.c:23031 ++#: cp/parser.c:23028 + #, gcc-internal-format + msgid "global qualification of class name is invalid" + msgstr "la calificación global del nombre de clase es no válida" + +-#: cp/parser.c:23038 ++#: cp/parser.c:23035 + #, gcc-internal-format + msgid "qualified name does not name a class" + msgstr "el nombre calificado no nombra una clase" + +-#: cp/parser.c:23050 ++#: cp/parser.c:23047 + #, fuzzy, gcc-internal-format + #| msgid "keyword % not allowed outside of templates" + msgid "keyword % not allowed in class-head-name" + msgstr "no se permite la palabra clave % fuera de las plantillas" + +-#: cp/parser.c:23056 ++#: cp/parser.c:23053 + #, gcc-internal-format + msgid "invalid class name in declaration of %qD" + msgstr "nombre de clase no válido en la declaración de %qD" + +-#: cp/parser.c:23114 ++#: cp/parser.c:23111 + #, gcc-internal-format + msgid "an explicit specialization must be preceded by %